drm/amd/display: Cursor flicker when entering PSRSU
authorRobin Chen <po-tchen@amd.com>
Mon, 8 Aug 2022 02:56:17 +0000 (10:56 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 25 Aug 2022 17:34:40 +0000 (13:34 -0400)
[Why]
The DAL driver may transmit the wrong cursor position to PSRSU
DMUB driver when there are multiple planes.

[How]
Currently the driver apply the HW cursor on the top plane. So we
should only transmit the cursor position on the top plane to
PSRSU DMUB driver.

Reviewed-by: Anthony Koo <Anthony.Koo@amd.com>
Acked-by: Brian Chang <Brian.Chang@amd.com>
Signed-off-by: Robin Chen <po-tchen@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/dcn10/dcn10_hw_sequencer.c

index 5b5d952..37246e9 100644 (file)
@@ -3340,6 +3340,9 @@ static bool dcn10_dmub_should_update_cursor_data(
        if (pipe_ctx->plane_state->address.type == PLN_ADDR_TYPE_VIDEO_PROGRESSIVE)
                return false;
 
+       if (dcn10_can_pipe_disable_cursor(pipe_ctx))
+               return false;
+
        if (pipe_ctx->stream->link->psr_settings.psr_version == DC_PSR_VERSION_SU_1)
                return true;