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

This hook is called as part of the global atomic_check, thus before the
states are swapped. The existing state thus points to the new state, and
we can use drm_atomic_get_new_crtc_state() instead.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Acked-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://lore.kernel.org/r/20250930-drm-no-more-existing-state-v5-32-eeb9e1287907@kernel.org
Signed-off-by: Maxime Ripard <mripard@kernel.org>
drivers/gpu/drm/vc4/vc4_plane.c

index 056d344c5411db0eae975b0fa52c0de7418306f1..b4a53f68865bc18f6cb1fa92b1057890d3fe0382 100644 (file)
@@ -497,8 +497,7 @@ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state)
        u32 v_subsample = fb->format->vsub;
        int ret;
 
-       crtc_state = drm_atomic_get_existing_crtc_state(state->state,
-                                                       state->crtc);
+       crtc_state = drm_atomic_get_new_crtc_state(state->state, state->crtc);
        if (!crtc_state) {
                DRM_DEBUG_KMS("Invalid crtc state\n");
                return -EINVAL;
@@ -875,8 +874,7 @@ static void vc4_plane_calc_load(struct drm_plane_state *state)
        unsigned int vscale_factor;
 
        vc4_state = to_vc4_plane_state(state);
-       crtc_state = drm_atomic_get_existing_crtc_state(state->state,
-                                                       state->crtc);
+       crtc_state = drm_atomic_get_new_crtc_state(state->state, state->crtc);
        vrefresh = drm_mode_vrefresh(&crtc_state->adjusted_mode);
 
        /* The HVS is able to process 2 pixels/cycle when scaling the source,