drm/armada: use __drm_atomic_helper_plane_reset in overlay reset
authorRussell King <rmk+kernel@armlinux.org.uk>
Fri, 25 Jan 2019 09:55:28 +0000 (09:55 +0000)
committerRussell King <rmk+kernel@armlinux.org.uk>
Fri, 17 May 2019 11:16:32 +0000 (12:16 +0100)
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+kernel@armlinux.org.uk>
drivers/gpu/drm/armada/armada_overlay.c

index 8d77064..f830f53 100644 (file)
@@ -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 *