[Intel-gfx] [PATCH] drm/i915/psr: enable psr1 on psr2 panels

Rodrigo Vivi rodrigo.vivi at intel.com
Fri Apr 6 19:06:53 UTC 2018


On Fri, Apr 06, 2018 at 12:10:24PM -0700, Dhinakaran Pandiyan wrote:
> 
> 
> 
> On Sat, 2018-04-07 at 00:12 +0530, vathsala nagaraju wrote:
> > From: Vathsala Nagaraju <vathsala.nagaraju at intel.com>
> > 
> > Adds force_psr1 mod parameter to enable psr1 on psr2 panels.
> > useful in cases where psr2 fails and user wants to enable
> > psr1 feature for power saving until a fix
> > is provided for psr2.

The parameters shouldn't be used by users to select a configuration.
They are marked as unsafe. We should only enable the feature when
we are comfortable it doesn't cause trouble.

> 
> 
> We should perhaps make enable_psr=1 enable just PSR1. I am not
> comfortable that we enable PSR2 at all, there are no tests in IGT for
> selective update, seems like nobody really knows exactly how well it
> works. 

Agreed. Probably good for now to avoid PSR2 in all situations and only
allow PSR2 when we are properly testing it.

> 
> 
> > 
> > Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> > Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>
> > Cc: José Roberto de Souza <jose.souza at intel.com>
> > Signed-off-by: Vathsala Nagaraju <vathsala.nagaraju at intel.com>
> > ---
> >  drivers/gpu/drm/i915/i915_params.c | 5 +++++
> >  drivers/gpu/drm/i915/i915_params.h | 1 +
> >  drivers/gpu/drm/i915/intel_psr.c   | 2 ++
> >  3 files changed, 8 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
> > index 08108ce..5b6f5af 100644
> > --- a/drivers/gpu/drm/i915/i915_params.c
> > +++ b/drivers/gpu/drm/i915/i915_params.c
> > @@ -95,6 +95,11 @@ struct i915_params i915_modparams __read_mostly = {
> >  	"(0=disabled, 1=enabled - link mode chosen per-platform, 2=force link-standby mode, 3=force link-off mode) "
> >  	"Default: -1 (use per-chip default)");
> >  
> > +i915_param_named_unsafe(force_psr1, int, 0600,
> > +	"Enable PSR1 on PSR2 Panel "
> > +	"(0=disabled, 1=enabled) "
> > +	"Default: -1 (use per-chip default)");
> > +
> >  i915_param_named_unsafe(alpha_support, bool, 0400,
> >  	"Enable alpha quality driver support for latest hardware. "
> >  	"See also CONFIG_DRM_I915_ALPHA_SUPPORT.");
> > diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
> > index c963603..1f5dd1c 100644
> > --- a/drivers/gpu/drm/i915/i915_params.h
> > +++ b/drivers/gpu/drm/i915/i915_params.h
> > @@ -44,6 +44,7 @@
> >  	param(int, enable_fbc, -1) \
> >  	param(int, enable_ppgtt, -1) \
> >  	param(int, enable_psr, -1) \
> > +	param(int, force_psr1, -1) \
> >  	param(int, disable_power_well, -1) \
> >  	param(int, enable_ips, 1) \
> >  	param(int, invert_brightness, 0) \
> > diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
> > index 2d53f73..415e377 100644
> > --- a/drivers/gpu/drm/i915/intel_psr.c
> > +++ b/drivers/gpu/drm/i915/intel_psr.c
> > @@ -540,6 +540,8 @@ void intel_psr_compute_config(struct intel_dp *intel_dp,
> >  
> >  	crtc_state->has_psr = true;
> >  	crtc_state->has_psr2 = intel_psr2_config_valid(intel_dp, crtc_state);
> > +	if (i915_modparams.force_psr1 == 1 && crtc_state->has_psr2)
> > +		crtc_state->has_psr2 = false;
> >  	DRM_DEBUG_KMS("Enabling PSR%s\n", crtc_state->has_psr2 ? "2" : "");
> >  }
> >  
> 


More information about the Intel-gfx mailing list