[Intel-gfx] [PATCH 01/10] drm: Add drm_plane_mask()
Ville Syrjälä
ville.syrjala at linux.intel.com
Mon Jul 2 15:55:02 UTC 2018
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 at 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 at linux.intel.com>
>
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi at 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 at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Ville Syrjälä
Intel
More information about the Intel-gfx
mailing list