Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cecc6b63 authored by Alex Deucher's avatar Alex Deucher Committed by Dave Airlie
Browse files

drm/radeon/r600: use fence->timeout directly



Fixes fence timeouts on r6xx/r7xx.  Noticed by
taiu on IRC.

Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
parent 60d15f55
Loading
Loading
Loading
Loading
+1 −10
Original line number Diff line number Diff line
@@ -171,17 +171,8 @@ bool radeon_fence_signaled(struct radeon_fence *fence)
int r600_fence_wait(struct radeon_fence *fence,  bool intr, bool lazy)
{
	struct radeon_device *rdev;
	unsigned long cur_jiffies;
	unsigned long timeout;
	int ret = 0;

	cur_jiffies = jiffies;
	timeout = HZ / 100;

	if (time_after(fence->timeout, cur_jiffies)) {
		timeout = fence->timeout - cur_jiffies;
	}

	rdev = fence->rdev;

	__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))
			break;

		if (time_after_eq(jiffies, timeout)) {
		if (time_after_eq(jiffies, fence->timeout)) {
			ret = -EBUSY;
			break;
		}