diff mbox

drm: add missing ctx argument to plane transitional helpers

Message ID E1fa1Zr-0005gT-VF@rmk-PC.armlinux.org.uk (mailing list archive)
State Not Applicable, archived
Delegated to: Andy Gross
Headers show

Commit Message

Russell King (Oracle) July 2, 2018, 4:21 p.m. UTC
In commits:
34a2ab5e0689 ("drm: Add acquire ctx parameter to ->update_plane")
1931529448bc ("drm: Add acquire ctx parameter to ->plane_disable")

a pointer to a drm_modeset_acquire_ctx structure was added as an
argument to the method prototypes.  The transitional helpers are
supposed to be directly plugged in as implementations of these
methods, but doing so generates a warning.  Add the missing
argument.

A number of buggy users were added for drm_plane_helper_disable()
which need to be fixed up for this change, which we do by passing
a NULL ctx argument.

Fixes: 1931529448bc ("drm: Add acquire ctx parameter to ->plane_disable")
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
---
Note: not build for all the affected drivers yet.

 drivers/gpu/drm/arc/arcpgu_crtc.c          | 2 +-
 drivers/gpu/drm/arm/hdlcd_crtc.c           | 2 +-
 drivers/gpu/drm/drm_plane_helper.c         | 8 ++++++--
 drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c | 2 +-
 drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c | 2 +-
 drivers/gpu/drm/sti/sti_cursor.c           | 2 +-
 drivers/gpu/drm/sti/sti_gdp.c              | 2 +-
 drivers/gpu/drm/sti/sti_hqvdp.c            | 2 +-
 drivers/gpu/drm/vc4/vc4_plane.c            | 2 +-
 drivers/gpu/drm/zte/zx_plane.c             | 2 +-
 include/drm/drm_plane_helper.h             | 6 ++++--
 11 files changed, 19 insertions(+), 13 deletions(-)

Comments

Daniel Vetter July 3, 2018, 7:32 a.m. UTC | #1
On Mon, Jul 02, 2018 at 05:21:23PM +0100, Russell King wrote:
> In commits:
> 34a2ab5e0689 ("drm: Add acquire ctx parameter to ->update_plane")
> 1931529448bc ("drm: Add acquire ctx parameter to ->plane_disable")
> 
> a pointer to a drm_modeset_acquire_ctx structure was added as an
> argument to the method prototypes.  The transitional helpers are
> supposed to be directly plugged in as implementations of these
> methods, but doing so generates a warning.  Add the missing
> argument.
> 
> A number of buggy users were added for drm_plane_helper_disable()
> which need to be fixed up for this change, which we do by passing
> a NULL ctx argument.
> 
> Fixes: 1931529448bc ("drm: Add acquire ctx parameter to ->plane_disable")
> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
> ---
> Note: not build for all the affected drivers yet.

Did build just fine, so I applied it and pushed it out. I think Gustavo
will do another drm-misc-next pull later this week, so next week it should
be all in drm-next for you to do an armada pull against.

Thanks, Daniel

