]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/amd/display: Rework context change check
authorRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Tue, 18 Oct 2022 12:28:16 +0000 (08:28 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Aug 2023 08:23:51 +0000 (10:23 +0200)
[ Upstream commit 10fdb0a11c555e0d6f7698d2874581d06e99ee71 ]

Context change is all about streams; for this reason, this commit
renames context_changed to streams_changed. Additionally, to make this
function more flexible, this commit changes the function signature to
receive the stream array and the stream count as a parameter.

Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Co-developed-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Stable-dep-of: 59de751e3845 ("drm/amd/display: add ODM case when looking for first split pipe")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/dc/core/dc.c

index beb2d7f103c582bc8392f7b3c213240e0af0eff0..226c17e78d3e1adb306ab4fdaabd5d6948ccf8b6 100644 (file)
@@ -1505,19 +1505,19 @@ static void program_timing_sync(
        }
 }
 
-static bool context_changed(
-               struct dc *dc,
-               struct dc_state *context)
+static bool streams_changed(struct dc *dc,
+                           struct dc_stream_state *streams[],
+                           uint8_t stream_count)
 {
        uint8_t i;
 
-       if (context->stream_count != dc->current_state->stream_count)
+       if (stream_count != dc->current_state->stream_count)
                return true;
 
        for (i = 0; i < dc->current_state->stream_count; i++) {
-               if (dc->current_state->streams[i] != context->streams[i])
+               if (dc->current_state->streams[i] != streams[i])
                        return true;
-               if (!context->streams[i]->link->link_state_valid)
+               if (!streams[i]->link->link_state_valid)
                        return true;
        }
 
@@ -1918,7 +1918,7 @@ bool dc_commit_state(struct dc *dc, struct dc_state *context)
        enum dc_status result = DC_ERROR_UNEXPECTED;
        int i;
 
-       if (!context_changed(dc, context))
+       if (!streams_changed(dc, context->streams, context->stream_count))
                return DC_OK;
 
        DC_LOG_DC("%s: %d streams\n",