On Thu, Jan 21, 2021 at 05:35:35PM +0100, Maxime Ripard wrote:
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/...>
Signed-off-by: Maxime Ripard maxime@cerno.tech
Looks great.
Reviewed-by: Ville Syrjälä ville.syrjala@linux.intel.com