Merge tag 'sound-fix-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
[deliverable/linux.git] / drivers / gpu / drm / omapdrm / omap_plane.c
index d5ecabd6c14cfc00f207ab809d42b4b1ee30a8b8..d75b197eff466b278fad743fbc8ac881a74ca16a 100644 (file)
@@ -188,33 +188,6 @@ static const struct drm_plane_helper_funcs omap_plane_helper_funcs = {
        .atomic_disable = omap_plane_atomic_disable,
 };
 
-static void omap_plane_reset(struct drm_plane *plane)
-{
-       struct omap_plane *omap_plane = to_omap_plane(plane);
-       struct omap_plane_state *omap_state;
-
-       if (plane->state && plane->state->fb)
-               drm_framebuffer_unreference(plane->state->fb);
-
-       kfree(plane->state);
-       plane->state = NULL;
-
-       omap_state = kzalloc(sizeof(*omap_state), GFP_KERNEL);
-       if (omap_state == NULL)
-               return;
-
-       /*
-        * Set defaults depending on whether we are a primary or overlay
-        * plane.
-        */
-       omap_state->zorder = plane->type == DRM_PLANE_TYPE_PRIMARY
-                          ? 0 : omap_plane->id;
-       omap_state->base.rotation = BIT(DRM_ROTATE_0);
-
-       plane->state = &omap_state->base;
-       plane->state->plane = plane;
-}
-
 static void omap_plane_destroy(struct drm_plane *plane)
 {
        struct omap_plane *omap_plane = to_omap_plane(plane);
@@ -270,6 +243,32 @@ static void omap_plane_atomic_destroy_state(struct drm_plane *plane,
        kfree(to_omap_plane_state(state));
 }
 
+static void omap_plane_reset(struct drm_plane *plane)
+{
+       struct omap_plane *omap_plane = to_omap_plane(plane);
+       struct omap_plane_state *omap_state;
+
+       if (plane->state) {
+               omap_plane_atomic_destroy_state(plane, plane->state);
+               plane->state = NULL;
+       }
+
+       omap_state = kzalloc(sizeof(*omap_state), GFP_KERNEL);
+       if (omap_state == NULL)
+               return;
+
+       /*
+        * Set defaults depending on whether we are a primary or overlay
+        * plane.
+        */
+       omap_state->zorder = plane->type == DRM_PLANE_TYPE_PRIMARY
+                          ? 0 : omap_plane->id;
+       omap_state->base.rotation = BIT(DRM_ROTATE_0);
+
+       plane->state = &omap_state->base;
+       plane->state->plane = plane;
+}
+
 static int omap_plane_atomic_set_property(struct drm_plane *plane,
                                          struct drm_plane_state *state,
                                          struct drm_property *property,
This page took 0.036821 seconds and 5 git commands to generate.