[PATCH v4.1 01/9] drm/atomic: Handle aspect ratio and scaling mode in core, v2.
Daniel Vetter
daniel at ffwll.ch
Wed Apr 19 15:43:09 UTC 2017
On Thu, Apr 13, 2017 at 11:15:37AM +0200, Maarten Lankhorst wrote:
> This is required to for i915 to convert connector properties to atomic.
>
> Changes since v1:
> - Add docbook info. (danvet)
> - Change picture_aspect_ratio to enum hdmi_picture_aspect.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Cc: dri-devel at lists.freedesktop.org
> Acked-by: Dave Airlie <airlied at redhat.com>
> ---
> drivers/gpu/drm/drm_atomic.c | 8 ++++++++
> include/drm/drm_connector.h | 16 ++++++++++++++++
> 2 files changed, 24 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
> index 30229ab719c0..25ea6f797a54 100644
> --- a/drivers/gpu/drm/drm_atomic.c
> +++ b/drivers/gpu/drm/drm_atomic.c
> @@ -1123,6 +1123,10 @@ int drm_atomic_connector_set_property(struct drm_connector *connector,
> */
> if (state->link_status != DRM_LINK_STATUS_GOOD)
> state->link_status = val;
> + } else if (property == config->aspect_ratio_property) {
> + state->picture_aspect_ratio = val;
> + } else if (property == config->scaling_mode_property) {
> + state->scaling_mode = val;
> } else if (connector->funcs->atomic_set_property) {
> return connector->funcs->atomic_set_property(connector,
> state, property, val);
> @@ -1199,6 +1203,10 @@ drm_atomic_connector_get_property(struct drm_connector *connector,
> *val = state->tv.hue;
> } else if (property == config->link_status_property) {
> *val = state->link_status;
> + } else if (property == config->aspect_ratio_property) {
> + *val = state->picture_aspect_ratio;
> + } else if (property == config->scaling_mode_property) {
> + *val = state->scaling_mode;
> } else if (connector->funcs->atomic_get_property) {
> return connector->funcs->atomic_get_property(connector,
> state, property, val);
> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
> index 4eeda120e46d..5b50bc2db6fb 100644
> --- a/include/drm/drm_connector.h
> +++ b/include/drm/drm_connector.h
> @@ -25,6 +25,7 @@
>
> #include <linux/list.h>
> #include <linux/ctype.h>
> +#include <linux/hdmi.h>
> #include <drm/drm_mode_object.h>
>
> #include <uapi/drm/drm_mode.h>
> @@ -326,6 +327,21 @@ struct drm_connector_state {
> struct drm_atomic_state *state;
>
> struct drm_tv_connector_state tv;
> +
> + /**
> + * @picture_aspect_ratio: Connector property to control the
> + * HDMI infoframe aspect ratio setting.
> + *
> + * The DRM_MODE_PICTURE_ASPECT_* values much match the
I think the above will upset sphinx and spew a warning, you need
ASPECT_\* or something like that. Or just spell them out and enumerate
them all. Fixed either way this is
Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> + * values for &enum hdmi_picture_aspect
> + */
> + enum hdmi_picture_aspect picture_aspect_ratio;
> +
> + /**
> + * @scaling_mode: Connector property to control the
> + * upscaling, mostly used for built-in panels.
> + */
> + unsigned int scaling_mode;
> };
>
> /**
> --
> 2.7.4
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list