> 
>  drivers/gpu/drm/arc/arcpgu_crtc.c          | 2 +-
>  drivers/gpu/drm/arm/hdlcd_crtc.c           | 2 +-
>  drivers/gpu/drm/drm_plane_helper.c         | 8 ++++++--
>  drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c | 2 +-
>  drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c | 2 +-
>  drivers/gpu/drm/sti/sti_cursor.c           | 2 +-
>  drivers/gpu/drm/sti/sti_gdp.c              | 2 +-
>  drivers/gpu/drm/sti/sti_hqvdp.c            | 2 +-
>  drivers/gpu/drm/vc4/vc4_plane.c            | 2 +-
>  drivers/gpu/drm/zte/zx_plane.c             | 2 +-
>  include/drm/drm_plane_helper.h             | 6 ++++--
>  11 files changed, 19 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/gpu/drm/arc/arcpgu_crtc.c b/drivers/gpu/drm/arc/arcpgu_crtc.c
> index c3349b8fb58b..965cda48dc13 100644
> --- a/drivers/gpu/drm/arc/arcpgu_crtc.c
> +++ b/drivers/gpu/drm/arc/arcpgu_crtc.c
> @@ -186,7 +186,7 @@ static const struct drm_plane_helper_funcs arc_pgu_plane_helper_funcs = {
>  
>  static void arc_pgu_plane_destroy(struct drm_plane *plane)
>  {
> -	drm_plane_helper_disable(plane);
> +	drm_plane_helper_disable(plane, NULL);
>  	drm_plane_cleanup(plane);
>  }
>  
> diff --git a/drivers/gpu/drm/arm/hdlcd_crtc.c b/drivers/gpu/drm/arm/hdlcd_crtc.c
> index cf5cbd63ecdf..f3f08cd6e9ef 100644
> --- a/drivers/gpu/drm/arm/hdlcd_crtc.c
> +++ b/drivers/gpu/drm/arm/hdlcd_crtc.c
> @@ -282,7 +282,7 @@ static const struct drm_plane_helper_funcs hdlcd_plane_helper_funcs = {
>  
>  static void hdlcd_plane_destroy(struct drm_plane *plane)
>  {
> -	drm_plane_helper_disable(plane);
> +	drm_plane_helper_disable(plane, NULL);
>  	drm_plane_cleanup(plane);
>  }
>  
> diff --git a/drivers/gpu/drm/drm_plane_helper.c b/drivers/gpu/drm/drm_plane_helper.c
> index 2010794943bc..621f17643bb0 100644
> --- a/drivers/gpu/drm/drm_plane_helper.c
> +++ b/drivers/gpu/drm/drm_plane_helper.c
> @@ -440,6 +440,7 @@ int drm_plane_helper_commit(struct drm_plane *plane,
>   * @src_y: y offset of @fb for panning
>   * @src_w: width of source rectangle in @fb
>   * @src_h: height of source rectangle in @fb
> + * @ctx: lock acquire context, not used here
>   *
>   * Provides a default plane update handler using the atomic plane update
>   * functions. It is fully left to the driver to check plane constraints and
> @@ -455,7 +456,8 @@ int drm_plane_helper_update(struct drm_plane *plane, struct drm_crtc *crtc,
>  			    int crtc_x, int crtc_y,
>  			    unsigned int crtc_w, unsigned int crtc_h,
>  			    uint32_t src_x, uint32_t src_y,
> -			    uint32_t src_w, uint32_t src_h)
> +			    uint32_t src_w, uint32_t src_h,
> +			    struct drm_modeset_acquire_ctx *ctx)
>  {
>  	struct drm_plane_state *plane_state;
>  
> @@ -489,6 +491,7 @@ EXPORT_SYMBOL(drm_plane_helper_update);
>  /**
>   * drm_plane_helper_disable() - Transitional helper for plane disable
>   * @plane: plane to disable
> + * @ctx: lock acquire context, not used here
>   *
>   * Provides a default plane disable handler using the atomic plane update
>   * functions. It is fully left to the driver to check plane constraints and
> @@ -499,7 +502,8 @@ EXPORT_SYMBOL(drm_plane_helper_update);
>   * RETURNS:
>   * Zero on success, error code on failure
>   */
> -int drm_plane_helper_disable(struct drm_plane *plane)
> +int drm_plane_helper_disable(struct drm_plane *plane,
> +			     struct drm_modeset_acquire_ctx *ctx)
>  {
>  	struct drm_plane_state *plane_state;
>  	struct drm_framebuffer *old_fb;
> diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c
> index 7b641fa6dc4d..79ff653d8081 100644
> --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c
> +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c
> @@ -68,7 +68,7 @@ static void mdp4_plane_destroy(struct drm_plane *plane)
>  {
>  	struct mdp4_plane *mdp4_plane = to_mdp4_plane(plane);
>  
> -	drm_plane_helper_disable(plane);
> +	drm_plane_helper_disable(plane, NULL);
>  	drm_plane_cleanup(plane);
>  
>  	kfree(mdp4_plane);
> diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c
> index c4f115fe96ff..7d306c5acd09 100644
> --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c
> +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c
> @@ -46,7 +46,7 @@ static void mdp5_plane_destroy(struct drm_plane *plane)
>  {
>  	struct mdp5_plane *mdp5_plane = to_mdp5_plane(plane);
>  
> -	drm_plane_helper_disable(plane);
> +	drm_plane_helper_disable(plane, NULL);
>  	drm_plane_cleanup(plane);
>  
>  	kfree(mdp5_plane);
> diff --git a/drivers/gpu/drm/sti/sti_cursor.c b/drivers/gpu/drm/sti/sti_cursor.c
> index df0a282b9615..57b870e1e696 100644
> --- a/drivers/gpu/drm/sti/sti_cursor.c
> +++ b/drivers/gpu/drm/sti/sti_cursor.c
> @@ -332,7 +332,7 @@ static void sti_cursor_destroy(struct drm_plane *drm_plane)
>  {
>  	DRM_DEBUG_DRIVER("\n");
>  
> -	drm_plane_helper_disable(drm_plane);
> +	drm_plane_helper_disable(drm_plane, NULL);
>  	drm_plane_cleanup(drm_plane);
>  }
>  
> diff --git a/drivers/gpu/drm/sti/sti_gdp.c b/drivers/gpu/drm/sti/sti_gdp.c
> index 49813d34bdf0..c32de6cbf061 100644
> --- a/drivers/gpu/drm/sti/sti_gdp.c
> +++ b/drivers/gpu/drm/sti/sti_gdp.c
> @@ -883,7 +883,7 @@ static void sti_gdp_destroy(struct drm_plane *drm_plane)
>  {
>  	DRM_DEBUG_DRIVER("\n");
>  
> -	drm_plane_helper_disable(drm_plane);
> +	drm_plane_helper_disable(drm_plane, NULL);
>  	drm_plane_cleanup(drm_plane);
>  }
>  
> diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c
> index 106be8c4e58b..03ac3b4a4469 100644
> --- a/drivers/gpu/drm/sti/sti_hqvdp.c
> +++ b/drivers/gpu/drm/sti/sti_hqvdp.c
> @@ -1260,7 +1260,7 @@ static void sti_hqvdp_destroy(struct drm_plane *drm_plane)
>  {
>  	DRM_DEBUG_DRIVER("\n");
>  
> -	drm_plane_helper_disable(drm_plane);
> +	drm_plane_helper_disable(drm_plane, NULL);
>  	drm_plane_cleanup(drm_plane);
>  }
>  
> diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c
> index 8604fd2e7c5a..9d7a36f148cf 100644
> --- a/drivers/gpu/drm/vc4/vc4_plane.c
> +++ b/drivers/gpu/drm/vc4/vc4_plane.c
> @@ -902,7 +902,7 @@ static const struct drm_plane_helper_funcs vc4_plane_helper_funcs = {
>  
>  static void vc4_plane_destroy(struct drm_plane *plane)
>  {
> -	drm_plane_helper_disable(plane);
> +	drm_plane_helper_disable(plane, NULL);
>  	drm_plane_cleanup(plane);
>  }
>  
> diff --git a/drivers/gpu/drm/zte/zx_plane.c b/drivers/gpu/drm/zte/zx_plane.c
> index d1931f5ea0b2..ae8c53b4b261 100644
> --- a/drivers/gpu/drm/zte/zx_plane.c
> +++ b/drivers/gpu/drm/zte/zx_plane.c
> @@ -446,7 +446,7 @@ static const struct drm_plane_helper_funcs zx_gl_plane_helper_funcs = {
>  
>  static void zx_plane_destroy(struct drm_plane *plane)
>  {
> -	drm_plane_helper_disable(plane);
> +	drm_plane_helper_disable(plane, NULL);
>  	drm_plane_cleanup(plane);
>  }
>  
> diff --git a/include/drm/drm_plane_helper.h b/include/drm/drm_plane_helper.h
> index 28d7ce620729..26cee2934781 100644
> --- a/include/drm/drm_plane_helper.h
> +++ b/include/drm/drm_plane_helper.h
> @@ -67,8 +67,10 @@ int drm_plane_helper_update(struct drm_plane *plane, struct drm_crtc *crtc,
>  			    int crtc_x, int crtc_y,
>  			    unsigned int crtc_w, unsigned int crtc_h,
>  			    uint32_t src_x, uint32_t src_y,
> -			    uint32_t src_w, uint32_t src_h);
> -int drm_plane_helper_disable(struct drm_plane *plane);
> +			    uint32_t src_w, uint32_t src_h,
> +			    struct drm_modeset_acquire_ctx *ctx);
> +int drm_plane_helper_disable(struct drm_plane *plane,
> +			     struct drm_modeset_acquire_ctx *ctx);
>  
>  /* For use by drm_crtc_helper.c */
>  int drm_plane_helper_commit(struct drm_plane *plane,
> -- 
> 2.7.4
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/arc/arcpgu_crtc.c b/drivers/gpu/drm/arc/arcpgu_crtc.c
index c3349b8fb58b..965cda48dc13 100644
--- a/drivers/gpu/drm/arc/arcpgu_crtc.c
+++ b/drivers/gpu/drm/arc/arcpgu_crtc.c
@@ -186,7 +186,7 @@  static const struct drm_plane_helper_funcs arc_pgu_plane_helper_funcs = {
 
 static void arc_pgu_plane_destroy(struct drm_plane *plane)
 {
-	drm_plane_helper_disable(plane);
+	drm_plane_helper_disable(plane, NULL);
 	drm_plane_cleanup(plane);
 }
 
diff --git a/drivers/gpu/drm/arm/hdlcd_crtc.c b/drivers/gpu/drm/arm/hdlcd_crtc.c
index cf5cbd63ecdf..f3f08cd6e9ef 100644
--- a/drivers/gpu/drm/arm/hdlcd_crtc.c
+++ b/drivers/gpu/drm/arm/hdlcd_crtc.c
@@ -282,7 +282,7 @@  static const struct drm_plane_helper_funcs hdlcd_plane_helper_funcs = {
 
 static void hdlcd_plane_destroy(struct drm_plane *plane)
 {
-	drm_plane_helper_disable(plane);
+	drm_plane_helper_disable(plane, NULL);
 	drm_plane_cleanup(plane);
 }
 
diff --git a/drivers/gpu/drm/drm_plane_helper.c b/drivers/gpu/drm/drm_plane_helper.c
index 2010794943bc..621f17643bb0 100644
--- a/drivers/gpu/drm/drm_plane_helper.c
+++ b/drivers/gpu/drm/drm_plane_helper.c
@@ -440,6 +440,7 @@  int drm_plane_helper_commit(struct drm_plane *plane,
  * @src_y: y offset of @fb for panning
  * @src_w: width of source rectangle in @fb
  * @src_h: height of source rectangle in @fb
+ * @ctx: lock acquire context, not used here
  *
  * Provides a default plane update handler using the atomic plane update
  * functions. It is fully left to the driver to check plane constraints and
@@ -455,7 +456,8 @@  int drm_plane_helper_update(struct drm_plane *plane, struct drm_crtc *crtc,
 			    int crtc_x, int crtc_y,
 			    unsigned int crtc_w, unsigned int crtc_h,
 			    uint32_t src_x, uint32_t src_y,
-			    uint32_t src_w, uint32_t src_h)
+			    uint32_t src_w, uint32_t src_h,
+			    struct drm_modeset_acquire_ctx *ctx)
 {
 	struct drm_plane_state *plane_state;
 
@@ -489,6 +491,7 @@  EXPORT_SYMBOL(drm_plane_helper_update);
 /**
  * drm_plane_helper_disable() - Transitional helper for plane disable
  * @plane: plane to disable
+ * @ctx: lock acquire context, not used here
  *
  * Provides a default plane disable handler using the atomic plane update
  * functions. It is fully left to the driver to check plane constraints and
@@ -499,7 +502,8 @@  EXPORT_SYMBOL(drm_plane_helper_update);
  * RETURNS:
  * Zero on success, error code on failure
  */
-int drm_plane_helper_disable(struct drm_plane *plane)
+int drm_plane_helper_disable(struct drm_plane *plane,
+			     struct drm_modeset_acquire_ctx *ctx)
 {
 	struct drm_plane_state *plane_state;
 	struct drm_framebuffer *old_fb;
diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c
index 7b641fa6dc4d..79ff653d8081 100644
--- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c
+++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c
@@ -68,7 +68,7 @@  static void mdp4_plane_destroy(struct drm_plane *plane)
 {
 	struct mdp4_plane *mdp4_plane = to_mdp4_plane(plane);
 
-	drm_plane_helper_disable(plane);
+	drm_plane_helper_disable(plane, NULL);
 	drm_plane_cleanup(plane);
 
 	kfree(mdp4_plane);
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c
index c4f115fe96ff..7d306c5acd09 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c
@@ -46,7 +46,7 @@  static void mdp5_plane_destroy(struct drm_plane *plane)
 {
 	struct mdp5_plane *mdp5_plane = to_mdp5_plane(plane);
 
-	drm_plane_helper_disable(plane);
+	drm_plane_helper_disable(plane, NULL);
 	drm_plane_cleanup(plane);
 
 	kfree(mdp5_plane);
diff --git a/drivers/gpu/drm/sti/sti_cursor.c b/drivers/gpu/drm/sti/sti_cursor.c
index df0a282b9615..57b870e1e696 100644
--- a/drivers/gpu/drm/sti/sti_cursor.c
+++ b/drivers/gpu/drm/sti/sti_cursor.c
@@ -332,7 +332,7 @@  static void sti_cursor_destroy(struct drm_plane *drm_plane)
 {
 	DRM_DEBUG_DRIVER("\n");
 
-	drm_plane_helper_disable(drm_plane);
+	drm_plane_helper_disable(drm_plane, NULL);
 	drm_plane_cleanup(drm_plane);
 }
 
diff --git a/drivers/gpu/drm/sti/sti_gdp.c b/drivers/gpu/drm/sti/sti_gdp.c
index 49813d34bdf0..c32de6cbf061 100644
--- a/drivers/gpu/drm/sti/sti_gdp.c
+++ b/drivers/gpu/drm/sti/sti_gdp.c
@@ -883,7 +883,7 @@  static void sti_gdp_destroy(struct drm_plane *drm_plane)
 {
 	DRM_DEBUG_DRIVER("\n");
 
-	drm_plane_helper_disable(drm_plane);
+	drm_plane_helper_disable(drm_plane, NULL);
 	drm_plane_cleanup(drm_plane);
 }
 
diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c
index 106be8c4e58b..03ac3b4a4469 100644
--- a/drivers/gpu/drm/sti/sti_hqvdp.c
+++ b/drivers/gpu/drm/sti/sti_hqvdp.c
@@ -1260,7 +1260,7 @@  static void sti_hqvdp_destroy(struct drm_plane *drm_plane)
 {
 	DRM_DEBUG_DRIVER("\n");
 
-	drm_plane_helper_disable(drm_plane);
+	drm_plane_helper_disable(drm_plane, NULL);
 	drm_plane_cleanup(drm_plane);
 }
 
diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c
index 8604fd2e7c5a..9d7a36f148cf 100644
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -902,7 +902,7 @@  static const struct drm_plane_helper_funcs vc4_plane_helper_funcs = {
 
 static void vc4_plane_destroy(struct drm_plane *plane)
 {
-	drm_plane_helper_disable(plane);
+	drm_plane_helper_disable(plane, NULL);
 	drm_plane_cleanup(plane);
 }
 
diff --git a/drivers/gpu/drm/zte/zx_plane.c b/drivers/gpu/drm/zte/zx_plane.c
index d1931f5ea0b2..ae8c53b4b261 100644
--- a/drivers/gpu/drm/zte/zx_plane.c
+++ b/drivers/gpu/drm/zte/zx_plane.c
@@ -446,7 +446,7 @@  static const struct drm_plane_helper_funcs zx_gl_plane_helper_funcs = {
 
 static void zx_plane_destroy(struct drm_plane *plane)
 {
-	drm_plane_helper_disable(plane);
+	drm_plane_helper_disable(plane, NULL);
 	drm_plane_cleanup(plane);
 }
 
diff --git a/include/drm/drm_plane_helper.h b/include/drm/drm_plane_helper.h
index 28d7ce620729..26cee2934781 100644
--- a/include/drm/drm_plane_helper.h
+++ b/include/drm/drm_plane_helper.h
@@ -67,8 +67,10 @@  int drm_plane_helper_update(struct drm_plane *plane, struct drm_crtc *crtc,
 			    int crtc_x, int crtc_y,
 			    unsigned int crtc_w, unsigned int crtc_h,
 			    uint32_t src_x, uint32_t src_y,
-			    uint32_t src_w, uint32_t src_h);
-int drm_plane_helper_disable(struct drm_plane *plane);
+			    uint32_t src_w, uint32_t src_h,
+			    struct drm_modeset_acquire_ctx *ctx);
+int drm_plane_helper_disable(struct drm_plane *plane,
+			     struct drm_modeset_acquire_ctx *ctx);
 
 /* For use by drm_crtc_helper.c */
 int drm_plane_helper_commit(struct drm_plane *plane,