diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0125-drm-amd-display-Handle-HDR-meta-update-as-fast-updat.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/0125-drm-amd-display-Handle-HDR-meta-update-as-fast-updat.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0125-drm-amd-display-Handle-HDR-meta-update-as-fast-updat.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/0125-drm-amd-display-Handle-HDR-meta-update-as-fast-updat.patch new file mode 100644 index 00000000..58635e4f --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/0125-drm-amd-display-Handle-HDR-meta-update-as-fast-updat.patch @@ -0,0 +1,61 @@ +From 77fdc2f1f0b07cdd4f02a5e538a84cc7a2d64532 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 0125/2940] 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 c5453f13d149..d580ae1aa75d 100644 +--- a/drivers/gpu/drm/amd/display/dc/core/dc.c ++++ b/drivers/gpu/drm/amd/display/dc/core/dc.c +@@ -1366,6 +1366,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; +@@ -1392,13 +1399,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.17.1 + |