On Sat, Mar 14, 2015 at 10:55:26PM -0700, Chandra Konduru wrote: > Adding drm helper function to return plane pointer from index where > index is a returned by drm_plane_index. > > Signed-off-by: Chandra Konduru <chandra.konduru@xxxxxxxxx> > --- > drivers/gpu/drm/drm_crtc.c | 20 ++++++++++++++++++++ > include/drm/drm_crtc.h | 1 + > 2 files changed, 21 insertions(+) > > diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c > index 9f970c2..bbe573e1 100644 > --- a/drivers/gpu/drm/drm_crtc.c > +++ b/drivers/gpu/drm/drm_crtc.c > @@ -1286,6 +1286,26 @@ unsigned int drm_plane_index(struct drm_plane *plane) > EXPORT_SYMBOL(drm_plane_index); > > /** > + * drm_plane_from_index - find the registered plane at an index > + * @idx: index of registered plane to find for > + * > + * Given a plane index, return the registered plane from DRM device's > + * list of planes with matching index. > + */ > +struct drm_plane * > +drm_plane_from_index(struct drm_device *dev, int idx) > +{ > + struct drm_plane *plane; > + > + list_for_each_entry(plane, &dev->mode_config.plane_list, head) { > + if (drm_plane_index(plane) == idx) > + return plane; Just a bikeshed, but you can do the same counting loop as in drm_plane_index and then return the plane as soon as idx = i. Avoids a nested double-loop on the plane_list. -Daniel > + } > + return NULL; > +} > +EXPORT_SYMBOL(drm_plane_from_index); > + > +/** > * drm_plane_force_disable - Forcibly disable a plane > * @plane: plane to disable > * > diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h > index 7b5c661..6b30036 100644 > --- a/include/drm/drm_crtc.h > +++ b/include/drm/drm_crtc.h > @@ -1264,6 +1264,7 @@ extern int drm_plane_init(struct drm_device *dev, > bool is_primary); > extern void drm_plane_cleanup(struct drm_plane *plane); > extern unsigned int drm_plane_index(struct drm_plane *plane); > +extern struct drm_plane * drm_plane_from_index(struct drm_device *dev, int idx); > extern void drm_plane_force_disable(struct drm_plane *plane); > extern int drm_plane_check_pixel_format(const struct drm_plane *plane, > u32 format); > -- > 1.7.9.5 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx