Commit 66231d14 authored by José Roberto de Souza's avatar José Roberto de Souza Committed by Dhinakaran Pandiyan

drm/i915/psr: Use WA to force HW tracking to exit PSR2

This WA also works fine for PSR2, triggering a selective update when
possible.
Acked-by: default avatarDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: default avatarJosé Roberto de Souza <jose.souza@intel.com>
Signed-off-by: default avatarDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181003205031.32474-4-jose.souza@intel.com
parent 4755717b
...@@ -1027,20 +1027,16 @@ void intel_psr_flush(struct drm_i915_private *dev_priv, ...@@ -1027,20 +1027,16 @@ void intel_psr_flush(struct drm_i915_private *dev_priv,
/* By definition flush = invalidate + flush */ /* By definition flush = invalidate + flush */
if (frontbuffer_bits) { if (frontbuffer_bits) {
if (dev_priv->psr.psr2_enabled) { /*
intel_psr_exit(dev_priv); * Display WA #0884: all
} else { * This documented WA for bxt can be safely applied
/* * broadly so we can force HW tracking to exit PSR
* Display WA #0884: all * instead of disabling and re-enabling.
* This documented WA for bxt can be safely applied * Workaround tells us to write 0 to CUR_SURFLIVE_A,
* broadly so we can force HW tracking to exit PSR * but it makes more sense write to the current active
* instead of disabling and re-enabling. * pipe.
* Workaround tells us to write 0 to CUR_SURFLIVE_A, */
* but it makes more sense write to the current active I915_WRITE(CURSURFLIVE(pipe), 0);
* pipe.
*/
I915_WRITE(CURSURFLIVE(pipe), 0);
}
} }
if (!dev_priv->psr.active && !dev_priv->psr.busy_frontbuffer_bits) if (!dev_priv->psr.active && !dev_priv->psr.busy_frontbuffer_bits)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment