aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
diff options
context:
space:
mode:
authorLeo Li <sunpeng.li@amd.com>2022-08-30 16:38:16 -0400
committerAlex Deucher <alexander.deucher@amd.com>2022-09-19 15:09:34 -0400
commit22c42b0ec225c92db33e4b3045ad15baf1427cff (patch)
tree135a3e81ec6e5d295d0806ac2276e206651b3aa2 /drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
parent82bf0f18ce99edfae2e5b4f753e6b2e774ee6226 (diff)
drm/amd/display: Fix double cursor on non-video RGB MPO
[Why] DC makes use of layer_index (zpos) when picking the HW plane to enable HW cursor on. However, some compositors will not attach zpos information to each DRM plane. Consequently, in amdgpu, we default layer_index to 0 and do not update it. This causes said DC logic to enable HW cursor on all planes of the same layer_index, which manifests as a double cursor issue if one of the planes is scaled (and hence scaling the cursor as well). [How] Use DRM core helpers to calculate a normalized_zpos value for each drm_plane_state under each crtc, within the atomic state. This helper will first consider existing zpos values, and if identical/unset, fallback to plane ID ordering. The normalized_zpos is then passed to dc_plane_info during atomic check for later use by the cursor logic. Reviewed-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> Acked-by: Wayne Lin <wayne.lin@amd.com> Signed-off-by: Leo Li <sunpeng.li@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c')
0 files changed, 0 insertions, 0 deletions