Lines Matching defs:rdev
49 static int radeon_debugfs_sa_init(struct radeon_device *rdev);
54 * @rdev: radeon_device pointer
63 int radeon_ib_get(struct radeon_device *rdev, int ring,
69 r = radeon_sa_bo_new(rdev, &rdev->ring_tmp_bo, &ib->sa_bo, size, 256);
71 dev_err(rdev->dev, "failed to get a new IB (%d)\n", r);
97 * @rdev: radeon_device pointer
102 void radeon_ib_free(struct radeon_device *rdev, struct radeon_ib *ib)
104 radeon_sync_free(rdev, &ib->sync, ib->fence);
105 radeon_sa_bo_free(rdev, &ib->sa_bo, ib->fence);
112 * @rdev: radeon_device pointer
130 int radeon_ib_schedule(struct radeon_device *rdev, struct radeon_ib *ib,
133 struct radeon_ring *ring = &rdev->ring[ib->ring];
138 dev_err(rdev->dev, "couldn't schedule ib\n");
143 r = radeon_ring_lock(rdev, ring, 64 + RADEON_NUM_SYNCS * 8);
145 dev_err(rdev->dev, "scheduling IB failed (%d).\n", r);
152 vm_id_fence = radeon_vm_grab_id(rdev, ib->vm, ib->ring);
157 r = radeon_sync_rings(rdev, &ib->sync, ib->ring);
159 dev_err(rdev->dev, "failed to sync rings (%d)\n", r);
160 radeon_ring_unlock_undo(rdev, ring);
165 radeon_vm_flush(rdev, ib->vm, ib->ring,
169 radeon_ring_ib_execute(rdev, const_ib->ring, const_ib);
170 radeon_sync_free(rdev, &const_ib->sync, NULL);
172 radeon_ring_ib_execute(rdev, ib->ring, ib);
173 r = radeon_fence_emit(rdev, &ib->fence, ib->ring);
175 dev_err(rdev->dev, "failed to emit fence for new IB (%d)\n", r);
176 radeon_ring_unlock_undo(rdev, ring);
184 radeon_vm_fence(rdev, ib->vm, ib->fence);
186 radeon_ring_unlock_commit(rdev, ring, hdp_flush);
193 * @rdev: radeon_device pointer
199 int radeon_ib_pool_init(struct radeon_device *rdev)
203 if (rdev->ib_pool_ready) {
207 if (rdev->family >= CHIP_BONAIRE) {
208 r = radeon_sa_bo_manager_init(rdev, &rdev->ring_tmp_bo,
217 r = radeon_sa_bo_manager_init(rdev, &rdev->ring_tmp_bo,
226 r = radeon_sa_bo_manager_start(rdev, &rdev->ring_tmp_bo);
231 rdev->ib_pool_ready = true;
232 if (radeon_debugfs_sa_init(rdev)) {
233 dev_err(rdev->dev, "failed to register debugfs file for SA\n");
241 * @rdev: radeon_device pointer
246 void radeon_ib_pool_fini(struct radeon_device *rdev)
248 if (rdev->ib_pool_ready) {
249 radeon_sa_bo_manager_suspend(rdev, &rdev->ring_tmp_bo);
250 radeon_sa_bo_manager_fini(rdev, &rdev->ring_tmp_bo);
251 rdev->ib_pool_ready = false;
258 * @rdev: radeon_device pointer
265 int radeon_ib_ring_tests(struct radeon_device *rdev)
271 struct radeon_ring *ring = &rdev->ring[i];
276 r = radeon_ib_test(rdev, i, ring);
278 radeon_fence_driver_force_completion(rdev, i);
280 rdev->needs_reset = false;
285 rdev->accel_working = false;
306 struct radeon_device *rdev = dev->dev_private;
308 radeon_sa_bo_dump_debug_info(&rdev->ring_tmp_bo, m);
320 static int radeon_debugfs_sa_init(struct radeon_device *rdev)
323 return radeon_debugfs_add_files(rdev, radeon_debugfs_sa_list, 1);