All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vandana Kannan <vandana.kannan@intel.com>
To: "intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH 3/3] drm/i915: Add aspect ratio property for HDMI
Date: Fri, 23 May 2014 07:59:36 +0530	[thread overview]
Message-ID: <537EB290.4080209@intel.com> (raw)
In-Reply-To: <1400757650-28636-3-git-send-email-vandana.kannan@intel.com>

Adding dri-devel..

On May-22-2014 4:50 PM, Kannan, Vandana wrote:
> Create and attach the drm property to set aspect ratio. If there is no user
> specified value, then PAR_NONE/Automatic option is set by default. User can
> select aspect ratio 4:3 or 16:9. The aspect ratio selected by user would
> come into effect with a mode set.
> 
> Signed-off-by: Vandana Kannan <vandana.kannan@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_drv.h   |  5 +++++
>  drivers/gpu/drm/i915/intel_drv.h  |  1 +
>  drivers/gpu/drm/i915/intel_hdmi.c | 31 +++++++++++++++++++++++++++++++
>  3 files changed, 37 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 13495a4..8dc5f59 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -2691,6 +2691,11 @@ int vlv_freq_opcode(struct drm_i915_private *dev_priv, int val);
>  #define INTEL_BROADCAST_RGB_FULL 1
>  #define INTEL_BROADCAST_RGB_LIMITED 2
>  
> +/* Aspect ratio property */
> +#define INTEL_ASPECT_RATIO_AUTO 0
> +#define INTEL_ASPECT_RATIO_4_3  1
> +#define INTEL_ASPECT_RATIO_16_9 2
> +
>  static inline uint32_t i915_vgacntrl_reg(struct drm_device *dev)
>  {
>  	if (HAS_PCH_SPLIT(dev))
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 287b89e..f9f19b6 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -488,6 +488,7 @@ struct intel_hdmi {
>  	bool has_audio;
>  	enum hdmi_force_audio force_audio;
>  	bool rgb_quant_range_selectable;
> +	enum hdmi_picture_aspect aspect_ratio;
>  	void (*write_infoframe)(struct drm_encoder *encoder,
>  				enum hdmi_infoframe_type type,
>  				const void *frame, ssize_t len);
> diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
> index 171d0dd..2c6aa76 100644
> --- a/drivers/gpu/drm/i915/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> @@ -367,6 +367,9 @@ static void intel_hdmi_set_avi_infoframe(struct drm_encoder *encoder,
>  	union hdmi_infoframe frame;
>  	int ret;
>  
> +	/* Set user selected PAR to incoming mode's member */
> +	adjusted_mode->picture_aspect_ratio = intel_hdmi->aspect_ratio;
> +
>  	ret = drm_hdmi_avi_infoframe_from_display_mode(&frame.avi,
>  						       adjusted_mode);
>  	if (ret < 0) {
> @@ -1124,6 +1127,23 @@ intel_hdmi_set_property(struct drm_connector *connector,
>  		goto done;
>  	}
>  
> +	if (property == connector->dev->mode_config.aspect_ratio_property) {
> +		switch (val) {
> +		case INTEL_ASPECT_RATIO_AUTO:
> +			intel_hdmi->aspect_ratio = HDMI_PICTURE_ASPECT_NONE;
> +			break;
> +		case INTEL_ASPECT_RATIO_4_3:
> +			intel_hdmi->aspect_ratio = HDMI_PICTURE_ASPECT_4_3;
> +			break;
> +		case INTEL_ASPECT_RATIO_16_9:
> +			intel_hdmi->aspect_ratio = HDMI_PICTURE_ASPECT_16_9;
> +			break;
> +		default:
> +			return -EINVAL;
> +		}
> +		goto done;
> +	}
> +
>  	return -EINVAL;
>  
>  done:
> @@ -1416,11 +1436,22 @@ static const struct drm_encoder_funcs intel_hdmi_enc_funcs = {
>  };
>  
>  static void
> +intel_attach_aspect_ratio_property(struct drm_connector *connector)
> +{
> +	drm_mode_create_aspect_ratio_property(connector->dev);
> +	drm_object_attach_property(&connector->base,
> +			connector->dev->mode_config.aspect_ratio_property,
> +			HDMI_PICTURE_ASPECT_NONE);
> +}
> +
> +static void
>  intel_hdmi_add_properties(struct intel_hdmi *intel_hdmi, struct drm_connector *connector)
>  {
>  	intel_attach_force_audio_property(connector);
>  	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;
>  }
>  
>  void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port,
> 

  reply	other threads:[~2014-05-23  2:29 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-22 11:20 [PATCH 1/3] drm/crtc: Add property for aspect ratio Vandana Kannan
2014-05-22 11:20 ` [PATCH 2/3] drm/edid: Check for user aspect ratio input Vandana Kannan
2014-05-22 11:42   ` Thierry Reding
2014-05-23 10:44     ` Vandana Kannan
2014-05-26 10:07       ` [PATCH v2 2/4] " Vandana Kannan
2014-06-05  6:33         ` Thierry Reding
2014-06-05  9:15           ` [PATCH v3 " Vandana Kannan
2014-06-05  9:25             ` Thierry Reding
2014-05-22 11:20 ` [PATCH 3/3] drm/i915: Add aspect ratio property for HDMI Vandana Kannan
2014-05-23  2:29   ` Vandana Kannan [this message]
2014-05-26 10:11     ` [PATCH v2 3/4] " Vandana Kannan
2014-06-11  5:36       ` [PATCH v3 " Vandana Kannan
2014-05-22 11:38 ` [PATCH 1/3] drm/crtc: Add property for aspect ratio Thierry Reding
2014-05-23 10:41   ` Vandana Kannan
2014-05-22 12:16 ` [Intel-gfx] " Daniel Vetter
2014-05-23 10:48   ` Vandana Kannan
2014-05-26  5:30     ` [Intel-gfx] " Vandana Kannan
2014-05-26  7:54       ` Daniel Vetter
2014-05-26 10:04         ` [PATCH v2 1/4] " Vandana Kannan
2014-06-05  6:40           ` Thierry Reding
2014-06-05  9:10             ` [PATCH v3 " Vandana Kannan
2014-06-05  9:28               ` Thierry Reding
2014-06-10  8:30                 ` Vandana Kannan
2014-06-10 11:15                   ` Thierry Reding
2014-06-11  5:16                     ` [PATCH v4 " Vandana Kannan
2014-07-01  5:01                       ` Vandana Kannan
2014-07-14  6:51                       ` Thierry Reding
2014-07-15  6:48                         ` [Intel-gfx] " Daniel Vetter
2014-07-15 15:23                           ` Vandana Kannan
2014-07-09 21:16 ` [Intel-gfx] [PATCH 1/3] " Jesse Barnes
  -- strict thread matches above, loose matches on Subject: below --
2014-04-07 11:25 Vandana Kannan
2014-04-07 11:25 ` [PATCH 3/3] drm/i915: Add aspect ratio property for HDMI Vandana Kannan
2014-04-07 10:03 [PATCH 1/3] drm/crtc: Add property for aspect ratio Vandana Kannan
2014-04-07 10:03 ` [PATCH 3/3] drm/i915: Add aspect ratio property for HDMI Vandana Kannan

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=537EB290.4080209@intel.com \
    --to=vandana.kannan@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    /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.