linux/drivers/gpu/drm/amd/display
Nicholas Kazlauskas b5b6d62515 drm/amd/display: Workaround register access in idle race with cursor
[Why]
Cursor update can be pre-empted by a request for setting target flip
submission.

This causes an issue where we're in the middle of the exit sequence
trying to log to DM, but the pre-emption starts another DMCUB
command submission that requires being out of idle.

The DC lock aqusition can fail, and depending on the DM/OS interface
it's possible that the function inserted into this thread must not fail.

This means that lock aqusition must be skipped and exit *must* occur.

[How]
Modify when we consider idle as active. Consider it exited only once
the exit has fully finished.

Consider it as entered prior to actual notification.

Since we're on the same core/thread the cached values are coherent
and we'll see that we still need to exit. Once the cursor update resumes
it'll continue doing the double exit but this won't cause a functional
issue, just a (potential) redundant operation.

Reviewed-by: Duncan Ma <duncan.ma@amd.com>
Acked-by: Wayne Lin <wayne.lin@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2024-03-20 13:38:15 -04:00
..
amdgpu_dm drm/amd/display: Fix function banner for amdgpu_dm_psr_disable_all() 2024-03-20 13:37:36 -04:00
dc drm/amd/display: Workaround register access in idle race with cursor 2024-03-20 13:38:15 -04:00
dmub drm/amd/display: [FW Promotion] Release 0.0.208.0 2024-03-20 13:38:15 -04:00
include drm/amd/display: Add comments to v_total calculation and drop legacy TODO 2024-03-20 13:37:38 -04:00
modules drm/amd/display: Remove wrong signal from vrr calculation 2024-03-20 13:38:11 -04:00
Kconfig drm/amd/display: Allow building DC with clang on RISC-V 2023-07-21 16:52:25 -04:00
Makefile drm/amd/display: Refactor DPP into a component directory 2024-03-20 13:37:37 -04:00