mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-03 17:04:50 -04:00
drm/amd/display: Explicitly disable cursor when disabling CRTC
[why] On DCE, the cursor is not being disabled on commits where there is no CRTC or FB enabled. [how] Explicitly disable the cursor in the commit tail only if the pending commit disables the CRTC. Signed-off-by: Victor Lu <victorchengchi.lu@amd.com> Acked-by: Bindu Ramamurthy <bindu.r@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -8049,6 +8049,16 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
|
||||
new_crtc_state->active_changed,
|
||||
new_crtc_state->connectors_changed);
|
||||
|
||||
/* Disable cursor if disabling crtc */
|
||||
if (old_crtc_state->active && !new_crtc_state->active) {
|
||||
struct dc_cursor_position position;
|
||||
|
||||
memset(&position, 0, sizeof(position));
|
||||
mutex_lock(&dm->dc_lock);
|
||||
dc_stream_set_cursor_position(dm_old_crtc_state->stream, &position);
|
||||
mutex_unlock(&dm->dc_lock);
|
||||
}
|
||||
|
||||
/* Copy all transient state flags into dc state */
|
||||
if (dm_new_crtc_state->stream) {
|
||||
amdgpu_dm_crtc_copy_transient_flags(&dm_new_crtc_state->base,
|
||||
|
||||
Reference in New Issue
Block a user