linux-stable/drivers/gpu/drm/sti
Maxime Ripard 37418bf14c
drm: Use state helper instead of the plane state pointer
Many drivers reference the plane->state pointer in order to get the
current plane state in their atomic_update or atomic_disable hooks,
which would be the new plane state in the global atomic state since
_swap_state happened when those hooks are run.

Use the drm_atomic_get_new_plane_state helper to get that state to make it
more obvious.

This was made using the coccinelle script below:

@ plane_atomic_func @
identifier helpers;
identifier func;
@@

(
 static const struct drm_plane_helper_funcs helpers = {
 	...,
 	.atomic_disable = func,
	...,
 };
|
 static const struct drm_plane_helper_funcs helpers = {
 	...,
 	.atomic_update = func,
	...,
 };
)

@ adds_new_state @
identifier plane_atomic_func.func;
identifier plane, state;
identifier new_state;
@@

 func(struct drm_plane *plane, struct drm_atomic_state *state)
 {
 	...
-	struct drm_plane_state *new_state = plane->state;
+	struct drm_plane_state *new_state = drm_atomic_get_new_plane_state(state, plane);
	...
 }

@ include depends on adds_new_state @
@@

 #include <drm/drm_atomic.h>

@ no_include depends on !include && adds_new_state @
@@

+ #include <drm/drm_atomic.h>
  #include <drm/...>

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://lore.kernel.org/r/20210219120032.260676-1-maxime@cerno.tech
2021-02-25 08:05:28 +01:00
..
Kconfig
Makefile
NOTES
sti_awg_utils.c
sti_awg_utils.h
sti_compositor.c drm/sti: remove use of drm_debugfs functions as return values 2020-03-18 16:24:08 +01:00
sti_compositor.h drm/sti: remove use of drm_debugfs functions as return values 2020-03-18 16:24:08 +01:00
sti_crtc.c drm/atomic: Pass the full state to CRTC atomic begin and flush 2020-11-02 12:37:49 +01:00
sti_crtc.h
sti_cursor.c drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
sti_cursor.h
sti_drv.c drm/<drivers>: Constify struct drm_driver 2020-11-06 10:31:26 +01:00
sti_drv.h
sti_dvo.c drm: Remove unnecessary drm_panel_attach and drm_panel_detach 2020-08-08 09:06:33 +02:00
sti_gdp.c drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
sti_gdp.h
sti_hda.c drm: Nuke mode->vrefresh 2020-05-27 14:31:42 +03:00
sti_hdmi.c drm/sti/sti_hdmi: Move 'colorspace_mode_names' array to where its used 2020-11-12 20:32:53 +01:00
sti_hdmi.h drm/sti/sti_hdmi: Move 'colorspace_mode_names' array to where its used 2020-11-12 20:32:53 +01:00
sti_hdmi_tx3g4c28phy.c
sti_hdmi_tx3g4c28phy.h
sti_hqvdp.c drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
sti_hqvdp_lut.h
sti_mixer.c drm/sti: remove use of drm_debugfs functions as return values 2020-03-18 16:24:08 +01:00
sti_mixer.h drm/sti: remove use of drm_debugfs functions as return values 2020-03-18 16:24:08 +01:00
sti_plane.c
sti_plane.h
sti_tvout.c drm/sti: remove use of drm_debugfs functions as return values 2020-03-18 16:24:08 +01:00
sti_vid.c drm/sti: remove use of drm_debugfs functions as return values 2020-03-18 16:24:08 +01:00
sti_vid.h drm/sti: remove use of drm_debugfs functions as return values 2020-03-18 16:24:08 +01:00
sti_vtg.c
sti_vtg.h