Issue: Enble both PSR and FBC caused some fickers on some eDP panels (eg. Panel GIS 13.5" QHD Glare NE135FBM-N41/NC135GFL02). Disbling either PSR or FBC will solve this flicker issue. Both PSR and FBC features save power when render is not busy. When PSR is active, saving power achieved by source turning off source transmitter and main link, putting memory on self-refresh mode. Therefore with PSR enabled, FBC role is minimized since PSR power saving already covers most what FBC does. Disabling FBC in case to avoid conflict between PSR and FBC which causes display anomaly in some scenarios. Tests: Booted system with PSR enabled, verified FBC disabled. Disabled PSR with disabled (i915.enable_psr=0), verified FBC enabled. --- drivers/gpu/drm/i915/display/intel_fbc.c | 6 ++++++ drivers/gpu/drm/i915/display/intel_psr.c | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c index 1c26673acb2d..52bc7483adb5 100644 --- a/drivers/gpu/drm/i915/display/intel_fbc.c +++ b/drivers/gpu/drm/i915/display/intel_fbc.c @@ -1419,6 +1419,12 @@ void intel_fbc_init(struct drm_i915_private *dev_priv) drm_dbg_kms(&dev_priv->drm, "Sanitized enable_fbc value: %d\n", i915_modparams.enable_fbc); + if (i915_modparams.enable_psr) { + i915_modparams.enable_fbc = 0; + DRM_DEBUG_KMS("PSR enabled. FBC no longer needed. Disable FBC. \n"); + } + + if (!HAS_FBC(dev_priv)) { fbc->no_fbc_reason = "unsupported by this chipset"; return; diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c index b7a2c102648a..25accfdd5ad3 100644 --- a/drivers/gpu/drm/i915/display/intel_psr.c +++ b/drivers/gpu/drm/i915/display/intel_psr.c @@ -1439,8 +1439,10 @@ void intel_psr_init(struct drm_i915_private *dev_priv) if (!HAS_PSR(dev_priv)) return; - if (!dev_priv->psr.sink_support) + if (!dev_priv->psr.sink_support) { + i915_modparams.enable_psr = 0; return; + } if (IS_HASWELL(dev_priv)) /* -- 2.17.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx