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@xxxxxxxxx> 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@xxxxxxxxx> > Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Signed-off-by: José Roberto de Souza <jose.souza@xxxxxxxxx> > --- > 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,