[PATCH v2 1/2][SRU][U] UBUNTU: SAUCE: drm/i915/psr: allow overriding PSR disable param by quirk
You-Sheng Yang
vicamo.yang at canonical.com
Wed Sep 30 07:05:14 UTC 2020
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 at canonical.com>
---
drivers/gpu/drm/i915/display/intel_psr.c | 8 ++++++++
include/drm/drm_dp_helper.h | 8 ++++++++
2 files changed, 16 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index bf9e320c547d..215ecd999d1d 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -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;
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index e47dc22ebf50..933a37b29ead 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -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,
};
/**
--
2.27.0
More information about the kernel-team
mailing list