All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
To: "José Roberto de Souza" <jose.souza@intel.com>,
	intel-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org, Rodrigo Vivi <rodrigo.vivi@intel.com>
Subject: Re: [PATCH v2 08/11] drm/i915/psr: Check if source supports sink specific SU granularity
Date: Mon, 03 Dec 2018 12:59:54 -0800	[thread overview]
Message-ID: <6eb613d82dac84f3169f067bb98ed614e2d37850.camel@intel.com> (raw)
In-Reply-To: <20181130022525.25676-8-jose.souza@intel.com>

On Thu, 2018-11-29 at 18:25 -0800, José Roberto de Souza wrote:
> According to eDP spec, sink can required specific selective update
> granularity that source must comply.
> Here caching the value if required and checking if source supports
> it.
> 
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_drv.h  |  1 +
>  drivers/gpu/drm/i915/intel_psr.c | 21 ++++++++++++++++++++-
>  2 files changed, 21 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.h
> b/drivers/gpu/drm/i915/i915_drv.h
> index 43ac6873a2bb..0727d8051dd3 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -507,6 +507,7 @@ struct i915_psr {
>  	ktime_t last_exit;
>  	bool sink_not_reliable;
>  	bool irq_aux_error;
> +	u16 su_x_granularity;
>  };
>  
>  enum intel_pch {
> diff --git a/drivers/gpu/drm/i915/intel_psr.c
> b/drivers/gpu/drm/i915/intel_psr.c
> index 282ff1bc68a7..f9eccaac850a 100644
> --- a/drivers/gpu/drm/i915/intel_psr.c
> +++ b/drivers/gpu/drm/i915/intel_psr.c
> @@ -261,6 +261,23 @@ static u8 intel_dp_get_sink_sync_latency(struct
> intel_dp *intel_dp)
>  	return val;
>  }
>  
> +static u16 intel_dp_get_su_x_granulartiy(struct intel_dp *intel_dp)
> +{
> +	u16 val;
> +	ssize_t r;
> +
> +	if (!(intel_dp->psr_dpcd[1] & DP_PSR2_SU_GRANULARITY_REQUIRED))
> {
> +		/* Returning the default X granularity */
> +		return 4;
> +	}
nit: Braces not needed, you could move the comment a line above.

A value of 0 in this DPCD indicates there is no granularity
requirement, why assume 4? 

> +
> +	r = drm_dp_dpcd_read(&intel_dp->aux, DP_PSR2_SU_X_GRANULARITY,
> &val, 2);
> +	if (r != 2)
> +		DRM_WARN("Unable to read DP_PSR2_SU_X_GRANULARITY\n");
Please change this to the warning level that we use elsewhere for aux
failures.

If I'm reading the spec correctly, a value of 0 in this DPCD means the
sink expects a granularity of 4, so returning 0 would be incorrect.

> +
> +	return val;
Assume the default value of 4 if aux read fails (after printing an
error)

> +}
> +
>  void intel_psr_init_dpcd(struct intel_dp *intel_dp)
>  {
>  	struct drm_i915_private *dev_priv =
> @@ -315,6 +332,8 @@ void intel_psr_init_dpcd(struct intel_dp
> *intel_dp)
>  		if (dev_priv->psr.sink_psr2_support) {
>  			dev_priv->psr.colorimetry_support =
>  				intel_dp_get_colorimetry_status(intel_d
> p);
> +			dev_priv->psr.su_x_granularity =
> +				intel_dp_get_su_x_granulartiy(intel_dp)
> ;
>  		}
>  	}
>  }
> @@ -546,7 +565,7 @@ static bool intel_psr2_config_valid(struct
> intel_dp *intel_dp,
>  	 * at each 4 lines with height of 4 lines, what eDP states
>  	 * that sink should support.
>  	 */
> -	if (crtc_hdisplay % 4) {
> +	if (crtc_hdisplay % dev_priv->psr.su_x_granularity) {
>  		DRM_DEBUG_KMS("PSR2 not enabled, default SU granularity
> not match\n");
>  		return false;
>  	}

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2018-12-03 20:59 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-30  2:25 [PATCH v2 01/11] drm/i915: Disable PSR in Apple panels José Roberto de Souza
2018-11-30  2:25 ` [PATCH v2 02/11] drm/i915/psr: Don't tell sink that main link will be active while is active PSR2 José Roberto de Souza
2018-11-30 23:42   ` Dhinakaran Pandiyan
2018-11-30  2:25 ` [PATCH v2 03/11] drm/i915/psr: Set PSR CRC verification bit in sink inside PSR1 block José Roberto de Souza
2018-11-30 23:54   ` Dhinakaran Pandiyan
2018-12-03 20:24     ` Souza, Jose
2018-11-30  2:25 ` [PATCH v2 04/11] drm/i915/psr: Enable sink to trigger a interruption on PSR2 CRC mismatch José Roberto de Souza
2018-12-01  0:00   ` Dhinakaran Pandiyan
2018-11-30  2:25 ` [PATCH v2 05/11] drm/i915/icl: Do not change reserved registers related to PSR2 José Roberto de Souza
2018-11-30  2:25 ` [PATCH v2 06/11] drm: Add the PSR SU granularity registers offsets José Roberto de Souza
2018-12-01  0:13   ` Dhinakaran Pandiyan
2018-11-30  2:25 ` [PATCH v2 07/11] drm/i915/psr: Check if resolution is supported by default SU granularity José Roberto de Souza
2018-12-01  0:37   ` Dhinakaran Pandiyan
2018-12-03 20:40     ` Souza, Jose
2018-11-30  2:25 ` [PATCH v2 08/11] drm/i915/psr: Check if source supports sink specific " José Roberto de Souza
2018-12-03 20:59   ` Dhinakaran Pandiyan [this message]
2018-12-03 22:45     ` Souza, Jose
2018-12-03 23:12       ` Pandiyan, Dhinakaran
2018-12-03 23:18         ` Souza, Jose
2018-11-30  2:25 ` [PATCH v2 09/11] drm/i915: Remove old PSR2 FIXME about frontbuffer tracking José Roberto de Souza
2018-11-30  2:25 ` [PATCH v2 10/11] drm/i915: Improve PSR2 CTL macros José Roberto de Souza
2018-12-03 23:03   ` Dhinakaran Pandiyan
2018-12-03 23:10     ` Rodrigo Vivi
2018-11-30  2:25 ` [PATCH v2 11/11] drm/i915/psr: Set the right frames values José Roberto de Souza
2018-11-30  2:37 ` ✗ Fi.CI.SPARSE: warning for series starting with [v2,01/11] drm/i915: Disable PSR in Apple panels Patchwork
2018-11-30  2:55 ` ✓ Fi.CI.BAT: success " Patchwork
2018-11-30 20:53 ` ✓ Fi.CI.IGT: " Patchwork
2018-11-30 23:35 ` [PATCH v2 01/11] " Dhinakaran Pandiyan
2018-12-03 20:14   ` Souza, Jose
2018-12-03 22:45     ` Dhinakaran Pandiyan
2018-12-03 22:53       ` Souza, Jose
2018-12-03 20:40   ` Dhinakaran Pandiyan
2018-12-03 12:04 ` Jani Nikula

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=6eb613d82dac84f3169f067bb98ed614e2d37850.camel@intel.com \
    --to=dhinakaran.pandiyan@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jose.souza@intel.com \
    --cc=rodrigo.vivi@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.