drm/amd/display: Indicate stream change on ODM change
authorChris Park <chris.park@amd.com>
Fri, 17 Jun 2022 17:21:16 +0000 (13:21 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 5 Jul 2022 20:14:11 +0000 (16:14 -0400)
[Why]
With ODM policy 2 to 1, there exists a new use case
scenario where stream content is unchanged, but ODM
may be used.  When this happens, the stream needs
to be committed with a new pipe setting.
This did not happen due to stream change
detection logic not accounting for ODM.

[How]
Set ODM flag in stream and commit stream when change
in ODM has been detected due to policy change.

Reviewed-by: Samson Tam <Samson.Tam@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Chris Park <chris.park@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_resource.c
drivers/gpu/drm/amd/display/dc/dc_stream.h

index b67fdb31f75f30af74104b86f30f88da5f02271c..3d45f6cae1f72a5cfd4197c5cde9cd2b1b7ed466 100644 (file)
@@ -1702,6 +1702,9 @@ bool dc_is_stream_unchanged(
        if (memcmp(&old_stream->audio_info, &stream->audio_info, sizeof(stream->audio_info)) != 0)
                return false;
 
+       if (old_stream->odm_2to1_policy_applied != stream->odm_2to1_policy_applied)
+               return false;
+
        return true;
 }
 
index 2a2f719587ee0fa788f5e4f33cdeccb5ab035b2e..c3d97206ed89f62d41c2935c4b38d5f1cebdb127 100644 (file)
@@ -276,6 +276,8 @@ struct dc_stream_state {
        bool has_non_synchronizable_pclk;
        bool vblank_synchronized;
        struct mall_stream_config mall_stream_config;
+
+       bool odm_2to1_policy_applied;
 };
 
 #define ABM_LEVEL_IMMEDIATE_DISABLE 255