+ puthik
On Saturday 07 April 2018 12:36 AM, Vivi, Rodrigo wrote:
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.nagar...@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.

The idea was to give user the option to switch to psr1 ,if they want to.



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.
with enable_psr , we are deciding whether to use psr1/psr2.
we can reuse enable_psr.

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.v...@intel.com>
Cc: Dhinakaran Pandiyan <dhinakaran.pandi...@intel.com>
Cc: José Roberto de Souza <jose.so...@intel.com>
Signed-off-by: Vathsala Nagaraju <vathsala.nagar...@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" : "");
  }


_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to