diff options
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0206-drm-amd-display-Audio-is-not-switching-to-DP-when-HD.patch')
-rw-r--r-- | meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0206-drm-amd-display-Audio-is-not-switching-to-DP-when-HD.patch | 149 |
1 files changed, 0 insertions, 149 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0206-drm-amd-display-Audio-is-not-switching-to-DP-when-HD.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0206-drm-amd-display-Audio-is-not-switching-to-DP-when-HD.patch deleted file mode 100644 index 0cb3eb68..00000000 --- a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0206-drm-amd-display-Audio-is-not-switching-to-DP-when-HD.patch +++ /dev/null @@ -1,149 +0,0 @@ -From 4da85df542f098673fa8aa11441b060b126c11f8 Mon Sep 17 00:00:00 2001 -From: Hersen Wu <hersenxs.wu@amd.com> -Date: Wed, 8 Feb 2017 11:28:33 -0500 -Subject: [PATCH 0206/4131] drm/amd/display: Audio is not switching to DP when - HDMI/DP hot plug/unplug - -Signed-off-by: Hersen Wu <hersenxs.wu@amd.com> -Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> -Acked-by: Harry Wentland <Harry.Wentland@amd.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> ---- - .../amd/display/dc/dce110/dce110_hw_sequencer.c | 100 +++++++++++++++------ - 1 file changed, 75 insertions(+), 25 deletions(-) - -diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c -index 5e99f6c..6a5cec0 100644 ---- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c -+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c -@@ -1732,7 +1732,6 @@ enum dc_status dce110_apply_ctx_to_hw( - struct dc_bios *dcb = dc->ctx->dc_bios; - enum dc_status status; - int i; -- bool programmed_audio_dto = false; - enum dm_pp_clocks_state clocks_state = DM_PP_CLOCKS_STATE_INVALID; - - /* Reset old context */ -@@ -1782,6 +1781,80 @@ enum dc_status dce110_apply_ctx_to_hw( - context->res_ctx.pool->display_clock, - context->dispclk_khz * 115 / 100); - -+ /* program audio wall clock. use HDMI as clock source if HDMI -+ * audio active. Otherwise, use DP as clock source -+ * first, loop to find any HDMI audio, if not, loop find DP audio -+ */ -+ /* Setup audio rate clock source */ -+ /* Issue: -+ * Audio lag happened on DP monitor when unplug a HDMI monitor -+ * -+ * Cause: -+ * In case of DP and HDMI connected or HDMI only, DCCG_AUDIO_DTO_SEL -+ * is set to either dto0 or dto1, audio should work fine. -+ * In case of DP connected only, DCCG_AUDIO_DTO_SEL should be dto1, -+ * set to dto0 will cause audio lag. -+ * -+ * Solution: -+ * Not optimized audio wall dto setup. When mode set, iterate pipe_ctx, -+ * find first available pipe with audio, setup audio wall DTO per topology -+ * instead of per pipe. -+ */ -+ for (i = 0; i < context->res_ctx.pool->pipe_count; i++) { -+ struct pipe_ctx *pipe_ctx = &context->res_ctx.pipe_ctx[i]; -+ -+ if (pipe_ctx->stream == NULL) -+ continue; -+ -+ if (pipe_ctx->top_pipe) -+ continue; -+ -+ if (pipe_ctx->stream->signal != SIGNAL_TYPE_HDMI_TYPE_A) -+ continue; -+ -+ if (pipe_ctx->audio != NULL) { -+ struct audio_output audio_output; -+ -+ build_audio_output(pipe_ctx, &audio_output); -+ -+ pipe_ctx->audio->funcs->wall_dto_setup( -+ pipe_ctx->audio, -+ pipe_ctx->stream->signal, -+ &audio_output.crtc_info, -+ &audio_output.pll_info); -+ break; -+ } -+ } -+ -+ /* no HDMI audio is found, try DP audio */ -+ if (i == context->res_ctx.pool->pipe_count) { -+ for (i = 0; i < context->res_ctx.pool->pipe_count; i++) { -+ struct pipe_ctx *pipe_ctx = &context->res_ctx.pipe_ctx[i]; -+ -+ if (pipe_ctx->stream == NULL) -+ continue; -+ -+ if (pipe_ctx->top_pipe) -+ continue; -+ -+ if (!dc_is_dp_signal(pipe_ctx->stream->signal)) -+ continue; -+ -+ if (pipe_ctx->audio != NULL) { -+ struct audio_output audio_output; -+ -+ build_audio_output(pipe_ctx, &audio_output); -+ -+ pipe_ctx->audio->funcs->wall_dto_setup( -+ pipe_ctx->audio, -+ pipe_ctx->stream->signal, -+ &audio_output.crtc_info, -+ &audio_output.pll_info); -+ break; -+ } -+ } -+ } -+ - for (i = 0; i < context->res_ctx.pool->pipe_count; i++) { - struct pipe_ctx *pipe_ctx_old = - &dc->current_context->res_ctx.pipe_ctx[i]; -@@ -1797,21 +1870,7 @@ enum dc_status dce110_apply_ctx_to_hw( - continue; - - if (context->res_ctx.pipe_ctx[i].audio != NULL) { -- /* Setup audio rate clock source */ -- /* Issue: -- * Audio lag happened on DP monitor when unplug a HDMI monitor -- * -- * Cause: -- * In case of DP and HDMI connected or HDMI only, DCCG_AUDIO_DTO_SEL -- * is set to either dto0 or dto1, audio should work fine. -- * In case of DP connected only, DCCG_AUDIO_DTO_SEL should be dto1, -- * set to dto0 will cause audio lag. -- * -- * Solution: -- * Not optimized audio wall dto setup. When mode set, iterate pipe_ctx, -- * find first available pipe with audio, setup audio wall DTO per topology -- * instead of per pipe. -- */ -+ - struct audio_output audio_output; - - build_audio_output(pipe_ctx, &audio_output); -@@ -1833,15 +1892,6 @@ enum dc_status dce110_apply_ctx_to_hw( - pipe_ctx->stream->signal, - &audio_output.crtc_info, - &pipe_ctx->stream->public.audio_info); -- -- if (!programmed_audio_dto) { -- pipe_ctx->audio->funcs->wall_dto_setup( -- pipe_ctx->audio, -- pipe_ctx->stream->signal, -- &audio_output.crtc_info, -- &audio_output.pll_info); -- programmed_audio_dto = true; -- } - } - - status = apply_single_controller_ctx_to_hw( --- -2.7.4 - |