All of lore.kernel.org
 help / color / mirror / Atom feed
From: Manasi Navare <manasi.d.navare@intel.com>
To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v6 01/12] drm/atomic: Handle picture_aspect_ratio in atomic core
Date: Mon, 1 May 2017 11:27:20 -0700	[thread overview]
Message-ID: <20170501182719.GA20023@intel.com> (raw)
In-Reply-To: <20170501133804.8116-2-maarten.lankhorst@linux.intel.com>

On Mon, May 01, 2017 at 03:37:53PM +0200, Maarten Lankhorst wrote:
> This is only used in i915, which had used its own non-taomic way to
> deal with the picture aspect ratio. Move selected aspect_ratio to
> atomic state and use the atomic state in the affected i915 connectors.
>

Please correct the typo, should be non-atomic instead of non-taomic.

Manasi
 
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
>  drivers/gpu/drm/drm_atomic.c      |  4 ++++
>  drivers/gpu/drm/i915/intel_drv.h  |  1 -
>  drivers/gpu/drm/i915/intel_hdmi.c | 18 +++---------------
>  drivers/gpu/drm/i915/intel_sdvo.c | 23 +++--------------------
>  include/drm/drm_connector.h       | 10 ++++++++++
>  5 files changed, 20 insertions(+), 36 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
> index 30229ab719c0..77bb36e956db 100644
> --- a/drivers/gpu/drm/drm_atomic.c
> +++ b/drivers/gpu/drm/drm_atomic.c
> @@ -1123,6 +1123,8 @@ 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 (connector->funcs->atomic_set_property) {
>  		return connector->funcs->atomic_set_property(connector,
>  				state, property, val);
> @@ -1199,6 +1201,8 @@ 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 (connector->funcs->atomic_get_property) {
>  		return connector->funcs->atomic_get_property(connector,
>  				state, property, val);
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 54f3ff840812..d38fed78500b 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -877,7 +877,6 @@ struct intel_hdmi {
>  	bool has_audio;
>  	enum hdmi_force_audio force_audio;
>  	bool rgb_quant_range_selectable;
> -	enum hdmi_picture_aspect aspect_ratio;
>  	struct intel_connector *attached_connector;
>  	void (*write_infoframe)(struct drm_encoder *encoder,
>  				const struct intel_crtc_state *crtc_state,
> diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
> index 52f0b2d5fad2..58d690393b29 100644
> --- a/drivers/gpu/drm/i915/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> @@ -1408,7 +1408,7 @@ bool intel_hdmi_compute_config(struct intel_encoder *encoder,
>  	}
>  
>  	/* Set user selected PAR to incoming mode's member */
> -	adjusted_mode->picture_aspect_ratio = intel_hdmi->aspect_ratio;
> +	adjusted_mode->picture_aspect_ratio = conn_state->picture_aspect_ratio;
>  
>  	pipe_config->lane_count = 4;
>  
> @@ -1654,19 +1654,7 @@ intel_hdmi_set_property(struct drm_connector *connector,
>  	}
>  
>  	if (property == connector->dev->mode_config.aspect_ratio_property) {
> -		switch (val) {
> -		case DRM_MODE_PICTURE_ASPECT_NONE:
> -			intel_hdmi->aspect_ratio = HDMI_PICTURE_ASPECT_NONE;
> -			break;
> -		case DRM_MODE_PICTURE_ASPECT_4_3:
> -			intel_hdmi->aspect_ratio = HDMI_PICTURE_ASPECT_4_3;
> -			break;
> -		case DRM_MODE_PICTURE_ASPECT_16_9:
> -			intel_hdmi->aspect_ratio = HDMI_PICTURE_ASPECT_16_9;
> -			break;
> -		default:
> -			return -EINVAL;
> -		}
> +		connector->state->picture_aspect_ratio = val;
>  		goto done;
>  	}
>  
> @@ -1828,7 +1816,7 @@ intel_hdmi_add_properties(struct intel_hdmi *intel_hdmi, struct drm_connector *c
>  	intel_attach_broadcast_rgb_property(connector);
>  	intel_hdmi->color_range_auto = true;
>  	intel_attach_aspect_ratio_property(connector);
> -	intel_hdmi->aspect_ratio = HDMI_PICTURE_ASPECT_NONE;
> +	connector->state->picture_aspect_ratio = HDMI_PICTURE_ASPECT_NONE;
>  }
>  
>  /*
> diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
> index 816a6f5a3fd9..ef6fa87b2f8a 100644
> --- a/drivers/gpu/drm/i915/intel_sdvo.c
> +++ b/drivers/gpu/drm/i915/intel_sdvo.c
> @@ -107,11 +107,6 @@ struct intel_sdvo {
>  	bool color_range_auto;
>  
>  	/**
> -	 * HDMI user specified aspect ratio
> -	 */
> -	enum hdmi_picture_aspect aspect_ratio;
> -
> -	/**
>  	 * This is set if we're going to treat the device as TV-out.
>  	 *
>  	 * While we have these nice friendly flags for output types that ought
> @@ -1186,7 +1181,7 @@ static bool intel_sdvo_compute_config(struct intel_encoder *encoder,
>  
>  	/* Set user selected PAR to incoming mode's member */
>  	if (intel_sdvo->is_hdmi)
> -		adjusted_mode->picture_aspect_ratio = intel_sdvo->aspect_ratio;
> +		adjusted_mode->picture_aspect_ratio = conn_state->picture_aspect_ratio;
>  
>  	return true;
>  }
> @@ -2067,19 +2062,7 @@ intel_sdvo_set_property(struct drm_connector *connector,
>  	}
>  
>  	if (property == connector->dev->mode_config.aspect_ratio_property) {
> -		switch (val) {
> -		case DRM_MODE_PICTURE_ASPECT_NONE:
> -			intel_sdvo->aspect_ratio = HDMI_PICTURE_ASPECT_NONE;
> -			break;
> -		case DRM_MODE_PICTURE_ASPECT_4_3:
> -			intel_sdvo->aspect_ratio = HDMI_PICTURE_ASPECT_4_3;
> -			break;
> -		case DRM_MODE_PICTURE_ASPECT_16_9:
> -			intel_sdvo->aspect_ratio = HDMI_PICTURE_ASPECT_16_9;
> -			break;
> -		default:
> -			return -EINVAL;
> -		}
> +		connector->state->picture_aspect_ratio = val;
>  		goto done;
>  	}
>  
> @@ -2418,7 +2401,7 @@ intel_sdvo_add_hdmi_properties(struct intel_sdvo *intel_sdvo,
>  		intel_sdvo->color_range_auto = true;
>  	}
>  	intel_attach_aspect_ratio_property(&connector->base.base);
> -	intel_sdvo->aspect_ratio = HDMI_PICTURE_ASPECT_NONE;
> +	connector->base.base.state->picture_aspect_ratio = HDMI_PICTURE_ASPECT_NONE;
>  }
>  
>  static struct intel_sdvo_connector *intel_sdvo_connector_alloc(void)
> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
> index 4eeda120e46d..1ecf5f2619c0 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,15 @@ 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
> +	 * values for &enum hdmi_picture_aspect
> +	 */
> +	enum hdmi_picture_aspect picture_aspect_ratio;
>  };
>  
>  /**
> -- 
> 2.9.3
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2017-05-01 18:27 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-01 13:37 [PATCH v6 00/12] drm/i915: Convert connector properties to atomic Maarten Lankhorst
2017-05-01 13:37 ` [PATCH v6 01/12] drm/atomic: Handle picture_aspect_ratio in atomic core Maarten Lankhorst
2017-05-01 18:27   ` Manasi Navare [this message]
2017-05-02  9:54   ` Daniel Vetter
2017-05-01 13:37 ` [PATCH v6 02/12] drm/atomic: Add support for custom scaling mode properties, v2 Maarten Lankhorst
2017-05-02  9:44   ` Daniel Vetter
2017-05-02 11:06     ` Maarten Lankhorst
2017-05-01 13:37 ` [PATCH v6 03/12] drm/i915: Use atomic scaling_mode instead of panel.fitting_mode Maarten Lankhorst
2017-05-01 13:37 ` [PATCH v6 04/12] drm/i915: Use per-connector scaling mode property Maarten Lankhorst
2017-05-01 13:37 ` [PATCH v6 05/12] drm/i915: Add plumbing for digital connector state, v3 Maarten Lankhorst
2017-05-02  9:56   ` Daniel Vetter
2017-05-30 10:28     ` Maarten Lankhorst
2017-05-01 13:37 ` [PATCH v6 06/12] drm/i915: Convert DSI connector properties to atomic Maarten Lankhorst
2017-05-01 13:37 ` [PATCH v6 07/12] drm/i915: Convert LVDS " Maarten Lankhorst
2017-05-01 13:38 ` [PATCH v6 08/12] drm/i915: Make intel_dp->has_audio reflect hw state only Maarten Lankhorst
2017-05-01 13:38 ` [PATCH v6 09/12] drm/i915: Convert intel_dp properties to atomic, v2 Maarten Lankhorst
2017-05-01 13:38 ` [PATCH v6 10/12] drm/i915: Convert intel_hdmi connector properties to atomic Maarten Lankhorst
2017-05-01 13:38 ` [PATCH v6 11/12] drm/i915: Handle force_audio correctly in intel_sdvo Maarten Lankhorst
2017-05-01 13:38 ` [PATCH v6 12/12] drm/i915: Convert intel_sdvo connector properties to atomic Maarten Lankhorst
2017-05-01 14:14 ` ✗ Fi.CI.BAT: failure for drm/i915: Convert connector properties to atomic. (rev7) Patchwork
2017-05-02  6:28 ` ✓ Fi.CI.BAT: success " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170501182719.GA20023@intel.com \
    --to=manasi.d.navare@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=maarten.lankhorst@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.