[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