]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
drm: omapdrm: Don't setup planes manually from CRTC .enable()/.disable()
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Wed, 27 May 2015 17:53:57 +0000 (20:53 +0300)
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Fri, 12 Jun 2015 19:52:51 +0000 (22:52 +0300)
Planes setup is handled by the DRM core through the atomic helpers,
there's no need to duplicate the code in the CRTC .enable() and
.disable() operations.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/gpu/drm/omapdrm/omap_crtc.c
drivers/gpu/drm/omapdrm/omap_drv.h
drivers/gpu/drm/omapdrm/omap_plane.c

index 701406e1f0ee89a36c1b6a3e1fc305b1a20617b2..abfafd1600b862d975b8ccce75bf0c8dd5ae34b9 100644 (file)
@@ -391,41 +391,21 @@ static bool omap_crtc_mode_fixup(struct drm_crtc *crtc,
 
 static void omap_crtc_enable(struct drm_crtc *crtc)
 {
-       struct omap_drm_private *priv = crtc->dev->dev_private;
        struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
-       unsigned int i;
 
        DBG("%s", omap_crtc->name);
 
-       /* Enable all planes associated with the CRTC. */
-       for (i = 0; i < priv->num_planes; i++) {
-               struct drm_plane *plane = priv->planes[i];
-
-               if (plane->crtc == crtc)
-                       WARN_ON(omap_plane_setup(plane));
-       }
-
        drm_crtc_vblank_on(crtc);
 }
 
 static void omap_crtc_disable(struct drm_crtc *crtc)
 {
-       struct omap_drm_private *priv = crtc->dev->dev_private;
        struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
-       unsigned int i;
 
        DBG("%s", omap_crtc->name);
 
        omap_crtc_wait_page_flip(crtc);
        drm_crtc_vblank_off(crtc);
-
-       /* Disable all planes associated with the CRTC. */
-       for (i = 0; i < priv->num_planes; i++) {
-               struct drm_plane *plane = priv->planes[i];
-
-               if (plane->crtc == crtc)
-                       WARN_ON(omap_plane_setup(plane));
-       }
 }
 
 static void omap_crtc_mode_set_nofb(struct drm_crtc *crtc)
index bdd54162698f655f3a02ab9ed23e8446b94c2276..0b7a055bf007747cf4984280050914d7d46b8386 100644 (file)
@@ -150,7 +150,6 @@ struct drm_crtc *omap_crtc_init(struct drm_device *dev,
 
 struct drm_plane *omap_plane_init(struct drm_device *dev,
                int id, enum drm_plane_type type);
-int omap_plane_setup(struct drm_plane *plane);
 void omap_plane_install_properties(struct drm_plane *plane,
                struct drm_mode_object *obj);
 
index d18fe106e256acfddb208bfed2852e9bfdf5fce4..448707669690b2f0604873be31b17ea398c432b7 100644 (file)
@@ -58,7 +58,7 @@ to_omap_plane_state(struct drm_plane_state *state)
        return container_of(state, struct omap_plane_state, base);
 }
 
-int omap_plane_setup(struct drm_plane *plane)
+static int omap_plane_setup(struct drm_plane *plane)
 {
        struct omap_plane *omap_plane = to_omap_plane(plane);
        struct drm_plane_state *state = plane->state;