|
@@ -171,17 +171,8 @@ bool radeon_fence_signaled(struct radeon_fence *fence)
|
|
int r600_fence_wait(struct radeon_fence *fence, bool intr, bool lazy)
|
|
int r600_fence_wait(struct radeon_fence *fence, bool intr, bool lazy)
|
|
{
|
|
{
|
|
struct radeon_device *rdev;
|
|
struct radeon_device *rdev;
|
|
- unsigned long cur_jiffies;
|
|
|
|
- unsigned long timeout;
|
|
|
|
int ret = 0;
|
|
int ret = 0;
|
|
|
|
|
|
- cur_jiffies = jiffies;
|
|
|
|
- timeout = HZ / 100;
|
|
|
|
-
|
|
|
|
- if (time_after(fence->timeout, cur_jiffies)) {
|
|
|
|
- timeout = fence->timeout - cur_jiffies;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
rdev = fence->rdev;
|
|
rdev = fence->rdev;
|
|
|
|
|
|
__set_current_state(intr ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE);
|
|
__set_current_state(intr ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE);
|
|
@@ -190,7 +181,7 @@ int r600_fence_wait(struct radeon_fence *fence, bool intr, bool lazy)
|
|
if (radeon_fence_signaled(fence))
|
|
if (radeon_fence_signaled(fence))
|
|
break;
|
|
break;
|
|
|
|
|
|
- if (time_after_eq(jiffies, timeout)) {
|
|
|
|
|
|
+ if (time_after_eq(jiffies, fence->timeout)) {
|
|
ret = -EBUSY;
|
|
ret = -EBUSY;
|
|
break;
|
|
break;
|
|
}
|
|
}
|