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

drm/framebuffer: Switch to drm_atomic_get_new_crtc_state()

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>

+1 -1
+1 -1
drivers/gpu/drm/drm_framebuffer.c
··· 1048 1048 plane_state->crtc->base.id, 1049 1049 plane_state->crtc->name, fb->base.id); 1050 1050 1051 - crtc_state = drm_atomic_get_existing_crtc_state(state, plane_state->crtc); 1051 + crtc_state = drm_atomic_get_new_crtc_state(state, plane_state->crtc); 1052 1052 1053 1053 ret = drm_atomic_add_affected_connectors(state, plane_state->crtc); 1054 1054 if (ret)