diff options
| author | Maxime Ripard <[email protected]> | 2022-03-31 14:37:43 +0000 |
|---|---|---|
| committer | Maxime Ripard <[email protected]> | 2022-04-06 13:18:01 +0000 |
| commit | d65661ace1880d6c0d4a34770c7b0d54e7675534 (patch) | |
| tree | abcae9e9c6674a2cb680322f18df9b14f0fa0671 /drivers/gpu/drm/lima/lima_sched.c | |
| parent | drm/vc4: hvs: Move the dlist setup to its own function (diff) | |
| download | kernel-d65661ace1880d6c0d4a34770c7b0d54e7675534.tar.gz kernel-d65661ace1880d6c0d4a34770c7b0d54e7675534.zip | |
drm/vc4: kms: Ignore atomic_flush if we're disabled
atomic_flush will be called for each CRTC even if they aren't enabled.
The whole code we have there will thus run without a properly affected
channel, which can then result in all sorts of weird behaviour.
Fortunately, the DRM_PLANE_COMMIT_ACTIVE_ONLY flag will skip the CRTC
atomic_begin and atomic_flush, and the planes atomic_update, if they
aren't enabled.
Our plane atomic_update is a nop, and atomic_begin will copy the current
HVS channel to the vc4_crtc structure for the interrupt handler to
consume, but the handler won't run if the CRTC is disabled. So in the
end, it will only skip our CRTC atomic_flush, which is what we want.
Signed-off-by: Maxime Ripard <[email protected]>
Acked-by: Thomas Zimmermann <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'drivers/gpu/drm/lima/lima_sched.c')
0 files changed, 0 insertions, 0 deletions
