Message ID | 20180626194716.12522-1-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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
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
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