@@ -1423,6 +1423,14 @@ void intel_psr_init(struct drm_i915_private *dev_priv)
*/
dev_priv->hsw_psr_mmio_adjust = _SRD_CTL_EDP - _HSW_EDP_PSR_BASE;
+ /*
+ * PSR was disabled by module parameters but the underlying panel is
+ * depending on it, so use per-chip default to probe that automatically.
+ */
+ if ((dev_priv->psr.dp->edid_quirks & BIT(DP_QUIRK_FORCE_PSR_CHIP_DEFAULT)) &&
+ i915_modparams.enable_psr == 0)
+ i915_modparams.enable_psr = -1;
+
if (i915_modparams.enable_psr == -1)
if (INTEL_GEN(dev_priv) < 9 || !dev_priv->vbt.psr.enable)
i915_modparams.enable_psr = 0;
@@ -1548,6 +1548,14 @@ enum drm_dp_quirk {
* capabilities advertised.
*/
DP_QUIRK_FORCE_DPCD_BACKLIGHT,
+ /**
+ * @DP_QUIRK_FORCE_PSR_CHIP_DEFAULT
+ *
+ * PSR was disabled by default in Ubuntu 5.0 kernels and on, but some
+ * platforms might be depending on them. If so, use per-chip default to
+ * probe that automatically.
+ */
+ DP_QUIRK_FORCE_PSR_CHIP_DEFAULT,
};
/**
BugLink: https://bugs.launchpad.net/bugs/1897501 HP ZBook Studio G7 equips an INX FHD N156HCG-GQ1 panel that renders corrupted screen when PSR is disabled. This patch allows overriding the default disabled i915_modparams.enable_psr since LP: #1849947 to use chip default when a EDID match is on. Signed-off-by: You-Sheng Yang <vicamo.yang@canonical.com> --- drivers/gpu/drm/i915/display/intel_psr.c | 8 ++++++++ include/drm/drm_dp_helper.h | 8 ++++++++ 2 files changed, 16 insertions(+)