FreeBSD/sys/dev/drm2/radeon/radeon_fence.c
/**
 * radeon_fence_note_sync - record the sync point
 *
 * @fence: radeon fence object
 * @dst_ring: which ring to check against
 *
 * Note the sequence number at which point the fence will
 * be synced with the requested ring (all asics).
 */
record the sync point
@fence: radeon fence object
@dst_ring: which ring to check against

Note the sequence number at which point the fence will
be synced with the requested ring (all asics).
record the sync point @fence : radeon fence object @dst_ring : which ring to check against Note the sequence number at which point the fence will be synced with the requested ring ( all asics ) .
void radeon_fence_note_sync(struct radeon_fence *fence, int dst_ring)
{
	struct radeon_fence_driver *dst, *src;
	unsigned i;
	if (!fence) {
		return;
	}
	if (fence->ring == dst_ring) {
		return;
	}
	src = &fence->rdev->fence_drv[fence->ring];
	dst = &fence->rdev->fence_drv[dst_ring];
	for (i = 0; i < RADEON_NUM_RINGS; ++i) {
		if (i == dst_ring) {
			continue;
		}
		dst->sync_seq[i] = max(dst->sync_seq[i], src->sync_seq[i]);
	}
}
void radeon_fence_note_sync ( struct radeon_fence * fence , int dst_ring ) { struct radeon_fence_driver * dst , * src ; unsigned i ; if ( ! fence ) { return ; } if ( fence -> ring == dst_ring ) { return ; } src = & fence -> rdev -> fence_drv [ fence -> ring ] ; dst = & fence -> rdev -> fence_drv [ dst_ring ] ; for ( i = 0 ; i < RADEON_NUM_RINGS ; ++ i ) { if ( i == dst_ring ) { continue ; } dst -> sync_seq [ i ] = max ( dst -> sync_seq [ i ] , src -> sync_seq [ i ] ) ; } }
radeon_fence_note_sync - record the sync point
 @fence: radeon fence object
 @dst_ring: which ring to check against
radeon_fence_note_sync - record the sync point @fence : radeon fence object @dst_ring : which ring to check against
/* we are protected by the ring mutex */