diff mbox

[PATCHv2,39/45] drm: omapdrm: inline omap_plane_setup into update/disable

Message ID 1433408582-9828-40-git-send-email-tomi.valkeinen@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Tomi Valkeinen June 4, 2015, 9:02 a.m. UTC
At the moment we have omap_plane_setup() function which handles both
enabling (and configuring) and disabling the plane. With atomic
modesetting we have separate hooks for plane enable/config and disable.

This patch moves the code from omap_plane_setup() to
omap_plane_atomic_update() and omap_plane_atomic_disable().

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
 drivers/gpu/drm/omapdrm/omap_plane.c | 44 ++++++++++++++----------------------
 1 file changed, 17 insertions(+), 27 deletions(-)

Comments

Laurent Pinchart June 6, 2015, 3:15 a.m. UTC | #1
Hi Tomi,

Thank you for the patch.

On Thursday 04 June 2015 12:02:56 Tomi Valkeinen wrote:
> At the moment we have omap_plane_setup() function which handles both
> enabling (and configuring) and disabling the plane. With atomic
> modesetting we have separate hooks for plane enable/config and disable.
> 
> This patch moves the code from omap_plane_setup() to
> omap_plane_atomic_update() and omap_plane_atomic_disable().
> 
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/omapdrm/omap_plane.c | 44 +++++++++++++--------------------
>  1 file changed, 17 insertions(+), 27 deletions(-)
> 
> diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c
> b/drivers/gpu/drm/omapdrm/omap_plane.c index a8e617f9f2af..b13fb2fd4a9a
> 100644
> --- a/drivers/gpu/drm/omapdrm/omap_plane.c
> +++ b/drivers/gpu/drm/omapdrm/omap_plane.c
> @@ -58,7 +58,22 @@ to_omap_plane_state(struct drm_plane_state *state)
>  	return container_of(state, struct omap_plane_state, base);
>  }
> 
> -static void omap_plane_setup(struct drm_plane *plane)
> +static int omap_plane_prepare_fb(struct drm_plane *plane,
> +				 struct drm_framebuffer *fb,
> +				 const struct drm_plane_state *new_state)
> +{
> +	return omap_framebuffer_pin(fb);
> +}
> +
> +static void omap_plane_cleanup_fb(struct drm_plane *plane,
> +				  struct drm_framebuffer *fb,
> +				  const struct drm_plane_state *old_state)
> +{
> +	omap_framebuffer_unpin(fb);
> +}
> +
> +static void omap_plane_atomic_update(struct drm_plane *plane,
> +				     struct drm_plane_state *old_state)
>  {
>  	struct omap_plane *omap_plane = to_omap_plane(plane);
>  	struct drm_plane_state *state = plane->state;
> @@ -69,11 +84,6 @@ static void omap_plane_setup(struct drm_plane *plane)
> 
>  	DBG("%s, crtc=%p fb=%p", omap_plane->name, state->crtc, state->fb);
> 
> -	if (!state->crtc) {
> -		dispc_ovl_enable(omap_plane->id, false);
> -		return;
> -	}
> -
>  	memset(&info, 0, sizeof(info));
>  	info.rotation_type = OMAP_DSS_ROT_DMA;
>  	info.rotation = OMAP_DSS_ROT_0;
> @@ -128,26 +138,6 @@ static void omap_plane_setup(struct drm_plane *plane)
>  	dispc_ovl_enable(omap_plane->id, true);
>  }
> 
> -static int omap_plane_prepare_fb(struct drm_plane *plane,
> -				 struct drm_framebuffer *fb,
> -				 const struct drm_plane_state *new_state)
> -{
> -	return omap_framebuffer_pin(fb);
> -}
> -
> -static void omap_plane_cleanup_fb(struct drm_plane *plane,
> -				  struct drm_framebuffer *fb,
> -				  const struct drm_plane_state *old_state)
> -{
> -	omap_framebuffer_unpin(fb);
> -}
> -
> -static void omap_plane_atomic_update(struct drm_plane *plane,
> -				     struct drm_plane_state *old_state)
> -{
> -	omap_plane_setup(plane);
> -}
> -
>  static void omap_plane_atomic_disable(struct drm_plane *plane,
>  				      struct drm_plane_state *old_state)
>  {
> @@ -158,7 +148,7 @@ static void omap_plane_atomic_disable(struct drm_plane
> *plane, omap_state->zorder = plane->type == DRM_PLANE_TYPE_PRIMARY
>  			   ? 0 : omap_plane->id;
> 
> -	omap_plane_setup(plane);
> +	dispc_ovl_enable(omap_plane->id, false);
>  }
> 
>  static const struct drm_plane_helper_funcs omap_plane_helper_funcs = {
diff mbox

Patch

diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c
index a8e617f9f2af..b13fb2fd4a9a 100644
--- a/drivers/gpu/drm/omapdrm/omap_plane.c
+++ b/drivers/gpu/drm/omapdrm/omap_plane.c
@@ -58,7 +58,22 @@  to_omap_plane_state(struct drm_plane_state *state)
 	return container_of(state, struct omap_plane_state, base);
 }
 
-static void omap_plane_setup(struct drm_plane *plane)
+static int omap_plane_prepare_fb(struct drm_plane *plane,
+				 struct drm_framebuffer *fb,
+				 const struct drm_plane_state *new_state)
+{
+	return omap_framebuffer_pin(fb);
+}
+
+static void omap_plane_cleanup_fb(struct drm_plane *plane,
+				  struct drm_framebuffer *fb,
+				  const struct drm_plane_state *old_state)
+{
+	omap_framebuffer_unpin(fb);
+}
+
+static void omap_plane_atomic_update(struct drm_plane *plane,
+				     struct drm_plane_state *old_state)
 {
 	struct omap_plane *omap_plane = to_omap_plane(plane);
 	struct drm_plane_state *state = plane->state;
@@ -69,11 +84,6 @@  static void omap_plane_setup(struct drm_plane *plane)
 
 	DBG("%s, crtc=%p fb=%p", omap_plane->name, state->crtc, state->fb);
 
-	if (!state->crtc) {
-		dispc_ovl_enable(omap_plane->id, false);
-		return;
-	}
-
 	memset(&info, 0, sizeof(info));
 	info.rotation_type = OMAP_DSS_ROT_DMA;
 	info.rotation = OMAP_DSS_ROT_0;
@@ -128,26 +138,6 @@  static void omap_plane_setup(struct drm_plane *plane)
 	dispc_ovl_enable(omap_plane->id, true);
 }
 
-static int omap_plane_prepare_fb(struct drm_plane *plane,
-				 struct drm_framebuffer *fb,
-				 const struct drm_plane_state *new_state)
-{
-	return omap_framebuffer_pin(fb);
-}
-
-static void omap_plane_cleanup_fb(struct drm_plane *plane,
-				  struct drm_framebuffer *fb,
-				  const struct drm_plane_state *old_state)
-{
-	omap_framebuffer_unpin(fb);
-}
-
-static void omap_plane_atomic_update(struct drm_plane *plane,
-				     struct drm_plane_state *old_state)
-{
-	omap_plane_setup(plane);
-}
-
 static void omap_plane_atomic_disable(struct drm_plane *plane,
 				      struct drm_plane_state *old_state)
 {
@@ -158,7 +148,7 @@  static void omap_plane_atomic_disable(struct drm_plane *plane,
 	omap_state->zorder = plane->type == DRM_PLANE_TYPE_PRIMARY
 			   ? 0 : omap_plane->id;
 
-	omap_plane_setup(plane);
+	dispc_ovl_enable(omap_plane->id, false);
 }
 
 static const struct drm_plane_helper_funcs omap_plane_helper_funcs = {