[Intel-gfx] [PATCH] drm/i915/display: Fix handling of enable_psr parameter

Hogander, Jouni jouni.hogander at intel.com
Thu Jun 9 05:34:39 UTC 2022


On Wed, 2022-06-08 at 13:33 -0700, José Roberto de Souza wrote:
> Commit 3cf050762534 ("drm/i915/bios: Split VBT data into per-panel
> vs.
> global parts") cause PSR to be disabled when enable_psr has the
> default value and there is at least one DP port that do not supports
> PSR.
> 
> That was happening because intel_psr_init() is called for every DP
> port and then enable_psr is globaly set to 0 based on the PSR support
> of the DP port.
> 
> Here dropping the enable_psr overwritten and using the VBT PSR value
> when enable_psr is set as default.

Reviewed-by: Jouni Högander <jouni.hogander at intel.com>

> 
> Fixes: 3cf050762534 ("drm/i915/bios: Split VBT data into per-panel
> vs. global parts")
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Cc: Jani Nikula <jani.nikula at intel.com>
> Cc: Jouni Högander <jouni.hogander at intel.com>
> Cc: Mika Kahola <mika.kahola at intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_psr.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> b/drivers/gpu/drm/i915/display/intel_psr.c
> index aedb3e0e69ecd..7d61c55184e51 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -86,10 +86,13 @@
>  
>  static bool psr_global_enabled(struct intel_dp *intel_dp)
>  {
> +	struct intel_connector *connector = intel_dp-
> >attached_connector;
>  	struct drm_i915_private *i915 = dp_to_i915(intel_dp);
>  
>  	switch (intel_dp->psr.debug & I915_PSR_DEBUG_MODE_MASK) {
>  	case I915_PSR_DEBUG_DEFAULT:
> +		if (i915->params.enable_psr == -1)
> +			return connector->panel.vbt.psr.enable;
>  		return i915->params.enable_psr;
>  	case I915_PSR_DEBUG_DISABLE:
>  		return false;
> @@ -2394,10 +2397,6 @@ void intel_psr_init(struct intel_dp *intel_dp)
>  
>  	intel_dp->psr.source_support = true;
>  
> -	if (dev_priv->params.enable_psr == -1)
> -		if (!connector->panel.vbt.psr.enable)
> -			dev_priv->params.enable_psr = 0;
> -
>  	/* Set link_standby x link_off defaults */
>  	if (DISPLAY_VER(dev_priv) < 12)
>  		/* For new platforms up to TGL let's respect VBT back
> again */



More information about the Intel-gfx mailing list