sys/dev/drm/radeon/radeon_fence.c
/**
 * radeon_fence_wait - wait for a fence to signal
 *
 * @fence: radeon fence object
 * @intr: use interruptable sleep
 *
 * Wait for the requested fence to signal (all asics).
 * @intr selects whether to use interruptable (true) or non-interruptable
 * (false) sleep when waiting for the fence.
 * Returns 0 if the fence has passed, error for all other cases.
 */
wait for a fence to signal
@fence: radeon fence object
@intr: use interruptable sleep

Wait for the requested fence to signal (all asics).
@intr selects whether to use interruptable (true) or non-interruptable
(false) sleep when waiting for the fence.
Returns 0 if the fence has passed, error for all other cases.
wait for a fence to signal @fence : radeon fence object @intr : use interruptable sleep Wait for the requested fence to signal ( all asics ) . @intr selects whether to use interruptable ( true ) or non - interruptable ( false ) sleep when waiting for the fence . Returns 0 if the fence has passed error for all other cases .
int radeon_fence_wait(struct radeon_fence *fence, bool intr)
{
	int r;
	if (fence == NULL) {
		DRM_ERROR("Querying an invalid fence : %p !\n", fence);
		return -EINVAL;
	}
	r = radeon_fence_wait_seq(fence->rdev, fence->seq,
				  fence->ring, intr, true);
	if (r) {
		return r;
	}
	fence->seq = RADEON_FENCE_SIGNALED_SEQ;
	return 0;
}
int radeon_fence_wait ( struct radeon_fence * fence , bool intr ) { int r ; if ( fence == NULL ) { DRM_ERROR ( " \n " , fence ) ; return - EINVAL ; } r = radeon_fence_wait_seq ( fence -> rdev , fence -> seq , fence -> ring , intr , true ) ; if ( r ) { return r ; } fence -> seq = RADEON_FENCE_SIGNALED_SEQ ; return 0 ; }
radeon_fence_wait - wait for a fence to signal
 @fence: radeon fence object
 @intr: use interruptable sleep
radeon_fence_wait - wait for a fence to signal @fence : radeon fence object @intr : use interruptable sleep