diff options
author | Paul Hsieh <[email protected]> | 2022-02-07 11:45:24 +0800 |
---|---|---|
committer | Alex Deucher <[email protected]> | 2022-02-23 14:03:20 -0500 |
commit | e0adbe73d75e46e3665cf0fb30f2cfc00dd78c04 (patch) | |
tree | bc68a0bda6e7381e4aa468b95e7fbcc710282546 | |
parent | f11d9373b61598f6a231dbcc74829c2f11dd567b (diff) |
drm/amd/display: lock/un-lock cursor if odm pipe split used
[Why]
When system resume from sleep, the cursor lock will be reset
to default(lock status). And the cursor programming sequence
doesn't consider about odm pipe split cause cursor can't be
enabled.
[How]
If odm pipe split has been used, lock/un-lock on each pipes.
Reviewed-by: Dmytro Laktyushkin <[email protected]>
Acked-by: Solomon Chiu <[email protected]>
Signed-off-by: Paul Hsieh <[email protected]>
Tested-by: Daniel Wheeler <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c index 263f9891ecbc..dc5fd27b031a 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c @@ -273,6 +273,8 @@ static void program_cursor_attributes( if (!pipe_to_program) { pipe_to_program = pipe_ctx; dc->hwss.cursor_lock(dc, pipe_to_program, true); + if (pipe_to_program->next_odm_pipe) + dc->hwss.cursor_lock(dc, pipe_to_program->next_odm_pipe, true); } dc->hwss.set_cursor_attribute(pipe_ctx); @@ -280,8 +282,11 @@ static void program_cursor_attributes( dc->hwss.set_cursor_sdr_white_level(pipe_ctx); } - if (pipe_to_program) + if (pipe_to_program) { dc->hwss.cursor_lock(dc, pipe_to_program, false); + if (pipe_to_program->next_odm_pipe) + dc->hwss.cursor_lock(dc, pipe_to_program->next_odm_pipe, false); + } } #ifndef TRIM_FSFT |