On Thu, May 22, 2014 at 04:50:48PM +0530, Vandana Kannan wrote:
> Added a property to enable user space to set aspect ratio.
> This patch contains declaration of the property and code to create the
> property.
> 
> Signed-off-by: Vandana Kannan <vandana.kan...@intel.com>
> Cc: dri-de...@lists.freedesktop.org
> ---
>  drivers/gpu/drm/drm_crtc.c | 31 +++++++++++++++++++++++++++++++
>  include/drm/drm_crtc.h     |  2 ++
>  2 files changed, 33 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> index 37a3e07..84d359e 100644
> --- a/drivers/gpu/drm/drm_crtc.c
> +++ b/drivers/gpu/drm/drm_crtc.c
> @@ -139,6 +139,12 @@ static const struct drm_prop_enum_list 
> drm_scaling_mode_enum_list[] =
>       { DRM_MODE_SCALE_ASPECT, "Full aspect" },
>  };
>  
> +static const struct drm_prop_enum_list drm_aspect_ratio_enum_list[] = {
> +     { HDMI_PICTURE_ASPECT_NONE, "Automatic" },
> +     { HDMI_PICTURE_ASPECT_4_3, "4:3" },
> +     { HDMI_PICTURE_ASPECT_16_9, "16:9" },
> +};

This seems like it should be either an HDMI specific property, since it
uses values defined by HDMI/CEA. Alternatively we could introduce some
new generic enumeration and translate that to the HDMI/CEA equivalent in
the AVI infoframe helpers.

Doing so would allow us to add aspect ratios different from what HDMI or
CEA define.

>  /*
>   * Non-global properties, but "required" for certain connectors.
>   */
> @@ -1344,6 +1350,31 @@ int drm_mode_create_scaling_mode_property(struct 
> drm_device *dev)
>  EXPORT_SYMBOL(drm_mode_create_scaling_mode_property);
>  
>  /**
> + * drm_mode_create_aspect_ratio_property - create aspect ratio property
> + * @dev: DRM device
> + *
> + * Called by a driver the first time it's needed, must be attached to desired
> + * connectors.
> + */
> +int drm_mode_create_aspect_ratio_property(struct drm_device *dev)
> +{
> +     struct drm_property *aspect_ratio;
> +
> +     if (dev->mode_config.aspect_ratio_property)
> +             return 0;
> +
> +     aspect_ratio =
> +             drm_property_create_enum(dev, 0, "aspect ratio",
> +                             drm_aspect_ratio_enum_list,
> +                                 ARRAY_SIZE(drm_aspect_ratio_enum_list));
> +
> +     dev->mode_config.aspect_ratio_property = aspect_ratio;

I don't think you need the temporary aspect_ratio variable here. Can't
you directly assign the new property to .aspect_ratio_property?

Thierry

Attachment: pgpDMJHEuIyyG.pgp
Description: PGP signature

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to