Many reasons here:

- Hardware tracking also has hidden corner cases
- Frontbuffer tracking is mature and reliable now
- Our sw exit by unseting bit 31 is really fast and reliable.

Also frontbuffer tracking flush means invalidate and flush.

So, let's rely more and do the proper meaning of flush for
all cases without any workaround.

Signed-off-by: Rodrigo Vivi <rodrigo.v...@intel.com>
---
 drivers/gpu/drm/i915/intel_psr.c | 22 +++-------------------
 1 file changed, 3 insertions(+), 19 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
index 92e2b467..63bbab2 100644
--- a/drivers/gpu/drm/i915/intel_psr.c
+++ b/drivers/gpu/drm/i915/intel_psr.c
@@ -719,25 +719,9 @@ void intel_psr_flush(struct drm_device *dev,
        frontbuffer_bits &= INTEL_FRONTBUFFER_ALL_MASK(pipe);
        dev_priv->psr.busy_frontbuffer_bits &= ~frontbuffer_bits;
 
-       if (HAS_DDI(dev)) {
-               /*
-                * By definition every flush should mean invalidate + flush,
-                * however on core platforms let's minimize the
-                * disable/re-enable so we can avoid the invalidate when flip
-                * originated the flush.
-                */
-               if (frontbuffer_bits && origin != ORIGIN_FLIP)
-                       intel_psr_exit(dev);
-       } else {
-               /*
-                * On Valleyview and Cherryview we don't use hardware tracking
-                * so any plane updates or cursor moves don't result in a PSR
-                * invalidating. Which means we need to manually fake this in
-                * software for all flushes.
-                */
-               if (frontbuffer_bits)
-                       intel_psr_exit(dev);
-       }
+       /* By definition flush = invalidate + flush */
+       if (frontbuffer_bits)
+               intel_psr_exit(dev);
 
        if (!dev_priv->psr.active && !dev_priv->psr.busy_frontbuffer_bits)
                schedule_delayed_work(&dev_priv->psr.work,
-- 
2.4.3

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to