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 <[email protected]>
Fixes: cb71de092553 ("drm/sysfb: Lookup blit function during atomic check")
Reported-by: Ville Syrjälä <[email protected]>
Closes: https://lore.kernel.org/dri-devel/[email protected]/
Cc: Thomas Zimmermann <[email protected]>
Cc: Javier Martinez Canillas <[email protected]>
Cc: [email protected]
---
 drivers/gpu/drm/sysfb/drm_sysfb_modeset.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/sysfb/drm_sysfb_modeset.c 
b/drivers/gpu/drm/sysfb/drm_sysfb_modeset.c
index 8517c490e815..6214b7709b37 100644
--- a/drivers/gpu/drm/sysfb/drm_sysfb_modeset.c
+++ b/drivers/gpu/drm/sysfb/drm_sysfb_modeset.c
@@ -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);
-- 
2.51.0

Reply via email to