drm/msm/mdp5: use drm atomic helpers to handle base drm plane state
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tue, 25 May 2021 13:13:10 +0000 (16:13 +0300)
committerRob Clark <robdclark@chromium.org>
Wed, 23 Jun 2021 14:33:56 +0000 (07:33 -0700)
Use generic helpers code to manage drm_plane_state part of mdp5_plane
state instead of manually coding all the details.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20210525131316.3117809-2-dmitry.baryshkov@linaro.org
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c

index 8c9f2f4..8c29026 100644 (file)
@@ -176,8 +176,8 @@ static void mdp5_plane_reset(struct drm_plane *plane)
 {
        struct mdp5_plane_state *mdp5_state;
 
-       if (plane->state && plane->state->fb)
-               drm_framebuffer_put(plane->state->fb);
+       if (plane->state)
+               __drm_atomic_helper_plane_destroy_state(plane->state);
 
        kfree(to_mdp5_plane_state(plane->state));
        mdp5_state = kzalloc(sizeof(*mdp5_state), GFP_KERNEL);
@@ -191,9 +191,7 @@ static void mdp5_plane_reset(struct drm_plane *plane)
        else
                mdp5_state->zpos = STAGE0 + drm_plane_index(plane);
 
-       mdp5_state->base.plane = plane;
-
-       plane->state = &mdp5_state->base;
+       __drm_atomic_helper_plane_reset(plane, &mdp5_state->base);
 }
 
 static struct drm_plane_state *