]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amd/display: Fix PSR command version passed
authorMikita Lipski <mikita.lipski@amd.com>
Tue, 2 Apr 2024 23:22:42 +0000 (17:22 -0600)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 17 Apr 2024 01:27:01 +0000 (21:27 -0400)
[why]
Driver was passing a wrong command version which to DMCUB which caused
the DMCUB to treat it as 0, so it wouldn't support dual eDP and would
override the panel index to 0 instead of choosing between 0/1.

[how]
Use DMUB_CMD_PSR_CONTROL_VERSION_1 instead of PSR_VERSION_1.

Reviewed-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Mikita Lipski <mikita.lipski@amd.com>
Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@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.c

index 01c75b66e8f17c84d2ef9f172d77bc5409648d6a..8eefba757da488eac968d867f92487915c1fe8aa 100644 (file)
@@ -3446,6 +3446,7 @@ void dc_dmub_update_dirty_rect(struct dc *dc,
                if (srf_updates[i].surface->flip_immediate)
                        continue;
 
+               update_dirty_rect->cmd_version = DMUB_CMD_PSR_CONTROL_VERSION_1;
                update_dirty_rect->dirty_rect_count = flip_addr->dirty_rect_count;
                memcpy(update_dirty_rect->src_dirty_rects, flip_addr->dirty_rects,
                                sizeof(flip_addr->dirty_rects));