Currently PSR2 appears to be broken on TGL which causes some pretty nasty
refresh issues. Intel doesn't have a fix for this quite yet, and this
definitely affects a couple of OEM machines shipping with Fedora.
We don't have a better workaround for the time being, so just disable PSR2
outright for Tigerlake by default until this gets fixed.
Signed-off-by: Lyude Paul <lyude(a)redhat.com>
Cc: Jared Dominguez <jaredz(a)redhat.com>
Cc: Mark Pearson <markpearson(a)lenovo.com>
Bugzilla:
https://gitlab.freedesktop.org/drm/intel/-/issues/3134
---
drivers/gpu/drm/i915/display/intel_psr.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
b/drivers/gpu/drm/i915/display/intel_psr.c
index 850cb7f5b332..48ea3a42feb2 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -1817,9 +1817,14 @@ void intel_psr_init(struct drm_i915_private *dev_priv)
*/
dev_priv->hsw_psr_mmio_adjust = _SRD_CTL_EDP - _HSW_EDP_PSR_BASE;
- if (dev_priv->params.enable_psr == -1)
- if (INTEL_GEN(dev_priv) < 9 || !dev_priv->vbt.psr.enable)
+ if (dev_priv->params.enable_psr == -1) {
+ if (INTEL_GEN(dev_priv) < 9 || !dev_priv->vbt.psr.enable) {
dev_priv->params.enable_psr = 0;
+ } else if (INTEL_GEN(dev_priv) == 12) {
+ /* See
https://gitlab.freedesktop.org/drm/intel/-/issues/3134 */
+ dev_priv->params.enable_psr = 0;
+ }
+ }
/* Set link_standby x link_off defaults */
if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv))
--
2.30.2