Lines Matching full:audio

32 static void msm_dp_audio_stream_sdp(struct msm_dp_audio_private *audio)  in msm_dp_audio_stream_sdp()  argument
38 .HB3 = audio->channels - 1, in msm_dp_audio_stream_sdp()
41 msm_dp_catalog_write_audio_stream(audio->catalog, &sdp_hdr); in msm_dp_audio_stream_sdp()
44 static void msm_dp_audio_timestamp_sdp(struct msm_dp_audio_private *audio) in msm_dp_audio_timestamp_sdp() argument
53 msm_dp_catalog_write_audio_timestamp(audio->catalog, &sdp_hdr); in msm_dp_audio_timestamp_sdp()
56 static void msm_dp_audio_infoframe_sdp(struct msm_dp_audio_private *audio) in msm_dp_audio_infoframe_sdp() argument
65 msm_dp_catalog_write_audio_infoframe(audio->catalog, &sdp_hdr); in msm_dp_audio_infoframe_sdp()
68 static void msm_dp_audio_copy_management_sdp(struct msm_dp_audio_private *audio) in msm_dp_audio_copy_management_sdp() argument
77 msm_dp_catalog_write_audio_copy_mgmt(audio->catalog, &sdp_hdr); in msm_dp_audio_copy_management_sdp()
80 static void msm_dp_audio_isrc_sdp(struct msm_dp_audio_private *audio) in msm_dp_audio_isrc_sdp() argument
89 msm_dp_catalog_write_audio_isrc(audio->catalog, &sdp_hdr); in msm_dp_audio_isrc_sdp()
92 static void msm_dp_audio_setup_sdp(struct msm_dp_audio_private *audio) in msm_dp_audio_setup_sdp() argument
94 msm_dp_catalog_audio_config_sdp(audio->catalog); in msm_dp_audio_setup_sdp()
96 msm_dp_audio_stream_sdp(audio); in msm_dp_audio_setup_sdp()
97 msm_dp_audio_timestamp_sdp(audio); in msm_dp_audio_setup_sdp()
98 msm_dp_audio_infoframe_sdp(audio); in msm_dp_audio_setup_sdp()
99 msm_dp_audio_copy_management_sdp(audio); in msm_dp_audio_setup_sdp()
100 msm_dp_audio_isrc_sdp(audio); in msm_dp_audio_setup_sdp()
103 static void msm_dp_audio_setup_acr(struct msm_dp_audio_private *audio) in msm_dp_audio_setup_acr() argument
106 struct msm_dp_catalog *catalog = audio->catalog; in msm_dp_audio_setup_acr()
108 switch (audio->msm_dp_audio.bw_code) { in msm_dp_audio_setup_acr()
122 drm_dbg_dp(audio->drm_dev, "Unknown link rate\n"); in msm_dp_audio_setup_acr()
130 static void msm_dp_audio_safe_to_exit_level(struct msm_dp_audio_private *audio) in msm_dp_audio_safe_to_exit_level() argument
132 struct msm_dp_catalog *catalog = audio->catalog; in msm_dp_audio_safe_to_exit_level()
135 switch (audio->msm_dp_audio.lane_count) { in msm_dp_audio_safe_to_exit_level()
147 drm_dbg_dp(audio->drm_dev, in msm_dp_audio_safe_to_exit_level()
156 static void msm_dp_audio_enable(struct msm_dp_audio_private *audio, bool enable) in msm_dp_audio_enable() argument
158 struct msm_dp_catalog *catalog = audio->catalog; in msm_dp_audio_enable()
245 struct msm_dp_audio_private *audio; in msm_dp_audio_hw_params() local
255 * unclocked access as the audio subsystem relies on the DP in msm_dp_audio_hw_params()
265 audio = msm_dp_audio_get_data(pdev); in msm_dp_audio_hw_params()
266 if (IS_ERR(audio)) { in msm_dp_audio_hw_params()
267 rc = PTR_ERR(audio); in msm_dp_audio_hw_params()
271 audio->channels = params->channels; in msm_dp_audio_hw_params()
273 msm_dp_audio_setup_sdp(audio); in msm_dp_audio_hw_params()
274 msm_dp_audio_setup_acr(audio); in msm_dp_audio_hw_params()
275 msm_dp_audio_safe_to_exit_level(audio); in msm_dp_audio_hw_params()
276 msm_dp_audio_enable(audio, true); in msm_dp_audio_hw_params()
286 struct msm_dp_audio_private *audio; in msm_dp_audio_shutdown() local
292 audio = msm_dp_audio_get_data(pdev); in msm_dp_audio_shutdown()
293 if (IS_ERR(audio)) { in msm_dp_audio_shutdown()
294 DRM_ERROR("failed to get audio data\n"); in msm_dp_audio_shutdown()
299 * if audio was not enabled there is no need in msm_dp_audio_shutdown()
302 * access when audio subsystem calls this without DP being in msm_dp_audio_shutdown()
309 msm_dp_audio_enable(audio, false); in msm_dp_audio_shutdown()
359 struct msm_dp_audio_private *audio; in msm_dp_audio_get() local
368 audio = devm_kzalloc(&pdev->dev, sizeof(*audio), GFP_KERNEL); in msm_dp_audio_get()
369 if (!audio) { in msm_dp_audio_get()
374 audio->pdev = pdev; in msm_dp_audio_get()
375 audio->catalog = catalog; in msm_dp_audio_get()
377 msm_dp_audio = &audio->msm_dp_audio; in msm_dp_audio_get()
386 struct msm_dp_audio_private *audio; in msm_dp_audio_put() local
391 audio = container_of(msm_dp_audio, struct msm_dp_audio_private, msm_dp_audio); in msm_dp_audio_put()
393 devm_kfree(&audio->pdev->dev, audio); in msm_dp_audio_put()