[Intel-gfx] [PATCH 1/3] drm/crtc: Add property for aspect ratio

Daniel Vetter daniel at ffwll.ch
Mon May 26 00:54:47 PDT 2014


On Mon, May 26, 2014 at 11:00:41AM +0530, Vandana Kannan wrote:
> On May-23-2014 4:18 PM, Vandana Kannan wrote:
> > On May-22-2014 5:46 PM, Daniel Vetter wrote:
> >> 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.kannan at intel.com>
> >>> Cc: dri-devel at lists.freedesktop.org
> >>
> >> Documentation update is missing. Also for such patch series I recommend to
> >> post the entire patch series to dri-devel and intel-gfx. Otherwise people
> >> on dri-devel don't see how the new code is used and so can't really review
> >> it properly.
> >> -Daniel
> >>
> > Thanks for your inputs.
> > I will send the Documentation change along with the rest of the patches
> > (when I resend them).
> > Resent patch 3 adding dri-devel..
> > 
> > Thanks,
> > Vandana
> 
> Hi Daniel,
> For the Documentation update, should HTML table format be used in
> drm.tmpl or is there some other method?

Currently we only have the html table.
-Daniel

> -Vandana
> >>> ---
> >>>  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" },
> >>> +};
> >>> +
> >>>  /*
> >>>   * 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;
> >>> +
> >>> +	return 0;
> >>> +}
> >>> +EXPORT_SYMBOL(drm_mode_create_aspect_ratio_property);
> >>> +
> >>> +/**
> >>>   * drm_mode_create_dirty_property - create dirty property
> >>>   * @dev: DRM device
> >>>   *
> >>> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> >>> index 5c1c31c..1149617 100644
> >>> --- a/include/drm/drm_crtc.h
> >>> +++ b/include/drm/drm_crtc.h
> >>> @@ -801,6 +801,7 @@ struct drm_mode_config {
> >>>  
> >>>  	/* Optional properties */
> >>>  	struct drm_property *scaling_mode_property;
> >>> +	struct drm_property *aspect_ratio_property;
> >>>  	struct drm_property *dirty_info_property;
> >>>  
> >>>  	/* dumb ioctl parameters */
> >>> @@ -971,6 +972,7 @@ extern int drm_mode_create_dvi_i_properties(struct drm_device *dev);
> >>>  extern int drm_mode_create_tv_properties(struct drm_device *dev, int num_formats,
> >>>  				     char *formats[]);
> >>>  extern int drm_mode_create_scaling_mode_property(struct drm_device *dev);
> >>> +extern int drm_mode_create_aspect_ratio_property(struct drm_device *dev);
> >>>  extern int drm_mode_create_dirty_info_property(struct drm_device *dev);
> >>>  extern const char *drm_get_encoder_name(const struct drm_encoder *encoder);
> >>>  
> >>> -- 
> >>> 1.9.3
> >>>
> >>> _______________________________________________
> >>> Intel-gfx mailing list
> >>> Intel-gfx at lists.freedesktop.org
> >>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> >>
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> > 
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the dri-devel mailing list