Message ID | 1396864991-2375-1-git-send-email-vandana.kannan@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Apr-07-2014 3:24 PM, Vandana Kannan wrote: > On Apr-07-2014 3:33 PM, Kannan, Vandana 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@intel.com> >> Cc: dri-devel@lists.freedesktop.org >> --- > This patch series is being submitted as discussed in > http://lists.freedesktop.org/archives/dri-devel/2014-April/056593.html > > -Vandana Please help review this patch series to enable user space to set aspect ratio for AVI infoframe. http://lists.freedesktop.org/archives/intel-gfx/2014-April/043226.html http://lists.freedesktop.org/archives/intel-gfx/2014-April/043228.html http://lists.freedesktop.org/archives/intel-gfx/2014-April/043227.html -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 d8b7099..6cd34ad 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. >> */ >> @@ -1334,6 +1340,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 c061bb3..99bb6ed 100644 >> --- a/include/drm/drm_crtc.h >> +++ b/include/drm/drm_crtc.h >> @@ -797,6 +797,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 */ >> @@ -966,6 +967,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); >> >> > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel >
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index d8b7099..6cd34ad 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. */ @@ -1334,6 +1340,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 c061bb3..99bb6ed 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -797,6 +797,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 */ @@ -966,6 +967,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);
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@intel.com> Cc: dri-devel@lists.freedesktop.org --- drivers/gpu/drm/drm_crtc.c | 31 +++++++++++++++++++++++++++++++ include/drm/drm_crtc.h | 2 ++ 2 files changed, 33 insertions(+)