• Home
  • Raw
  • Download

Lines Matching refs:ib

56 		  struct radeon_ib *ib, struct radeon_vm *vm,  in radeon_ib_get()  argument
61 r = radeon_sa_bo_new(rdev, &rdev->ring_tmp_bo, &ib->sa_bo, size, 256); in radeon_ib_get()
67 radeon_sync_create(&ib->sync); in radeon_ib_get()
69 ib->ring = ring; in radeon_ib_get()
70 ib->fence = NULL; in radeon_ib_get()
71 ib->ptr = radeon_sa_bo_cpu_addr(ib->sa_bo); in radeon_ib_get()
72 ib->vm = vm; in radeon_ib_get()
77 ib->gpu_addr = ib->sa_bo->soffset + RADEON_VA_IB_OFFSET; in radeon_ib_get()
79 ib->gpu_addr = radeon_sa_bo_gpu_addr(ib->sa_bo); in radeon_ib_get()
81 ib->is_const_ib = false; in radeon_ib_get()
94 void radeon_ib_free(struct radeon_device *rdev, struct radeon_ib *ib) in radeon_ib_free() argument
96 radeon_sync_free(rdev, &ib->sync, ib->fence); in radeon_ib_free()
97 radeon_sa_bo_free(rdev, &ib->sa_bo, ib->fence); in radeon_ib_free()
98 radeon_fence_unref(&ib->fence); in radeon_ib_free()
122 int radeon_ib_schedule(struct radeon_device *rdev, struct radeon_ib *ib, in radeon_ib_schedule() argument
125 struct radeon_ring *ring = &rdev->ring[ib->ring]; in radeon_ib_schedule()
128 if (!ib->length_dw || !ring->ready) { in radeon_ib_schedule()
142 if (ib->vm) { in radeon_ib_schedule()
144 vm_id_fence = radeon_vm_grab_id(rdev, ib->vm, ib->ring); in radeon_ib_schedule()
145 radeon_sync_fence(&ib->sync, vm_id_fence); in radeon_ib_schedule()
149 r = radeon_sync_rings(rdev, &ib->sync, ib->ring); in radeon_ib_schedule()
156 if (ib->vm) in radeon_ib_schedule()
157 radeon_vm_flush(rdev, ib->vm, ib->ring, in radeon_ib_schedule()
158 ib->sync.last_vm_update); in radeon_ib_schedule()
164 radeon_ring_ib_execute(rdev, ib->ring, ib); in radeon_ib_schedule()
165 r = radeon_fence_emit(rdev, &ib->fence, ib->ring); in radeon_ib_schedule()
172 const_ib->fence = radeon_fence_ref(ib->fence); in radeon_ib_schedule()
175 if (ib->vm) in radeon_ib_schedule()
176 radeon_vm_fence(rdev, ib->vm, ib->fence); in radeon_ib_schedule()