aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4048-drm-amd-display-Update-V_UPDATE-whenever-VSTARTUP-ch.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4048-drm-amd-display-Update-V_UPDATE-whenever-VSTARTUP-ch.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4048-drm-amd-display-Update-V_UPDATE-whenever-VSTARTUP-ch.patch68
1 files changed, 68 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4048-drm-amd-display-Update-V_UPDATE-whenever-VSTARTUP-ch.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4048-drm-amd-display-Update-V_UPDATE-whenever-VSTARTUP-ch.patch
new file mode 100644
index 00000000..2a9f6b39
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4048-drm-amd-display-Update-V_UPDATE-whenever-VSTARTUP-ch.patch
@@ -0,0 +1,68 @@
+From 6c748dfa834d882b61f5aaedddb7b9456f63efb0 Mon Sep 17 00:00:00 2001
+From: Aric Cyr <aric.cyr@amd.com>
+Date: Fri, 6 Sep 2019 16:24:54 -0400
+Subject: [PATCH 4048/4256] drm/amd/display: Update V_UPDATE whenever VSTARTUP
+ changes
+
+[Why]
+If VSTARTUP changes due to bandwidth requirements, we must
+recalculate and update VLINE2 as well for proper flip reporting.
+
+[How]
+After all calls to program_global_sync which reconfigures
+VSTARTUP, also make sure to update V_UPDATE (i.e. VLINE2 on DCNx).
+
+Signed-off-by: Aric Cyr <aric.cyr@amd.com>
+Reviewed-by: Sivapiriyan Kumarasamy <Sivapiriyan.Kumarasamy@amd.com>
+Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 4 +++-
+ drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c | 7 +++++++
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
+index 78dbd17d3573..3b55716bf63b 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
+@@ -2509,8 +2509,10 @@ static void program_all_pipe_in_tree(
+ pipe_ctx->stream_res.tg->funcs->set_vtg_params(
+ pipe_ctx->stream_res.tg, &pipe_ctx->stream->timing);
+
+- dc->hwss.blank_pixel_data(dc, pipe_ctx, blank);
++ if (dc->hwss.setup_vupdate_interrupt)
++ dc->hwss.setup_vupdate_interrupt(pipe_ctx);
+
++ dc->hwss.blank_pixel_data(dc, pipe_ctx, blank);
+ }
+
+ if (pipe_ctx->plane_state != NULL)
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
+index 84aae9c05781..1b4aac185f3f 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
+@@ -1370,6 +1370,9 @@ static void dcn20_program_pipe(
+
+ pipe_ctx->stream_res.tg->funcs->set_vtg_params(
+ pipe_ctx->stream_res.tg, &pipe_ctx->stream->timing);
++
++ if (dc->hwss.setup_vupdate_interrupt)
++ dc->hwss.setup_vupdate_interrupt(pipe_ctx);
+ }
+
+ if (pipe_ctx->update_flags.bits.odm)
+@@ -1581,8 +1584,12 @@ bool dcn20_update_bandwidth(
+
+ pipe_ctx->stream_res.tg->funcs->set_vtg_params(
+ pipe_ctx->stream_res.tg, &pipe_ctx->stream->timing);
++
+ if (pipe_ctx->prev_odm_pipe == NULL)
+ dc->hwss.blank_pixel_data(dc, pipe_ctx, blank);
++
++ if (dc->hwss.setup_vupdate_interrupt)
++ dc->hwss.setup_vupdate_interrupt(pipe_ctx);
+ }
+
+ pipe_ctx->plane_res.hubp->funcs->hubp_setup(
+--
+2.17.1
+