summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_fence.c
diff options
context:
space:
mode:
authorThomas Hellstrom2009-12-07 18:36:19 +0100
committerDave Airlie2009-12-10 06:09:03 +0100
commit5cc6fbab9da5680e7e5d2507d0f0c2c52ff18031 (patch)
tree0754b2bc4fd022f055baa280213c1a33db48cb4a /drivers/gpu/drm/radeon/radeon_fence.c
parentdrm/ttm: Have the TTM code return -ERESTARTSYS instead of -ERESTART. (diff)
downloadkernel-qcow2-linux-5cc6fbab9da5680e7e5d2507d0f0c2c52ff18031.tar.gz
kernel-qcow2-linux-5cc6fbab9da5680e7e5d2507d0f0c2c52ff18031.tar.xz
kernel-qcow2-linux-5cc6fbab9da5680e7e5d2507d0f0c2c52ff18031.zip
drm/radeon: Remove tests for -ERESTART from the TTM code.
Also sets affected TTM calls up to not wait interruptible, since that would cause an in-kernel spin until the TTM call succeeds, since the Radeon code does not return to user-space when a signal is received. Modifies interruptible fence waits to return -ERESTARTSYS rather than -EBUSY when interrupted by a signal, since that's the (yet undocumented) semantics required by the TTM sync object hooks. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_fence.c')
-rw-r--r--drivers/gpu/drm/radeon/radeon_fence.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_fence.c b/drivers/gpu/drm/radeon/radeon_fence.c
index 2ac31633d72c..78743cd70433 100644
--- a/drivers/gpu/drm/radeon/radeon_fence.c
+++ b/drivers/gpu/drm/radeon/radeon_fence.c
@@ -197,9 +197,8 @@ retry:
r = wait_event_interruptible_timeout(rdev->fence_drv.queue,
radeon_fence_signaled(fence), timeout);
radeon_irq_kms_sw_irq_put(rdev);
- if (unlikely(r == -ERESTARTSYS)) {
- return -EBUSY;
- }
+ if (unlikely(r != 0))
+ return r;
} else {
radeon_irq_kms_sw_irq_get(rdev);
r = wait_event_timeout(rdev->fence_drv.queue,