aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/5162-drm-amd-display-Handle-HDR-meta-update-as-fast-updat.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/5162-drm-amd-display-Handle-HDR-meta-update-as-fast-updat.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/5162-drm-amd-display-Handle-HDR-meta-update-as-fast-updat.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/5162-drm-amd-display-Handle-HDR-meta-update-as-fast-updat.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/5162-drm-amd-display-Handle-HDR-meta-update-as-fast-updat.patch
new file mode 100644
index 00000000..ae039e8a
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/5162-drm-amd-display-Handle-HDR-meta-update-as-fast-updat.patch
@@ -0,0 +1,61 @@
+From 79acfc05bf1bb97415f8d2fba64d137ff74c21a5 Mon Sep 17 00:00:00 2001
+From: Krunoslav Kovac <Krunoslav.Kovac@amd.com>
+Date: Thu, 5 Jul 2018 19:23:17 -0400
+Subject: [PATCH 5162/5725] drm/amd/display: Handle HDR meta update as fast
+ update
+
+[Why]
+Vesa DPMS tool sends different HDR meta in OS flips without changing output
+parameters. We don't properly update HDR info frame:
+- we label HDR meta update as fast update
+- when updating HW info frame, we only do it if full update
+
+[How]
+It should still be fast update, so when doing HW infoframe update,
+do it always no matter the update type.
+Also, don't request passive flip for HDR meta update only without output
+transfer function or color space changed.
+
+Signed-off-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com>
+Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
+Acked-by: Leo Li <sunpeng.li@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/core/dc.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
+index e484676..5b079dc 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
+@@ -1372,6 +1372,13 @@ static void commit_planes_do_stream_update(struct dc *dc,
+ pipe_ctx->stream_res.tg, &pipe_ctx->stream->timing,
+ pipe_ctx->stream->periodic_fn_vsync_delta);
+
++ if (stream_update->hdr_static_metadata ||
++ stream_update->vrr_infopacket ||
++ stream_update->vsc_infopacket) {
++ resource_build_info_frame(pipe_ctx);
++ dc->hwss.update_info_frame(pipe_ctx);
++ }
++
+ /* Full fe update*/
+ if (update_type == UPDATE_TYPE_FAST)
+ continue;
+@@ -1398,13 +1405,6 @@ static void commit_planes_do_stream_update(struct dc *dc,
+ pipe_ctx->stream_res.abm->funcs->set_abm_level(
+ pipe_ctx->stream_res.abm, stream->abm_level);
+ }
+-
+- if (stream_update->hdr_static_metadata ||
+- stream_update->vrr_infopacket ||
+- stream_update->vsc_infopacket) {
+- resource_build_info_frame(pipe_ctx);
+- dc->hwss.update_info_frame(pipe_ctx);
+- }
+ }
+ }
+ }
+--
+2.7.4
+