From: Krunoslav Kovac <[email protected]>

[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.

Change-Id: I666566c887d3a5c33bcdd2d1950c0a50c7e845bf
Signed-off-by: Krunoslav Kovac <[email protected]>
Reviewed-by: Tony Cheng <[email protected]>
Acked-by: Leo Li <[email protected]>
---
 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 f02d92c..8fbe586 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -1345,6 +1345,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;
@@ -1371,13 +1378,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

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to