1 From 1a941929a4163a147764711f6bfe2ad9f3614abb Mon Sep 17 00:00:00 2001
2 From: Maxime Ripard <maxime@cerno.tech>
3 Date: Mon, 2 Nov 2020 14:38:34 +0100
4 Subject: [PATCH] drm: Use the state pointer directly in atomic_check
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
9 Now that atomic_check takes the global atomic state as a parameter, we
10 don't need to go through the pointer in the CRTC state.
12 This was done using the following coccinelle script:
19 static struct drm_crtc_helper_funcs helpers = {
26 identifier crtc_atomic_func.func;
27 identifier crtc, state;
30 func(struct drm_crtc *crtc, struct drm_atomic_state *state) {
32 - struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state, crtc);
33 ... when != crtc_state
40 struct drm_crtc_state *crtc_state;
41 identifier crtc_atomic_func.func;
42 identifier crtc, state;
45 func(struct drm_crtc *crtc, struct drm_atomic_state *state) {
52 Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
53 Signed-off-by: Maxime Ripard <maxime@cerno.tech>
54 Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
55 Link: https://patchwork.freedesktop.org/patch/msgid/20201102133834.1176740-3-maxime@cerno.tech
57 drivers/gpu/drm/drm_simple_kms_helper.c | 2 +-
58 drivers/gpu/drm/mxsfb/mxsfb_kms.c | 2 +-
59 drivers/gpu/drm/omapdrm/omap_crtc.c | 2 +-
60 drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 6 +++---
61 drivers/gpu/drm/vc4/vc4_crtc.c | 2 +-
62 drivers/gpu/drm/xlnx/zynqmp_disp.c | 4 +---
63 6 files changed, 8 insertions(+), 10 deletions(-)
65 --- a/drivers/gpu/drm/drm_simple_kms_helper.c
66 +++ b/drivers/gpu/drm/drm_simple_kms_helper.c
67 @@ -97,7 +97,7 @@ static int drm_simple_kms_crtc_check(str
68 if (has_primary != crtc_state->enable)
71 - return drm_atomic_add_affected_planes(crtc_state->state, crtc);
72 + return drm_atomic_add_affected_planes(state, crtc);
75 static void drm_simple_kms_crtc_enable(struct drm_crtc *crtc,
76 --- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c
77 +++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c
78 @@ -322,7 +322,7 @@ static int mxsfb_crtc_atomic_check(struc
81 /* TODO: Is this needed ? */
82 - return drm_atomic_add_affected_planes(crtc_state->state, crtc);
83 + return drm_atomic_add_affected_planes(state, crtc);
86 static void mxsfb_crtc_atomic_flush(struct drm_crtc *crtc,
87 --- a/drivers/gpu/drm/omapdrm/omap_crtc.c
88 +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
89 @@ -583,7 +583,7 @@ static int omap_crtc_atomic_check(struct
93 - pri_state = drm_atomic_get_new_plane_state(crtc_state->state,
94 + pri_state = drm_atomic_get_new_plane_state(state,
97 struct omap_crtc_state *omap_crtc_state =
98 --- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
99 +++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
100 @@ -677,9 +677,9 @@ static int tilcdc_crtc_atomic_check(stru
101 if (!crtc_state->active)
104 - if (crtc_state->state->planes[0].ptr != crtc->primary ||
105 - crtc_state->state->planes[0].state == NULL ||
106 - crtc_state->state->planes[0].state->crtc != crtc) {
107 + if (state->planes[0].ptr != crtc->primary ||
108 + state->planes[0].state == NULL ||
109 + state->planes[0].state->crtc != crtc) {
110 dev_dbg(crtc->dev->dev, "CRTC primary plane must be present");
113 --- a/drivers/gpu/drm/vc4/vc4_crtc.c
114 +++ b/drivers/gpu/drm/vc4/vc4_crtc.c
115 @@ -650,7 +650,7 @@ static int vc4_crtc_atomic_check(struct
119 - for_each_new_connector_in_state(crtc_state->state, conn, conn_state,
120 + for_each_new_connector_in_state(state, conn, conn_state,
122 if (conn_state->crtc != crtc)
124 --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c
125 +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c
126 @@ -1507,9 +1507,7 @@ zynqmp_disp_crtc_atomic_disable(struct d
127 static int zynqmp_disp_crtc_atomic_check(struct drm_crtc *crtc,
128 struct drm_atomic_state *state)
130 - struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state,
132 - return drm_atomic_add_affected_planes(crtc_state->state, crtc);
133 + return drm_atomic_add_affected_planes(state, crtc);