[Intel-gfx] [PATCH 01/21] drm/i915: Adding drm helper function drm_plane_from_index().
Daniel Vetter
daniel at ffwll.ch
Tue Mar 17 07:05:29 PDT 2015
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 at intel.com>
> ---
> 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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list