[Intel-gfx] [PATCH v2] drm/i915/display: Allow users to disable PSR2

Hogander, Jouni jouni.hogander at intel.com
Mon Feb 28 08:44:58 UTC 2022


Psr_debug has already similar functionality you are introducing here.
Values we used there are different. Maybe we should consider dropping
that setting? Still for this patch:

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

On Thu, 2022-02-24 at 12:25 -0800, José Roberto de Souza wrote:
> Some users are suffering with PSR2 issues that are under debug or
> issues that were root caused to panel firmware bugs, to make life of
> those users easier here adding a option to disable PSR2 with kernel
> parameters so they can still benefit from PSR1 power savings.
> 
> Using the same enable_psr that is current used to turn the whole
> feature on or off and allowing user to select up to what PSR version
> it should enable.
> Right now users only set this parameter to 0 when they want to
> disable
> PSR1 and PSR2 or don't add it at all leaving it to per-chip behavior
> so it should not cause a bad impact on users.
> 
> v2:
> - changing enable_psr values (Ville and Rodrigo)
> 
> Link: https://gitlab.freedesktop.org/drm/intel/-/issues/4951
> Cc: Jouni Högander <jouni.hogander at intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_psr.c | 4 ++++
>  drivers/gpu/drm/i915/i915_params.c       | 2 +-
>  2 files changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> b/drivers/gpu/drm/i915/display/intel_psr.c
> index 2e0b092f4b6be..9817ebd4c839e 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -100,11 +100,15 @@ static bool psr_global_enabled(struct intel_dp
> *intel_dp)
>  
>  static bool psr2_global_enabled(struct intel_dp *intel_dp)
>  {
> +	struct drm_i915_private *i915 = dp_to_i915(intel_dp);
> +
>  	switch (intel_dp->psr.debug & I915_PSR_DEBUG_MODE_MASK) {
>  	case I915_PSR_DEBUG_DISABLE:
>  	case I915_PSR_DEBUG_FORCE_PSR1:
>  		return false;
>  	default:
> +		if (i915->params.enable_psr == 1)
> +			return false;
>  		return true;
>  	}
>  }
> diff --git a/drivers/gpu/drm/i915/i915_params.c
> b/drivers/gpu/drm/i915/i915_params.c
> index eea355c2fc28a..207b54a4e6ce7 100644
> --- a/drivers/gpu/drm/i915/i915_params.c
> +++ b/drivers/gpu/drm/i915/i915_params.c
> @@ -94,7 +94,7 @@ i915_param_named_unsafe(enable_hangcheck, bool,
> 0400,
>  
>  i915_param_named_unsafe(enable_psr, int, 0400,
>  	"Enable PSR "
> -	"(0=disabled, 1=enabled) "
> +	"(0=disabled, 1=enable up to PSR1, 2=enable up to PSR2) "
>  	"Default: -1 (use per-chip default)");
>  
>  i915_param_named(psr_safest_params, bool, 0400,



More information about the Intel-gfx mailing list