@@ -1500,6 +1500,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)) &&
+ dev_priv->params.enable_psr == 0)
+ dev_priv->params.enable_psr = -1;
+
if (dev_priv->params.enable_psr == -1)
if (INTEL_GEN(dev_priv) < 9 || !dev_priv->vbt.psr.enable)
dev_priv->params.enable_psr = 0;
@@ -1705,6 +1705,14 @@ enum drm_dp_quirk {
* the DP_MAX_LINK_RATE register reporting a lower max multiplier.
*/
DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_3_24_GBPS,
+ /**
+ * @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(+)