Commit 2bdd045e authored by Dhinakaran Pandiyan's avatar Dhinakaran Pandiyan Committed by Rodrigo Vivi

drm/i915/psr: Check if VBT says PSR can be enabled.

Driver features data block has a boolean flag for PSR, use this to decide
whether PSR should be enabled on a platform. The module parameter can
still be used to override this.

Note: The feature currently remains disabled by default for all platforms
irrespective of what VBT says.

Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: default avatarDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180509003524.3199-1-dhinakaran.pandiyan@intel.com
parent 6486d84b
...@@ -1073,6 +1073,7 @@ struct intel_vbt_data { ...@@ -1073,6 +1073,7 @@ struct intel_vbt_data {
} edp; } edp;
struct { struct {
bool enable;
bool full_link; bool full_link;
bool require_aux_wakeup; bool require_aux_wakeup;
int idle_frames; int idle_frames;
......
...@@ -530,6 +530,7 @@ parse_driver_features(struct drm_i915_private *dev_priv, ...@@ -530,6 +530,7 @@ parse_driver_features(struct drm_i915_private *dev_priv,
*/ */
if (!driver->drrs_enabled) if (!driver->drrs_enabled)
dev_priv->vbt.drrs_type = DRRS_NOT_SUPPORTED; dev_priv->vbt.drrs_type = DRRS_NOT_SUPPORTED;
dev_priv->vbt.psr.enable = driver->psr_enabled;
} }
static void static void
......
...@@ -1173,9 +1173,12 @@ void intel_psr_init(struct drm_i915_private *dev_priv) ...@@ -1173,9 +1173,12 @@ void intel_psr_init(struct drm_i915_private *dev_priv)
if (!dev_priv->psr.sink_support) if (!dev_priv->psr.sink_support)
return; return;
if (i915_modparams.enable_psr == -1) {
i915_modparams.enable_psr = dev_priv->vbt.psr.enable;
/* Per platform default: all disabled. */ /* Per platform default: all disabled. */
if (i915_modparams.enable_psr == -1)
i915_modparams.enable_psr = 0; i915_modparams.enable_psr = 0;
}
/* Set link_standby x link_off defaults */ /* Set link_standby x link_off defaults */
if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment