Re: [PATCH] drm/i915/psr: Update PSR2 resolution check for Cannonlake

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 01, 2018 at 12:38:58PM -0800, Dhinakaran Pandiyan wrote:
> In fact, apply the Cannonlake resolution check for all > Gen-9 platforms to
> be safe.
> 
> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
> Cc: Elio Martinez Monroy <elio.martinez.monroy@xxxxxxxxx>
> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@xxxxxxxxx>
> ---
>  drivers/gpu/drm/i915/intel_psr.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
> index 05770790a4e9..2a2c696c4109 100644
> --- a/drivers/gpu/drm/i915/intel_psr.c
> +++ b/drivers/gpu/drm/i915/intel_psr.c
> @@ -451,8 +451,8 @@ static bool intel_psr2_config_valid(struct intel_dp *intel_dp,
>  {
>  	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
>  	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
> -	const struct drm_display_mode *adjusted_mode =
> -		&crtc_state->base.adjusted_mode;
> +	int crtc_h = crtc_state->base.adjusted_mode.crtc_hdisplay;
> +	int crtc_v = crtc_state->base.adjusted_mode.crtc_vdisplay;
>  
>  	/*
>  	 * FIXME psr2_support is messed up. It's both computed
> @@ -462,9 +462,10 @@ static bool intel_psr2_config_valid(struct intel_dp *intel_dp,
>  	if (!dev_priv->psr.psr2_support)
>  		return false;
>  
> -	/* PSR2 is restricted to work with panel resolutions up to 3640x2304 */
> -	if (adjusted_mode->crtc_hdisplay > 3640 ||
> -	    adjusted_mode->crtc_vdisplay > 2304) {
> +	if (crtc_h > 4096 || crtc_v > 2304) {
> +		DRM_DEBUG_KMS("PSR2 not enabled, panel resolution too big\n");
> +		return false;
> +	} else if (IS_GEN9(dev_priv) && (crtc_h > 3640 || crtc_v > 2304)) {

I would suggest introducing max_w/h or something similar so that you
don't have to duplicate the actual code.

When debugging things from logs one might want to know both the requested
size and the max. So printing those out might be a good idea.

>  		DRM_DEBUG_KMS("PSR2 not enabled, panel resolution too big\n");
>  		return false;
>  	}
> -- 
> 2.14.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux