From 1a941929a4163a147764711f6bfe2ad9f3614abb Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 2 Nov 2020 14:38:34 +0100 Subject: [PATCH] drm: Use the state pointer directly in atomic_check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Now that atomic_check takes the global atomic state as a parameter, we don't need to go through the pointer in the CRTC state. This was done using the following coccinelle script: @ crtc_atomic_func @ identifier helpers; identifier func; @@ static struct drm_crtc_helper_funcs helpers = { ..., .atomic_check = func, ..., }; @@ identifier crtc_atomic_func.func; identifier crtc, state; @@ func(struct drm_crtc *crtc, struct drm_atomic_state *state) { ... - struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state, crtc); ... when != crtc_state - crtc_state->state + state ... } @@ struct drm_crtc_state *crtc_state; identifier crtc_atomic_func.func; identifier crtc, state; @@ func(struct drm_crtc *crtc, struct drm_atomic_state *state) { ... - crtc_state->state + state ... } Suggested-by: Ville Syrjälä Signed-off-by: Maxime Ripard Reviewed-by: Ville Syrjälä Link: https://patchwork.freedesktop.org/patch/msgid/20201102133834.1176740-3-maxime@cerno.tech --- drivers/gpu/drm/drm_simple_kms_helper.c | 2 +- drivers/gpu/drm/mxsfb/mxsfb_kms.c | 2 +- drivers/gpu/drm/omapdrm/omap_crtc.c | 2 +- drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 6 +++--- drivers/gpu/drm/vc4/vc4_crtc.c | 2 +- drivers/gpu/drm/xlnx/zynqmp_disp.c | 4 +--- 6 files changed, 8 insertions(+), 10 deletions(-) --- a/drivers/gpu/drm/drm_simple_kms_helper.c +++ b/drivers/gpu/drm/drm_simple_kms_helper.c @@ -97,7 +97,7 @@ static int drm_simple_kms_crtc_check(str if (has_primary != crtc_state->enable) return -EINVAL; - return drm_atomic_add_affected_planes(crtc_state->state, crtc); + return drm_atomic_add_affected_planes(state, crtc); } static void drm_simple_kms_crtc_enable(struct drm_crtc *crtc, --- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c @@ -322,7 +322,7 @@ static int mxsfb_crtc_atomic_check(struc return -EINVAL; /* TODO: Is this needed ? */ - return drm_atomic_add_affected_planes(crtc_state->state, crtc); + return drm_atomic_add_affected_planes(state, crtc); } static void mxsfb_crtc_atomic_flush(struct drm_crtc *crtc, --- a/drivers/gpu/drm/omapdrm/omap_crtc.c +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c @@ -583,7 +583,7 @@ static int omap_crtc_atomic_check(struct return -EINVAL; } - pri_state = drm_atomic_get_new_plane_state(crtc_state->state, + pri_state = drm_atomic_get_new_plane_state(state, crtc->primary); if (pri_state) { struct omap_crtc_state *omap_crtc_state = --- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c @@ -677,9 +677,9 @@ static int tilcdc_crtc_atomic_check(stru if (!crtc_state->active) return 0; - if (crtc_state->state->planes[0].ptr != crtc->primary || - crtc_state->state->planes[0].state == NULL || - crtc_state->state->planes[0].state->crtc != crtc) { + if (state->planes[0].ptr != crtc->primary || + state->planes[0].state == NULL || + state->planes[0].state->crtc != crtc) { dev_dbg(crtc->dev->dev, "CRTC primary plane must be present"); return -EINVAL; } --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c @@ -650,7 +650,7 @@ static int vc4_crtc_atomic_check(struct if (ret) return ret; - for_each_new_connector_in_state(crtc_state->state, conn, conn_state, + for_each_new_connector_in_state(state, conn, conn_state, i) { if (conn_state->crtc != crtc) continue; --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c @@ -1508,9 +1508,7 @@ zynqmp_disp_crtc_atomic_disable(struct d static int zynqmp_disp_crtc_atomic_check(struct drm_crtc *crtc, struct drm_atomic_state *state) { - struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state, - crtc); - return drm_atomic_add_affected_planes(crtc_state->state, crtc); + return drm_atomic_add_affected_planes(state, crtc); } static void