37418bf14c
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 |
||
---|---|---|
.. | ||
exynos7_drm_decon.c | ||
exynos5433_drm_decon.c | ||
exynos_dp.c | ||
exynos_drm_crtc.c | ||
exynos_drm_crtc.h | ||
exynos_drm_dma.c | ||
exynos_drm_dpi.c | ||
exynos_drm_drv.c | ||
exynos_drm_drv.h | ||
exynos_drm_dsi.c | ||
exynos_drm_fb.c | ||
exynos_drm_fb.h | ||
exynos_drm_fbdev.c | ||
exynos_drm_fbdev.h | ||
exynos_drm_fimc.c | ||
exynos_drm_fimd.c | ||
exynos_drm_g2d.c | ||
exynos_drm_g2d.h | ||
exynos_drm_gem.c | ||
exynos_drm_gem.h | ||
exynos_drm_gsc.c | ||
exynos_drm_ipp.c | ||
exynos_drm_ipp.h | ||
exynos_drm_mic.c | ||
exynos_drm_plane.c | ||
exynos_drm_plane.h | ||
exynos_drm_rotator.c | ||
exynos_drm_scaler.c | ||
exynos_drm_vidi.c | ||
exynos_drm_vidi.h | ||
exynos_hdmi.c | ||
exynos_mixer.c | ||
Kconfig | ||
Makefile | ||
regs-decon7.h | ||
regs-decon5433.h | ||
regs-fimc.h | ||
regs-gsc.h | ||
regs-hdmi.h | ||
regs-mixer.h | ||
regs-rotator.h | ||
regs-scaler.h | ||
regs-vp.h |