From 1ebac7c8dc1d03f40f41771f62f5a7a98eb95454 Mon Sep 17 00:00:00 2001 From: Rodrigo Vivi Date: Fri, 14 Aug 2015 10:41:40 -0700 Subject: [PATCH] drm/i915: PSR: Mask LPSP hw tracking back again. At the beginning it was masked to allow PSR at all. Than it got removed later by my commit 09108b90f040 ("drm/i915: PSR: Remove Low Power HW tracking mask.") in order to trying fixing one case reported at intel-gfx mailing list where we were missing screen updates when runtime_pm was enabled. However I verified that other patch that makes flush to force invalidate also fixes this issue by itself. commit 169de1316c1e ("drm/i915: PSR: Flush means invalidate + flush") Mainly now that we are relying more on frontbuffer tracking it is a good idea to mask this hw tracking again. But besides all this above it is important to hightligh that with LPSP unmasked we started seeing some screen freezings as reported at fd.o. This patch fixes the unrecoverable frozen screens reported: Reference: https://bugs.freedesktop.org/show_bug.cgi?id=91436 Reference: https://bugs.freedesktop.org/show_bug.cgi?id=91437 Cc: Ivan Mitev Signed-off-by: Rodrigo Vivi --- drivers/gpu/drm/i915/intel_psr.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c index 63bbab2..d02d4e2 100644 --- a/drivers/gpu/drm/i915/intel_psr.c +++ b/drivers/gpu/drm/i915/intel_psr.c @@ -398,9 +398,14 @@ void intel_psr_enable(struct intel_dp *intel_dp) skl_psr_setup_su_vsc(intel_dp); } - /* Avoid continuous PSR exit by masking memup and hpd */ + /* + * Per Spec: Avoid continuous PSR exit by masking MEMUP and HPD. + * Also mask LPSP to avoid dependency on other drivers that + * might block runtime_pm besides preventing other hw tracking + * issues now we can rely on frontbuffer tracking. + */ I915_WRITE(EDP_PSR_DEBUG_CTL(dev), EDP_PSR_DEBUG_MASK_MEMUP | - EDP_PSR_DEBUG_MASK_HPD); + EDP_PSR_DEBUG_MASK_HPD | EDP_PSR_DEBUG_MASK_LPSP); /* Enable PSR on the panel */ hsw_psr_enable_sink(intel_dp); -- 2.4.3