]> Pileus Git - ~andy/linux/commitdiff
drm/i915: Always clear semaphore mboxes on seqno wrap
authorMika Kuoppala <mika.kuoppala@linux.intel.com>
Wed, 19 Dec 2012 09:13:07 +0000 (11:13 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 19 Dec 2012 10:17:41 +0000 (11:17 +0100)
In preparation for setting the seqno to arbitrary value on init or
through debugfs. We need to always clear the semaphores and set the
hws page seqno index by calling intel_ring_init_seqno().

v2: rewrote the commit message as suggested by Chris Wilson.

Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem.c

index 51282b2c49430f24bb3d70d9d7fc20a1693ec3c7..bb38bca02559ad27d2421a027024e56c44d10833 100644 (file)
@@ -1932,18 +1932,6 @@ i915_gem_handle_seqno_wrap(struct drm_device *dev)
        struct intel_ring_buffer *ring;
        int ret, i, j;
 
-       /* The hardware uses various monotonic 32-bit counters, if we
-        * detect that they will wraparound we need to idle the GPU
-        * and reset those counters.
-        */
-       ret = 0;
-       for_each_ring(ring, dev_priv, i) {
-               for (j = 0; j < ARRAY_SIZE(ring->sync_seqno); j++)
-                       ret |= ring->sync_seqno[j] != 0;
-       }
-       if (ret == 0)
-               return ret;
-
        /* Carefully retire all requests without writing to the rings */
        for_each_ring(ring, dev_priv, i) {
                ret = intel_ring_idle(ring);