Re: [PATCH 05/10] drm: Use the state pointer directly in planes atomic_check

Laurent Pinchart
2021-01-15T20:42:41Z

Hi Maxime,

Thank you for the patch.

On Fri, Jan 15, 2021 at 01:56:57PM +0100, Maxime Ripard wrote:
> Now that atomic_check takes the global atomic state as a parameter, we
> don't need to go through the pointer in the plane state.
>
> This was done using the following coccinelle script:
>
> @ plane_atomic_func @
> identifier helpers;
> identifier func;
> @@
>
> static struct drm_plane_helper_funcs helpers = {
> ...,
> .atomic_check = func,
> ...,
> };
>
> @@
> identifier plane_atomic_func.func;
> identifier plane, state;
> identifier plane_state;
> @@
>
> func(struct drm_plane *plane, struct drm_atomic_state *state) {
> ...
> - struct drm_plane_state *plane_state = drm_atomic_get_new_plane_state(state, plane);
> <... when != plane_state
> - plane_state->state
> + state
> ...>
> }
>
> @@
> identifier plane_atomic_func.func;
> identifier plane, state;
> identifier plane_state;
> @@
>
> func(struct drm_plane *plane, struct drm_atomic_state *state) {
> ...
> struct drm_plane_state *plane_state = drm_atomic_get_new_plane_state(state, plane);
> <...
> - plane_state->state
> + state
> ...>
> }
>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---

[snip]

> drivers/gpu/drm/omapdrm/omap_plane.c | 2 +-
> drivers/gpu/drm/xlnx/zynqmp_disp.c | 2 +-

For these, with the small issue below addressed,

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

[snip]

> diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c b/drivers/gpu/drm/xlnx/zynqmp_disp.c
> index b0a3ba528718..d749acc78c85 100644
> --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c
> +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c
> @@ -1152,7 +1152,7 @@ zynqmp_disp_plane_atomic_check(struct drm_plane *plane,
> if (!new_plane_state->crtc)
> return 0;
>
> - crtc_state = drm_atomic_get_crtc_state(new_plane_state->state,
> + crtc_state = drm_atomic_get_crtc_state(state,
> new_plane_state->crtc);

This now holds on a single line.

> if (IS_ERR(crtc_state))
> return PTR_ERR(crtc_state);

[snip]

--
Regards,

Laurent Pinchart