aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_psr.c
diff options
context:
space:
mode:
authorRodrigo Vivi <rodrigo.vivi@intel.com>2015-11-18 14:21:55 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-11-24 07:29:03 -0500
commitbb929cbc1f58c72eaf7981281dbb024ad92ef24d (patch)
tree3fa0e11c701ef8ad03b4c3c49255bb351c11db32 /drivers/gpu/drm/i915/intel_psr.c
parent921ec285a6589cf3beb7f56a70744f75b09349f8 (diff)
drm/i915: PSR: Mask LPSP hw tracking back again.
When we introduced PSR we let LPSP masked allowing us to get PSR independently from the audio runtime PM. However in one of the attempts to get PSR enabled by default one user reported one specific case where he would miss screen updates if scrolling the firefox in a Gnome environment when i915 runtime pm was enabled. So for this specific case that (I could never create an i-g-t test case) we decided to remove the LPSP mask and let HW tracking taking care of this case. The mask got removed later by my commit 09108b90f04 ("drm/i915: PSR: Remove Low Power HW tracking mask.") So we started depending on audio driver again, what is bad. With previous commit "drm/i915: PSR: Let's rely more on frontbuffer tracking." we transfered the PSR exit responsability totally to SW frontbuffer tracking. So now can safelly shut off a bit the HW tracking, or at least this case that makes us to depend on other drivers. v2: Update commit message since this patch by itself doesn't solve the bugzilla entries. v3: Another attempt to improve commit message. Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> Tested-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Reviewed-by: Damien Lespiau damien.lespiau@intel.com Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_psr.c')
-rw-r--r--drivers/gpu/drm/i915/intel_psr.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
index 452ac3745560..a02dd3015b91 100644
--- a/drivers/gpu/drm/i915/intel_psr.c
+++ b/drivers/gpu/drm/i915/intel_psr.c
@@ -411,9 +411,14 @@ void intel_psr_enable(struct intel_dp *intel_dp)
411 skl_psr_setup_su_vsc(intel_dp); 411 skl_psr_setup_su_vsc(intel_dp);
412 } 412 }
413 413
414 /* Avoid continuous PSR exit by masking memup and hpd */ 414 /*
415 * Per Spec: Avoid continuous PSR exit by masking MEMUP and HPD.
416 * Also mask LPSP to avoid dependency on other drivers that
417 * might block runtime_pm besides preventing other hw tracking
418 * issues now we can rely on frontbuffer tracking.
419 */
415 I915_WRITE(EDP_PSR_DEBUG_CTL, EDP_PSR_DEBUG_MASK_MEMUP | 420 I915_WRITE(EDP_PSR_DEBUG_CTL, EDP_PSR_DEBUG_MASK_MEMUP |
416 EDP_PSR_DEBUG_MASK_HPD); 421 EDP_PSR_DEBUG_MASK_HPD | EDP_PSR_DEBUG_MASK_LPSP);
417 422
418 /* Enable PSR on the panel */ 423 /* Enable PSR on the panel */
419 hsw_psr_enable_sink(intel_dp); 424 hsw_psr_enable_sink(intel_dp);