Lines Matching defs:rdev
48 int radeon_gem_object_create(struct radeon_device *rdev, unsigned long size,
66 max_size = rdev->mc.gtt_size - rdev->gart_pin_size;
74 r = radeon_bo_create(rdev, size, alignment, kernel, initial_domain,
90 mutex_lock(&rdev->gem.mutex);
91 list_add_tail(&robj->list, &rdev->gem.objects);
92 mutex_unlock(&rdev->gem.mutex);
134 int radeon_gem_init(struct radeon_device *rdev)
136 INIT_LIST_HEAD(&rdev->gem.objects);
140 void radeon_gem_fini(struct radeon_device *rdev)
142 radeon_bo_force_delete(rdev);
152 struct radeon_device *rdev = rbo->rdev;
158 if ((rdev->family < CHIP_CAYMAN) ||
159 (!rdev->accel_working)) {
170 bo_va = radeon_vm_bo_add(rdev, vm, rbo);
183 struct radeon_device *rdev = rbo->rdev;
189 if ((rdev->family < CHIP_CAYMAN) ||
190 (!rdev->accel_working)) {
196 dev_err(rdev->dev, "leaking bo va because "
203 radeon_vm_bo_rmv(rdev, bo_va);
209 static int radeon_gem_handle_lockup(struct radeon_device *rdev, int r)
212 r = radeon_gpu_reset(rdev);
225 struct radeon_device *rdev = dev->dev_private;
229 man = ttm_manager_type(&rdev->mman.bdev, TTM_PL_VRAM);
232 args->vram_visible = rdev->mc.visible_vram_size;
233 args->vram_visible -= rdev->vram_pin_size;
234 args->gart_size = rdev->mc.gtt_size;
235 args->gart_size -= rdev->gart_pin_size;
259 struct radeon_device *rdev = dev->dev_private;
265 down_read(&rdev->exclusive_lock);
268 r = radeon_gem_object_create(rdev, args->size, args->alignment,
272 up_read(&rdev->exclusive_lock);
273 r = radeon_gem_handle_lockup(rdev, r);
280 up_read(&rdev->exclusive_lock);
281 r = radeon_gem_handle_lockup(rdev, r);
285 up_read(&rdev->exclusive_lock);
293 struct radeon_device *rdev = dev->dev_private;
313 if (rdev->family < CHIP_R600)
324 down_read(&rdev->exclusive_lock);
327 r = radeon_gem_object_create(rdev, args->size, 0,
334 r = radeon_ttm_tt_set_userptr(rdev, bo->tbo.ttm, args->addr, args->flags);
367 up_read(&rdev->exclusive_lock);
374 up_read(&rdev->exclusive_lock);
375 r = radeon_gem_handle_lockup(rdev, r);
385 struct radeon_device *rdev = dev->dev_private;
392 down_read(&rdev->exclusive_lock);
397 up_read(&rdev->exclusive_lock);
404 up_read(&rdev->exclusive_lock);
405 r = radeon_gem_handle_lockup(rdev, r);
421 if (radeon_ttm_tt_has_userptr(robj->rdev, robj->tbo.ttm)) {
468 struct radeon_device *rdev = dev->dev_private;
490 if (rdev->asic->mmio_hdp_flush &&
492 robj->rdev->asic->mmio_hdp_flush(rdev);
494 r = radeon_gem_handle_lockup(rdev, r);
542 * @rdev: radeon_device pointer
548 static void radeon_gem_va_update_vm(struct radeon_device *rdev,
564 vm_bos = radeon_vm_get_bos(rdev, bo_va->vm, &list);
581 r = radeon_vm_clear_freed(rdev, bo_va->vm);
586 r = radeon_vm_bo_update(rdev, bo_va, &bo_va->bo->tbo.mem);
606 struct radeon_device *rdev = dev->dev_private;
613 if (!rdev->vm_manager.enabled) {
688 r = radeon_vm_bo_set_addr(rdev, bo_va, args->offset, args->flags);
691 r = radeon_vm_bo_set_addr(rdev, bo_va, 0, 0);
697 radeon_gem_va_update_vm(rdev, bo_va);
722 if (radeon_ttm_tt_has_userptr(robj->rdev, robj->tbo.ttm))
752 struct radeon_device *rdev = dev->dev_private;
757 args->pitch = radeon_align_pitch(rdev, args->width,
762 r = radeon_gem_object_create(rdev, args->size, 0,
783 struct radeon_device *rdev = dev->dev_private;
787 mutex_lock(&rdev->gem.mutex);
788 list_for_each_entry(rbo, &rdev->gem.objects, list) {
810 mutex_unlock(&rdev->gem.mutex);
819 int radeon_gem_debugfs_init(struct radeon_device *rdev)
822 return radeon_debugfs_add_files(rdev, radeon_debugfs_gem_list, 1);