On 2020-09-21 4:40 p.m., Sasha Levin wrote:
From: Michel Dänzer mdaenzer@redhat.com
[ Upstream commit 2f228aab21bbc74e90e267a721215ec8be51daf7 ]
Don't check drm_crtc_state::active for this either, per its documentation in include/drm/drm_crtc.h:
- Hence drivers must not consult @active in their various
- &drm_mode_config_funcs.atomic_check callback to reject an atomic
- commit.
atomic_remove_fb disables the CRTC as needed for disabling the primary plane.
This prevents at least the following problems if the primary plane gets disabled (e.g. due to destroying the FB assigned to the primary plane, as happens e.g. with mutter in Wayland mode):
- The legacy cursor ioctl returned EINVAL for a non-0 cursor FB ID (which enables the cursor plane).
- If the cursor plane was enabled, changing the legacy DPMS property value from off to on returned EINVAL.
v2:
- Minor changes to code comment and commit log, per review feedback.
GitLab: https://gitlab.gnome.org/GNOME/mutter/-/issues/1108 GitLab: https://gitlab.gnome.org/GNOME/mutter/-/issues/1165 GitLab: https://gitlab.gnome.org/GNOME/mutter/-/issues/1344 Suggested-by: Daniel Vetter daniel.vetter@ffwll.ch Acked-by: Daniel Vetter daniel.vetter@ffwll.ch Reviewed-by: Nicholas Kazlauskas nicholas.kazlauskas@amd.com Signed-off-by: Michel Dänzer mdaenzer@redhat.com Signed-off-by: Alex Deucher alexander.deucher@amd.com Signed-off-by: Sasha Levin sashal@kernel.org
I'm a bit nervous about this getting backported so far back so quickly. I'd prefer waiting for 5.9 final first at least.