On Mon, Dec 19, 2011 at 4:33 PM,  <ville.syrjala at linux.intel.com> wrote:
> From: Ville Syrj?l? <ville.syrjala at linux.intel.com>
>
> This function returns the number of planes used by a specific pixel
> format.

btw, I end up with a very similar util fxn in omapdrm driver.. would
be nice to have this in core to avoid duplicating in every driver
supporting multi-planar

Reviewed-by: Rob Clark <rob.clark at linaro.org>

> Signed-off-by: Ville Syrj?l? <ville.syrjala at linux.intel.com>
> ---
> ?drivers/gpu/drm/drm_crtc_helper.c | ? 33 +++++++++++++++++++++++++++++++++
> ?include/drm/drm_crtc_helper.h ? ? | ? ?3 +++
> ?2 files changed, 36 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_crtc_helper.c 
> b/drivers/gpu/drm/drm_crtc_helper.c
> index ccbdc0b..f388708 100644
> --- a/drivers/gpu/drm/drm_crtc_helper.c
> +++ b/drivers/gpu/drm/drm_crtc_helper.c
> @@ -979,3 +979,36 @@ void drm_helper_hpd_irq_event(struct drm_device *dev)
> ? ? ? ? ? ? ? ?queue_delayed_work(system_nrt_wq, 
> &dev->mode_config.output_poll_work, 0);
> ?}
> ?EXPORT_SYMBOL(drm_helper_hpd_irq_event);
> +
> +
> +/**
> + * drm_format_num_planes - get the number of planes for format
> + * @format: pixel format (DRM_FORMAT_*)
> + *
> + * RETURNS:
> + * The number of planes used by the specified pixel format.
> + */
> +int drm_format_num_planes(uint32_t format)
> +{
> + ? ? ? switch (format) {
> + ? ? ? case DRM_FORMAT_YUV410:
> + ? ? ? case DRM_FORMAT_YVU410:
> + ? ? ? case DRM_FORMAT_YUV411:
> + ? ? ? case DRM_FORMAT_YVU411:
> + ? ? ? case DRM_FORMAT_YUV420:
> + ? ? ? case DRM_FORMAT_YVU420:
> + ? ? ? case DRM_FORMAT_YUV422:
> + ? ? ? case DRM_FORMAT_YVU422:
> + ? ? ? case DRM_FORMAT_YUV444:
> + ? ? ? case DRM_FORMAT_YVU444:
> + ? ? ? ? ? ? ? return 3;
> + ? ? ? case DRM_FORMAT_NV12:
> + ? ? ? case DRM_FORMAT_NV21:
> + ? ? ? case DRM_FORMAT_NV16:
> + ? ? ? case DRM_FORMAT_NV61:
> + ? ? ? ? ? ? ? return 2;
> + ? ? ? default:
> + ? ? ? ? ? ? ? return 1;
> + ? ? ? }
> +}
> +EXPORT_SYMBOL(drm_format_num_planes);
> diff --git a/include/drm/drm_crtc_helper.h b/include/drm/drm_crtc_helper.h
> index e88b7d7..37515d1 100644
> --- a/include/drm/drm_crtc_helper.h
> +++ b/include/drm/drm_crtc_helper.h
> @@ -144,4 +144,7 @@ extern void drm_helper_hpd_irq_event(struct drm_device 
> *dev);
>
> ?extern void drm_kms_helper_poll_disable(struct drm_device *dev);
> ?extern void drm_kms_helper_poll_enable(struct drm_device *dev);
> +
> +extern int drm_format_num_planes(uint32_t format);
> +
> ?#endif
> --
> 1.7.3.4
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to