]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/framebuffer: Switch to drm_atomic_get_new_crtc_state()
authorMaxime Ripard <mripard@kernel.org>
Tue, 30 Sep 2025 10:59:49 +0000 (12:59 +0200)
committerMaxime Ripard <mripard@kernel.org>
Mon, 6 Oct 2025 11:59:21 +0000 (13:59 +0200)
The atomic_remove_fb() function uses the deprecated
drm_atomic_get_existing_crtc_state() helper.

Despite its name, this function builds and commit a new
drm_atomic_state, and the call to drm_atomic_get_existing_crtc_state()
is part of the state building, thus happening before the states are
swapped.

As such, the existing state points to the new state, and we can use
drm_atomic_get_new_crtc_state() instead.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://lore.kernel.org/r/20250930-drm-no-more-existing-state-v5-34-eeb9e1287907@kernel.org
Signed-off-by: Maxime Ripard <mripard@kernel.org>
drivers/gpu/drm/drm_framebuffer.c

index adbb73f00d68b8fb7c1d99a4209d5b4e91ec5f8d..18e753ade0011b87d0728bdb27d26ea37d75c213 100644 (file)
@@ -1048,7 +1048,7 @@ retry:
                                    plane_state->crtc->base.id,
                                    plane_state->crtc->name, fb->base.id);
 
-                       crtc_state = drm_atomic_get_existing_crtc_state(state, plane_state->crtc);
+                       crtc_state = drm_atomic_get_new_crtc_state(state, plane_state->crtc);
 
                        ret = drm_atomic_add_affected_connectors(state, plane_state->crtc);
                        if (ret)