Use the __drm_atomic_helper_plane_reset() helper in the overlay reset
code to ensure that generic features are correctly reset in future.

Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>
---
 drivers/gpu/drm/armada/armada_overlay.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/armada/armada_overlay.c 
b/drivers/gpu/drm/armada/armada_overlay.c
index 8d770641fcc4..f830f53d7adf 100644
--- a/drivers/gpu/drm/armada/armada_overlay.c
+++ b/drivers/gpu/drm/armada/armada_overlay.c
@@ -307,13 +307,10 @@ static void armada_overlay_reset(struct drm_plane *plane)
        if (plane->state)
                __drm_atomic_helper_plane_destroy_state(plane->state);
        kfree(plane->state);
+       plane->state = NULL;
 
        state = kzalloc(sizeof(*state), GFP_KERNEL);
        if (state) {
-               state->base.plane = plane;
-               state->base.color_encoding = DEFAULT_ENCODING;
-               state->base.color_range = DRM_COLOR_YCBCR_LIMITED_RANGE;
-               state->base.rotation = DRM_MODE_ROTATE_0;
                state->colorkey_yr = 0xfefefe00;
                state->colorkey_ug = 0x01010100;
                state->colorkey_vb = 0x01010100;
@@ -323,8 +320,10 @@ static void armada_overlay_reset(struct drm_plane *plane)
                state->brightness = DEFAULT_BRIGHTNESS;
                state->contrast = DEFAULT_CONTRAST;
                state->saturation = DEFAULT_SATURATION;
+               __drm_atomic_helper_plane_reset(plane, &state->base);
+               state->base.color_encoding = DEFAULT_ENCODING;
+               state->base.color_range = DRM_COLOR_YCBCR_LIMITED_RANGE;
        }
-       plane->state = &state->base;
 }
 
 struct drm_plane_state *
-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to