Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/sysfb: Use new CRTC state in begin_fb_access

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

+1 -1
+1 -1
drivers/gpu/drm/sysfb/drm_sysfb_modeset.c
··· 258 258 259 259 ret = -EINVAL; 260 260 261 - crtc_state = drm_atomic_get_crtc_state(plane_state->state, plane_state->crtc); 261 + crtc_state = drm_atomic_get_new_crtc_state(plane_state->state, plane_state->crtc); 262 262 if (drm_WARN_ON_ONCE(dev, !crtc_state)) 263 263 goto err_drm_gem_end_shadow_fb_access; 264 264 sysfb_crtc_state = to_drm_sysfb_crtc_state(crtc_state);