]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/sysfb: Use new CRTC state in begin_fb_access
authorThomas Zimmermann <tzimmermann@suse.de>
Mon, 20 Oct 2025 12:52:02 +0000 (14:52 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Thu, 23 Oct 2025 08:36:14 +0000 (10:36 +0200)
Retrieve the CRTC's new state with drm_atomic_get_new_crtc_state()
in drm_sysfb_plane_helper_begin_fb_access(). The blit function might
be incorrect otherwise.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: cb71de092553 ("drm/sysfb: Lookup blit function during atomic check")
Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Closes: https://lore.kernel.org/dri-devel/aPJrs7_u8KcalNsC@intel.com/
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Javier Martinez Canillas <javierm@redhat.com>
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://lore.kernel.org/r/20251020125227.41308-1-tzimmermann@suse.de
drivers/gpu/drm/sysfb/drm_sysfb_modeset.c

index 8517c490e81549e11c688ac44ff0f8f146f54f09..6214b7709b379e1a1e28c7300f37a3fc85d6befc 100644 (file)
@@ -258,7 +258,7 @@ int drm_sysfb_plane_helper_begin_fb_access(struct drm_plane *plane,
 
        ret = -EINVAL;
 
-       crtc_state = drm_atomic_get_crtc_state(plane_state->state, plane_state->crtc);
+       crtc_state = drm_atomic_get_new_crtc_state(plane_state->state, plane_state->crtc);
        if (drm_WARN_ON_ONCE(dev, !crtc_state))
                goto err_drm_gem_end_shadow_fb_access;
        sysfb_crtc_state = to_drm_sysfb_crtc_state(crtc_state);