drm/radeon: drop RADEON_FENCE_SIGNALED_SEQ v2
authorChristian König <christian.koenig@amd.com>
Wed, 27 Aug 2014 13:22:00 +0000 (15:22 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 27 Aug 2014 21:42:13 +0000 (17:42 -0400)
It's causing issues with VMID handling and comparing the
fence value two times actually doesn't make handling faster.

v2: rebased on reset changes

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/radeon/radeon.h
drivers/gpu/drm/radeon/radeon_fence.c

index 74919ef57ac39fd2428fb2467f6a28ab303e9faf..896a847796509e78c7a0e6f0d2b6c499b91a1477 100644 (file)
@@ -120,9 +120,6 @@ extern int radeon_bapm;
 #define RADEONFB_CONN_LIMIT                    4
 #define RADEON_BIOS_NUM_SCRATCH                        8
 
-/* fence seq are set to this number when signaled */
-#define RADEON_FENCE_SIGNALED_SEQ              0LL
-
 /* internal ring indices */
 /* r1xx+ has gfx CP ring */
 #define RADEON_RING_TYPE_GFX_INDEX             0
index a54bfd60510b232ba2255a6e409c17bdc7c015d5..ecdba3afa2c3ca63d7023443532055448b09451c 100644 (file)
@@ -328,16 +328,10 @@ static bool radeon_fence_seq_signaled(struct radeon_device *rdev,
  */
 bool radeon_fence_signaled(struct radeon_fence *fence)
 {
-       if (!fence) {
-               return true;
-       }
-       if (fence->seq == RADEON_FENCE_SIGNALED_SEQ) {
+       if (!fence)
                return true;
-       }
-       if (radeon_fence_seq_signaled(fence->rdev, fence->seq, fence->ring)) {
-               fence->seq = RADEON_FENCE_SIGNALED_SEQ;
+       if (radeon_fence_seq_signaled(fence->rdev, fence->seq, fence->ring))
                return true;
-       }
        return false;
 }
 
@@ -445,15 +439,11 @@ int radeon_fence_wait(struct radeon_fence *fence, bool intr)
        }
 
        seq[fence->ring] = fence->seq;
-       if (seq[fence->ring] == RADEON_FENCE_SIGNALED_SEQ)
-               return 0;
-
        r = radeon_fence_wait_seq_timeout(fence->rdev, seq, intr, MAX_SCHEDULE_TIMEOUT);
        if (r < 0) {
                return r;
        }
 
-       fence->seq = RADEON_FENCE_SIGNALED_SEQ;
        return 0;
 }
 
@@ -487,10 +477,6 @@ int radeon_fence_wait_any(struct radeon_device *rdev,
 
                seq[i] = fences[i]->seq;
                ++num_rings;
-
-               /* test if something was allready signaled */
-               if (seq[i] == RADEON_FENCE_SIGNALED_SEQ)
-                       return 0;
        }
 
        /* nothing to wait for ? */