Lines Matching full:audio

126 static void dp_audio_stream_sdp(struct dp_audio_private *audio)  in dp_audio_stream_sdp()  argument
128 struct dp_catalog *catalog = audio->catalog; in dp_audio_stream_sdp()
140 drm_dbg_dp(audio->drm_dev, in dp_audio_stream_sdp()
153 drm_dbg_dp(audio->drm_dev, in dp_audio_stream_sdp()
164 new_value = audio->channels - 1; in dp_audio_stream_sdp()
168 drm_dbg_dp(audio->drm_dev, in dp_audio_stream_sdp()
176 static void dp_audio_timestamp_sdp(struct dp_audio_private *audio) in dp_audio_timestamp_sdp() argument
178 struct dp_catalog *catalog = audio->catalog; in dp_audio_timestamp_sdp()
190 drm_dbg_dp(audio->drm_dev, in dp_audio_timestamp_sdp()
204 drm_dbg_dp(audio->drm_dev, in dp_audio_timestamp_sdp()
218 drm_dbg_dp(audio->drm_dev, in dp_audio_timestamp_sdp()
225 static void dp_audio_infoframe_sdp(struct dp_audio_private *audio) in dp_audio_infoframe_sdp() argument
227 struct dp_catalog *catalog = audio->catalog; in dp_audio_infoframe_sdp()
239 drm_dbg_dp(audio->drm_dev, in dp_audio_infoframe_sdp()
253 drm_dbg_dp(audio->drm_dev, in dp_audio_infoframe_sdp()
267 drm_dbg_dp(audio->drm_dev, in dp_audio_infoframe_sdp()
274 static void dp_audio_copy_management_sdp(struct dp_audio_private *audio) in dp_audio_copy_management_sdp() argument
276 struct dp_catalog *catalog = audio->catalog; in dp_audio_copy_management_sdp()
288 drm_dbg_dp(audio->drm_dev, in dp_audio_copy_management_sdp()
302 drm_dbg_dp(audio->drm_dev, in dp_audio_copy_management_sdp()
316 drm_dbg_dp(audio->drm_dev, in dp_audio_copy_management_sdp()
323 static void dp_audio_isrc_sdp(struct dp_audio_private *audio) in dp_audio_isrc_sdp() argument
325 struct dp_catalog *catalog = audio->catalog; in dp_audio_isrc_sdp()
337 drm_dbg_dp(audio->drm_dev, in dp_audio_isrc_sdp()
351 drm_dbg_dp(audio->drm_dev, in dp_audio_isrc_sdp()
358 static void dp_audio_setup_sdp(struct dp_audio_private *audio) in dp_audio_setup_sdp() argument
360 dp_catalog_audio_config_sdp(audio->catalog); in dp_audio_setup_sdp()
362 dp_audio_stream_sdp(audio); in dp_audio_setup_sdp()
363 dp_audio_timestamp_sdp(audio); in dp_audio_setup_sdp()
364 dp_audio_infoframe_sdp(audio); in dp_audio_setup_sdp()
365 dp_audio_copy_management_sdp(audio); in dp_audio_setup_sdp()
366 dp_audio_isrc_sdp(audio); in dp_audio_setup_sdp()
369 static void dp_audio_setup_acr(struct dp_audio_private *audio) in dp_audio_setup_acr() argument
372 struct dp_catalog *catalog = audio->catalog; in dp_audio_setup_acr()
374 switch (audio->dp_audio.bw_code) { in dp_audio_setup_acr()
388 drm_dbg_dp(audio->drm_dev, "Unknown link rate\n"); in dp_audio_setup_acr()
397 static void dp_audio_safe_to_exit_level(struct dp_audio_private *audio) in dp_audio_safe_to_exit_level() argument
399 struct dp_catalog *catalog = audio->catalog; in dp_audio_safe_to_exit_level()
402 switch (audio->dp_audio.lane_count) { in dp_audio_safe_to_exit_level()
414 drm_dbg_dp(audio->drm_dev, in dp_audio_safe_to_exit_level()
424 static void dp_audio_enable(struct dp_audio_private *audio, bool enable) in dp_audio_enable() argument
426 struct dp_catalog *catalog = audio->catalog; in dp_audio_enable()
431 audio->engine_on = enable; in dp_audio_enable()
514 struct dp_audio_private *audio; in dp_audio_hw_params() local
524 * unclocked access as the audio subsystem relies on the DP in dp_audio_hw_params()
534 audio = dp_audio_get_data(pdev); in dp_audio_hw_params()
535 if (IS_ERR(audio)) { in dp_audio_hw_params()
536 rc = PTR_ERR(audio); in dp_audio_hw_params()
540 audio->channels = params->channels; in dp_audio_hw_params()
542 dp_audio_setup_sdp(audio); in dp_audio_hw_params()
543 dp_audio_setup_acr(audio); in dp_audio_hw_params()
544 dp_audio_safe_to_exit_level(audio); in dp_audio_hw_params()
545 dp_audio_enable(audio, true); in dp_audio_hw_params()
555 struct dp_audio_private *audio; in dp_audio_shutdown() local
561 audio = dp_audio_get_data(pdev); in dp_audio_shutdown()
562 if (IS_ERR(audio)) { in dp_audio_shutdown()
563 DRM_ERROR("failed to get audio data\n"); in dp_audio_shutdown()
568 * if audio was not enabled there is no need in dp_audio_shutdown()
571 * access when audio subsystem calls this without DP being in dp_audio_shutdown()
578 dp_audio_enable(audio, false); in dp_audio_shutdown()
629 struct dp_audio_private *audio; in dp_audio_get() local
638 audio = devm_kzalloc(&pdev->dev, sizeof(*audio), GFP_KERNEL); in dp_audio_get()
639 if (!audio) { in dp_audio_get()
644 audio->pdev = pdev; in dp_audio_get()
645 audio->panel = panel; in dp_audio_get()
646 audio->catalog = catalog; in dp_audio_get()
648 dp_audio = &audio->dp_audio; in dp_audio_get()
659 struct dp_audio_private *audio; in dp_audio_put() local
664 audio = container_of(dp_audio, struct dp_audio_private, dp_audio); in dp_audio_put()
666 devm_kfree(&audio->pdev->dev, audio); in dp_audio_put()