Message ID | 1426896282-23215-2-git-send-email-chandra.konduru@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Mar 20, 2015 at 05:04:22PM -0700, Chandra Konduru wrote: > Adding drm helper function to return plane pointer from index where > index is a returned by drm_plane_index. > > v2: > -avoided nested loop by adding loop count (Daniel) > > Signed-off-by: Chandra Konduru <chandra.konduru@intel.com> Sorry forgotten to mention this earlier, but any code touching drm core must be cc'ed to dri-devel. Best to just add a Cc: line before the sob line so that git send-email automatically picks it up every time. -Daniel > --- > drivers/gpu/drm/drm_crtc.c | 22 ++++++++++++++++++++++ > include/drm/drm_crtc.h | 1 + > 2 files changed, 23 insertions(+) > > diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c > index 9f970c2..b6703f4 100644 > --- a/drivers/gpu/drm/drm_crtc.c > +++ b/drivers/gpu/drm/drm_crtc.c > @@ -1286,6 +1286,28 @@ 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; > + unsigned int i = 0; > + > + list_for_each_entry(plane, &dev->mode_config.plane_list, head) { > + if (i == idx) > + return plane; > + i++; > + } > + 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@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> -----Original Message----- > From: Daniel Vetter [mailto:daniel.vetter@ffwll.ch] On Behalf Of Daniel Vetter > Sent: Monday, March 23, 2015 2:33 AM > To: Konduru, Chandra > Cc: intel-gfx@lists.freedesktop.org; Conselvan De Oliveira, Ander; Vetter, Daniel > Subject: Re: [Intel-gfx] [PATCH 01/21 v2] drm/i915: Adding drm helper function > drm_plane_from_index(). > > On Fri, Mar 20, 2015 at 05:04:22PM -0700, Chandra Konduru wrote: > > Adding drm helper function to return plane pointer from index where > > index is a returned by drm_plane_index. > > > > v2: > > -avoided nested loop by adding loop count (Daniel) > > > > Signed-off-by: Chandra Konduru <chandra.konduru@intel.com> > > Sorry forgotten to mention this earlier, but any code touching drm core must be > cc'ed to dri-devel. Best to just add a Cc: line before the sob line so that git send- > email automatically picks it up every time. > -Daniel np, sure. By the way, copied dri-devel. > > > --- > > drivers/gpu/drm/drm_crtc.c | 22 ++++++++++++++++++++++ > > include/drm/drm_crtc.h | 1 + > > 2 files changed, 23 insertions(+) > > > > diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c > > index 9f970c2..b6703f4 100644 > > --- a/drivers/gpu/drm/drm_crtc.c > > +++ b/drivers/gpu/drm/drm_crtc.c > > @@ -1286,6 +1286,28 @@ 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; > > + unsigned int i = 0; > > + > > + list_for_each_entry(plane, &dev->mode_config.plane_list, head) { > > + if (i == idx) > > + return plane; > > + i++; > > + } > > + 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@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index 9f970c2..b6703f4 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -1286,6 +1286,28 @@ 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; + unsigned int i = 0; + + list_for_each_entry(plane, &dev->mode_config.plane_list, head) { + if (i == idx) + return plane; + i++; + } + 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);
Adding drm helper function to return plane pointer from index where index is a returned by drm_plane_index. v2: -avoided nested loop by adding loop count (Daniel) Signed-off-by: Chandra Konduru <chandra.konduru@intel.com> --- drivers/gpu/drm/drm_crtc.c | 22 ++++++++++++++++++++++ include/drm/drm_crtc.h | 1 + 2 files changed, 23 insertions(+)