linux-xiaomi-chiron/drivers/gpu/drm/amd/display/amdgpu_dm
Leo Li b261509952 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>
2022-09-21 17:18:15 -04:00
..
amdgpu_dm.c drm/amd/display: Fix double cursor on non-video RGB MPO 2022-09-21 17:18:15 -04:00
amdgpu_dm.h drm/amd/display: Add tags for indicating mst progress status 2022-07-20 16:04:42 -04:00
amdgpu_dm_color.c drm/amd: fix improper docstring syntax 2021-12-13 16:32:34 -05:00
amdgpu_dm_crc.c drm/amd/display: add connector type check for CRC source set 2021-12-01 17:08:47 -05:00
amdgpu_dm_crc.h drm/amd/display: Refactor suspend/resume of Secure display 2021-05-19 22:39:16 -04:00
amdgpu_dm_crtc.c drm/amd/display: Copy crc_skip_count when duplicating CRTC state 2022-07-25 17:18:08 -04:00
amdgpu_dm_crtc.h drm/amd/display: Create a file dedicated for CRTC 2022-07-25 09:31:01 -04:00
amdgpu_dm_debugfs.c drm/amd/display: fix memory leak when using debugfs_lookup() 2022-09-07 22:51:38 -04:00
amdgpu_dm_debugfs.h drm/amd/display: Move connector debugfs to drm 2022-05-23 11:27:44 +03:00
amdgpu_dm_hdcp.c drm/amd/display: Reboot while unplug hdcp enabled dp from mst hub 2022-07-25 17:15:50 -04:00
amdgpu_dm_hdcp.h drm/amdgpu/display: remove hdcp_srm sysfs on device removal 2021-02-18 16:43:08 -05:00
amdgpu_dm_helpers.c drm/amd/display: fix signedness bug in execute_synaptics_rc_command() 2022-07-28 16:05:16 -04:00
amdgpu_dm_irq.c drm/amd/display: do not disable an invalid irq source in hdp finish 2022-05-10 17:53:12 -04:00
amdgpu_dm_irq.h drm/amd/display: Support for DMUB AUX 2021-05-10 18:06:44 -04:00
amdgpu_dm_irq_params.h drm/amd/display: Use vblank control events for PSR enable/disable 2021-08-16 15:35:56 -04:00
amdgpu_dm_mst_types.c drm/amd/display: Add tags for indicating mst progress status 2022-07-20 16:04:42 -04:00
amdgpu_dm_mst_types.h drm/amd/display: add mst port output bw check 2022-06-21 18:17:23 -04:00
amdgpu_dm_plane.c drm/amd/display: Include missing header 2022-08-19 17:06:55 -04:00
amdgpu_dm_plane.h drm/amd/display: Include missing header 2022-08-19 17:06:55 -04:00
amdgpu_dm_pp_smu.c drm/amd/pm: create a new holder for those APIs used only by legacy ASICs(si/kv) 2022-01-14 17:51:14 -05:00
amdgpu_dm_psr.c drm/amd/display: Implement MPO PSR SU 2022-06-06 14:42:59 -04:00
amdgpu_dm_psr.h drm/amd/display: Delay PSR entry 2021-06-21 17:45:14 -04:00
amdgpu_dm_services.c drm/amd/display: Decouple amdgpu_dm_trace from service 2020-10-26 13:33:59 -04:00
amdgpu_dm_trace.h drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
dc_fpu.c drm/amd/display: Re-arrange FPU code structure for dcn2x 2021-10-06 15:49:24 -04:00
dc_fpu.h drm/amd/display: Add DC_FP helper to check FPU state 2021-08-05 21:17:59 -04:00
Makefile drm/amd/display: Create a file dedicated for CRTC 2022-07-25 09:31:01 -04:00