[01/10] drm: Add drm_plane_mask()
diff mbox

Message ID 20180626194716.12522-1-ville.syrjala@linux.intel.com
State New
Headers show

Commit Message

Ville Syrjälä June 26, 2018, 7:47 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Add drm_plane_mask() which returns the 1<<index for the plane.
We already have an identical drm_crtc_mask() for crtcs.

Mostly performed with coccinelle:
@@
@@
- (1<<drm_plane_index(
+ drm_plane_mask(
  ...)
-  )

@@
@@
- 1<<drm_plane_index(
+ drm_plane_mask(
  ...)

@@
@@
- BIT(drm_plane_index(
+ drm_plane_mask(
  ...)
- )

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/drm_atomic.c            |  4 ++--
 drivers/gpu/drm/drm_framebuffer.c       |  2 +-
 drivers/gpu/drm/drm_simple_kms_helper.c |  2 +-
 include/drm/drm_plane.h                 | 14 ++++++++++++--
 4 files changed, 16 insertions(+), 6 deletions(-)

Comments

Rodrigo Vivi June 26, 2018, 8:09 p.m. UTC | #1
On Tue, Jun 26, 2018 at 10:47:07PM +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Add drm_plane_mask() which returns the 1<<index for the plane.
> We already have an identical drm_crtc_mask() for crtcs.
> 
> Mostly performed with coccinelle:
> @@
> @@
> - (1<<drm_plane_index(
> + drm_plane_mask(
>   ...)
> -  )
> 
> @@
> @@
> - 1<<drm_plane_index(
> + drm_plane_mask(
>   ...)
> 
> @@
> @@
> - BIT(drm_plane_index(
> + drm_plane_mask(
>   ...)
> - )
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> ---
>  drivers/gpu/drm/drm_atomic.c            |  4 ++--
>  drivers/gpu/drm/drm_framebuffer.c       |  2 +-
>  drivers/gpu/drm/drm_simple_kms_helper.c |  2 +-
>  include/drm/drm_plane.h                 | 14 ++++++++++++--
>  4 files changed, 16 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
> index 178842380f75..684c9d3a1d6c 100644
> --- a/drivers/gpu/drm/drm_atomic.c
> +++ b/drivers/gpu/drm/drm_atomic.c
> @@ -1581,7 +1581,7 @@ drm_atomic_set_crtc_for_plane(struct drm_plane_state *plane_state,
>  		if (WARN_ON(IS_ERR(crtc_state)))
>  			return PTR_ERR(crtc_state);
>  
> -		crtc_state->plane_mask &= ~(1 << drm_plane_index(plane));
> +		crtc_state->plane_mask &= ~drm_plane_mask(plane);
>  	}
>  
>  	plane_state->crtc = crtc;
> @@ -1591,7 +1591,7 @@ drm_atomic_set_crtc_for_plane(struct drm_plane_state *plane_state,
>  						       crtc);
>  		if (IS_ERR(crtc_state))
>  			return PTR_ERR(crtc_state);
> -		crtc_state->plane_mask |= (1 << drm_plane_index(plane));
> +		crtc_state->plane_mask |= drm_plane_mask(plane);
>  	}
>  
>  	if (crtc)
> diff --git a/drivers/gpu/drm/drm_framebuffer.c b/drivers/gpu/drm/drm_framebuffer.c
> index ed90974a452a..781af1d42d76 100644
> --- a/drivers/gpu/drm/drm_framebuffer.c
> +++ b/drivers/gpu/drm/drm_framebuffer.c
> @@ -847,7 +847,7 @@ static int atomic_remove_fb(struct drm_framebuffer *fb)
>  		if (ret)
>  			goto unlock;
>  
> -		plane_mask |= BIT(drm_plane_index(plane));
> +		plane_mask |= drm_plane_mask(plane);
>  	}
>  
>  	/* This list is only filled when disable_crtcs is set. */
> diff --git a/drivers/gpu/drm/drm_simple_kms_helper.c b/drivers/gpu/drm/drm_simple_kms_helper.c
> index 7a00455ca568..9d87961da1db 100644
> --- a/drivers/gpu/drm/drm_simple_kms_helper.c
> +++ b/drivers/gpu/drm/drm_simple_kms_helper.c
> @@ -52,7 +52,7 @@ static int drm_simple_kms_crtc_check(struct drm_crtc *crtc,
>  				     struct drm_crtc_state *state)
>  {
>  	bool has_primary = state->plane_mask &
> -			   BIT(drm_plane_index(crtc->primary));
> +			   drm_plane_mask(crtc->primary);
>  
>  	/* We always want to have an active plane with an active CRTC */
>  	if (has_primary != state->enable)
> diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
> index 7d4d6c7f0afd..cee9dfaaa740 100644
> --- a/include/drm/drm_plane.h
> +++ b/include/drm/drm_plane.h
> @@ -639,10 +639,20 @@ void drm_plane_cleanup(struct drm_plane *plane);
>   * Given a registered plane, return the index of that plane within a DRM
>   * device's list of planes.
>   */
> -static inline unsigned int drm_plane_index(struct drm_plane *plane)
> +static inline unsigned int drm_plane_index(const struct drm_plane *plane)
>  {
>  	return plane->index;
>  }
> +
> +/**
> + * drm_plane_mask - find the mask of a registered plane
> + * @plane: plane to find mask for
> + */
> +static inline u32 drm_plane_mask(const struct drm_plane *plane)
> +{
> +	return 1 << drm_plane_index(plane);
> +}
> +
>  struct drm_plane * drm_plane_from_index(struct drm_device *dev, int idx);
>  void drm_plane_force_disable(struct drm_plane *plane);
>  
> @@ -678,7 +688,7 @@ static inline struct drm_plane *drm_plane_find(struct drm_device *dev,
>   */
>  #define drm_for_each_plane_mask(plane, dev, plane_mask) \
>  	list_for_each_entry((plane), &(dev)->mode_config.plane_list, head) \
> -		for_each_if ((plane_mask) & (1 << drm_plane_index(plane)))
> +		for_each_if ((plane_mask) & drm_plane_mask(plane))
>  
>  /**
>   * drm_for_each_legacy_plane - iterate over all planes for legacy userspace
> -- 
> 2.16.4
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
Ville Syrjälä July 2, 2018, 3:55 p.m. UTC | #2
On Tue, Jun 26, 2018 at 01:09:53PM -0700, Rodrigo Vivi wrote:
> On Tue, Jun 26, 2018 at 10:47:07PM +0300, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > Add drm_plane_mask() which returns the 1<<index for the plane.
> > We already have an identical drm_crtc_mask() for crtcs.
> > 
> > Mostly performed with coccinelle:
> > @@
> > @@
> > - (1<<drm_plane_index(
> > + drm_plane_mask(
> >   ...)
> > -  )
> > 
> > @@
> > @@
> > - 1<<drm_plane_index(
> > + drm_plane_mask(
> >   ...)
> > 
> > @@
> > @@
> > - BIT(drm_plane_index(
> > + drm_plane_mask(
> >   ...)
> > - )
> > 
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

Series pushed to drm-misc-next. Thanks for the reviews/acks.

> 
> > ---
> >  drivers/gpu/drm/drm_atomic.c            |  4 ++--
> >  drivers/gpu/drm/drm_framebuffer.c       |  2 +-
> >  drivers/gpu/drm/drm_simple_kms_helper.c |  2 +-
> >  include/drm/drm_plane.h                 | 14 ++++++++++++--
> >  4 files changed, 16 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
> > index 178842380f75..684c9d3a1d6c 100644
> > --- a/drivers/gpu/drm/drm_atomic.c
> > +++ b/drivers/gpu/drm/drm_atomic.c
> > @@ -1581,7 +1581,7 @@ drm_atomic_set_crtc_for_plane(struct drm_plane_state *plane_state,
> >  		if (WARN_ON(IS_ERR(crtc_state)))
> >  			return PTR_ERR(crtc_state);
> >  
> > -		crtc_state->plane_mask &= ~(1 << drm_plane_index(plane));
> > +		crtc_state->plane_mask &= ~drm_plane_mask(plane);
> >  	}
> >  
> >  	plane_state->crtc = crtc;
> > @@ -1591,7 +1591,7 @@ drm_atomic_set_crtc_for_plane(struct drm_plane_state *plane_state,
> >  						       crtc);
> >  		if (IS_ERR(crtc_state))
> >  			return PTR_ERR(crtc_state);
> > -		crtc_state->plane_mask |= (1 << drm_plane_index(plane));
> > +		crtc_state->plane_mask |= drm_plane_mask(plane);
> >  	}
> >  
> >  	if (crtc)
> > diff --git a/drivers/gpu/drm/drm_framebuffer.c b/drivers/gpu/drm/drm_framebuffer.c
> > index ed90974a452a..781af1d42d76 100644
> > --- a/drivers/gpu/drm/drm_framebuffer.c
> > +++ b/drivers/gpu/drm/drm_framebuffer.c
> > @@ -847,7 +847,7 @@ static int atomic_remove_fb(struct drm_framebuffer *fb)
> >  		if (ret)
> >  			goto unlock;
> >  
> > -		plane_mask |= BIT(drm_plane_index(plane));
> > +		plane_mask |= drm_plane_mask(plane);
> >  	}
> >  
> >  	/* This list is only filled when disable_crtcs is set. */
> > diff --git a/drivers/gpu/drm/drm_simple_kms_helper.c b/drivers/gpu/drm/drm_simple_kms_helper.c
> > index 7a00455ca568..9d87961da1db 100644
> > --- a/drivers/gpu/drm/drm_simple_kms_helper.c
> > +++ b/drivers/gpu/drm/drm_simple_kms_helper.c
> > @@ -52,7 +52,7 @@ static int drm_simple_kms_crtc_check(struct drm_crtc *crtc,
> >  				     struct drm_crtc_state *state)
> >  {
> >  	bool has_primary = state->plane_mask &
> > -			   BIT(drm_plane_index(crtc->primary));
> > +			   drm_plane_mask(crtc->primary);
> >  
> >  	/* We always want to have an active plane with an active CRTC */
> >  	if (has_primary != state->enable)
> > diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
> > index 7d4d6c7f0afd..cee9dfaaa740 100644
> > --- a/include/drm/drm_plane.h
> > +++ b/include/drm/drm_plane.h
> > @@ -639,10 +639,20 @@ void drm_plane_cleanup(struct drm_plane *plane);
> >   * Given a registered plane, return the index of that plane within a DRM
> >   * device's list of planes.
> >   */
> > -static inline unsigned int drm_plane_index(struct drm_plane *plane)
> > +static inline unsigned int drm_plane_index(const struct drm_plane *plane)
> >  {
> >  	return plane->index;
> >  }
> > +
> > +/**
> > + * drm_plane_mask - find the mask of a registered plane
> > + * @plane: plane to find mask for
> > + */
> > +static inline u32 drm_plane_mask(const struct drm_plane *plane)
> > +{
> > +	return 1 << drm_plane_index(plane);
> > +}
> > +
> >  struct drm_plane * drm_plane_from_index(struct drm_device *dev, int idx);
> >  void drm_plane_force_disable(struct drm_plane *plane);
> >  
> > @@ -678,7 +688,7 @@ static inline struct drm_plane *drm_plane_find(struct drm_device *dev,
> >   */
> >  #define drm_for_each_plane_mask(plane, dev, plane_mask) \
> >  	list_for_each_entry((plane), &(dev)->mode_config.plane_list, head) \
> > -		for_each_if ((plane_mask) & (1 << drm_plane_index(plane)))
> > +		for_each_if ((plane_mask) & drm_plane_mask(plane))
> >  
> >  /**
> >   * drm_for_each_legacy_plane - iterate over all planes for legacy userspace
> > -- 
> > 2.16.4
> > 
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel

Patch
diff mbox

diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index 178842380f75..684c9d3a1d6c 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -1581,7 +1581,7 @@  drm_atomic_set_crtc_for_plane(struct drm_plane_state *plane_state,
 		if (WARN_ON(IS_ERR(crtc_state)))
 			return PTR_ERR(crtc_state);
 
-		crtc_state->plane_mask &= ~(1 << drm_plane_index(plane));
+		crtc_state->plane_mask &= ~drm_plane_mask(plane);
 	}
 
 	plane_state->crtc = crtc;
@@ -1591,7 +1591,7 @@  drm_atomic_set_crtc_for_plane(struct drm_plane_state *plane_state,
 						       crtc);
 		if (IS_ERR(crtc_state))
 			return PTR_ERR(crtc_state);
-		crtc_state->plane_mask |= (1 << drm_plane_index(plane));
+		crtc_state->plane_mask |= drm_plane_mask(plane);
 	}
 
 	if (crtc)
diff --git a/drivers/gpu/drm/drm_framebuffer.c b/drivers/gpu/drm/drm_framebuffer.c
index ed90974a452a..781af1d42d76 100644
--- a/drivers/gpu/drm/drm_framebuffer.c
+++ b/drivers/gpu/drm/drm_framebuffer.c
@@ -847,7 +847,7 @@  static int atomic_remove_fb(struct drm_framebuffer *fb)
 		if (ret)
 			goto unlock;
 
-		plane_mask |= BIT(drm_plane_index(plane));
+		plane_mask |= drm_plane_mask(plane);
 	}
 
 	/* This list is only filled when disable_crtcs is set. */
diff --git a/drivers/gpu/drm/drm_simple_kms_helper.c b/drivers/gpu/drm/drm_simple_kms_helper.c
index 7a00455ca568..9d87961da1db 100644
--- a/drivers/gpu/drm/drm_simple_kms_helper.c
+++ b/drivers/gpu/drm/drm_simple_kms_helper.c
@@ -52,7 +52,7 @@  static int drm_simple_kms_crtc_check(struct drm_crtc *crtc,
 				     struct drm_crtc_state *state)
 {
 	bool has_primary = state->plane_mask &
-			   BIT(drm_plane_index(crtc->primary));
+			   drm_plane_mask(crtc->primary);
 
 	/* We always want to have an active plane with an active CRTC */
 	if (has_primary != state->enable)
diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
index 7d4d6c7f0afd..cee9dfaaa740 100644
--- a/include/drm/drm_plane.h
+++ b/include/drm/drm_plane.h
@@ -639,10 +639,20 @@  void drm_plane_cleanup(struct drm_plane *plane);
  * Given a registered plane, return the index of that plane within a DRM
  * device's list of planes.
  */
-static inline unsigned int drm_plane_index(struct drm_plane *plane)
+static inline unsigned int drm_plane_index(const struct drm_plane *plane)
 {
 	return plane->index;
 }
+
+/**
+ * drm_plane_mask - find the mask of a registered plane
+ * @plane: plane to find mask for
+ */
+static inline u32 drm_plane_mask(const struct drm_plane *plane)
+{
+	return 1 << drm_plane_index(plane);
+}
+
 struct drm_plane * drm_plane_from_index(struct drm_device *dev, int idx);
 void drm_plane_force_disable(struct drm_plane *plane);
 
@@ -678,7 +688,7 @@  static inline struct drm_plane *drm_plane_find(struct drm_device *dev,
  */
 #define drm_for_each_plane_mask(plane, dev, plane_mask) \
 	list_for_each_entry((plane), &(dev)->mode_config.plane_list, head) \
-		for_each_if ((plane_mask) & (1 << drm_plane_index(plane)))
+		for_each_if ((plane_mask) & drm_plane_mask(plane))
 
 /**
  * drm_for_each_legacy_plane - iterate over all planes for legacy userspace