diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_ring.c')
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_ring.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_ring.c b/drivers/gpu/drm/radeon/radeon_ring.c index cd72062d5a91..8d58e268ff6d 100644 --- a/drivers/gpu/drm/radeon/radeon_ring.c +++ b/drivers/gpu/drm/radeon/radeon_ring.c | |||
| @@ -109,6 +109,25 @@ void radeon_ib_free(struct radeon_device *rdev, struct radeon_ib *ib) | |||
| 109 | } | 109 | } |
| 110 | 110 | ||
| 111 | /** | 111 | /** |
| 112 | * radeon_ib_sync_to - sync to fence before executing the IB | ||
| 113 | * | ||
| 114 | * @ib: IB object to add fence to | ||
| 115 | * @fence: fence to sync to | ||
| 116 | * | ||
| 117 | * Sync to the fence before executing the IB | ||
| 118 | */ | ||
| 119 | void radeon_ib_sync_to(struct radeon_ib *ib, struct radeon_fence *fence) | ||
| 120 | { | ||
| 121 | struct radeon_fence *other; | ||
| 122 | |||
| 123 | if (!fence) | ||
| 124 | return; | ||
| 125 | |||
| 126 | other = ib->sync_to[fence->ring]; | ||
| 127 | ib->sync_to[fence->ring] = radeon_fence_later(fence, other); | ||
| 128 | } | ||
| 129 | |||
| 130 | /** | ||
| 112 | * radeon_ib_schedule - schedule an IB (Indirect Buffer) on the ring | 131 | * radeon_ib_schedule - schedule an IB (Indirect Buffer) on the ring |
| 113 | * | 132 | * |
| 114 | * @rdev: radeon_device pointer | 133 | * @rdev: radeon_device pointer |
