[PATCH 39/39] drm/amd/dal: Configure audio before audio enable (Jack presence Hot Plug)
Harry Wentland
harry.wentland at amd.com
Thu Nov 24 02:03:08 UTC 2016
From: Reza Amini <reza.amini at amd.com>
Change-Id: Iec19ac35466f0762f305d167e961d72543f58ef7
Signed-off-by: Reza Amini <reza.amini at amd.com>
Acked-by: Harry Wentland <harry.wentland at amd.com>
---
.../drm/amd/dal/dc/dce110/dce110_hw_sequencer.c | 48 +++++++++++-----------
1 file changed, 23 insertions(+), 25 deletions(-)
diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c
index 484840efe58d..1a682996b531 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c
@@ -1284,32 +1284,22 @@ enum dc_status dce110_apply_ctx_to_hw(
if (pipe_ctx->top_pipe)
continue;
- status = apply_single_controller_ctx_to_hw(
- pipe_ctx,
- context,
- dc);
-
- if (DC_OK != status)
- return status;
- }
-
- /* 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++) {
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;
struct pipe_ctx *pipe_ctx = &context->res_ctx.pipe_ctx[i];
@@ -1342,6 +1332,14 @@ enum dc_status dce110_apply_ctx_to_hw(
programmed_audio_dto = true;
}
}
+
+ status = apply_single_controller_ctx_to_hw(
+ pipe_ctx,
+ context,
+ dc);
+
+ if (DC_OK != status)
+ return status;
}
dc->hwss.set_displaymarks(dc, context);
--
2.10.1
More information about the amd-gfx
mailing list