Lines Matching refs:rdev
44 int radeon_gem_object_create(struct radeon_device *rdev, unsigned long size, in radeon_gem_object_create() argument
62 max_size = rdev->mc.gtt_size - rdev->gart_pin_size; in radeon_gem_object_create()
70 r = radeon_bo_create(rdev, size, alignment, kernel, initial_domain, in radeon_gem_object_create()
86 mutex_lock(&rdev->gem.mutex); in radeon_gem_object_create()
87 list_add_tail(&robj->list, &rdev->gem.objects); in radeon_gem_object_create()
88 mutex_unlock(&rdev->gem.mutex); in radeon_gem_object_create()
126 int radeon_gem_init(struct radeon_device *rdev) in radeon_gem_init() argument
128 INIT_LIST_HEAD(&rdev->gem.objects); in radeon_gem_init()
132 void radeon_gem_fini(struct radeon_device *rdev) in radeon_gem_fini() argument
134 radeon_bo_force_delete(rdev); in radeon_gem_fini()
144 struct radeon_device *rdev = rbo->rdev; in radeon_gem_object_open() local
150 if ((rdev->family < CHIP_CAYMAN) || in radeon_gem_object_open()
151 (!rdev->accel_working)) { in radeon_gem_object_open()
162 bo_va = radeon_vm_bo_add(rdev, vm, rbo); in radeon_gem_object_open()
175 struct radeon_device *rdev = rbo->rdev; in radeon_gem_object_close() local
181 if ((rdev->family < CHIP_CAYMAN) || in radeon_gem_object_close()
182 (!rdev->accel_working)) { in radeon_gem_object_close()
188 dev_err(rdev->dev, "leaking bo va because " in radeon_gem_object_close()
195 radeon_vm_bo_rmv(rdev, bo_va); in radeon_gem_object_close()
201 static int radeon_gem_handle_lockup(struct radeon_device *rdev, int r) in radeon_gem_handle_lockup() argument
204 r = radeon_gpu_reset(rdev); in radeon_gem_handle_lockup()
217 struct radeon_device *rdev = dev->dev_private; in radeon_gem_info_ioctl() local
221 man = &rdev->mman.bdev.man[TTM_PL_VRAM]; in radeon_gem_info_ioctl()
223 args->vram_size = rdev->mc.real_vram_size; in radeon_gem_info_ioctl()
225 args->vram_visible -= rdev->vram_pin_size; in radeon_gem_info_ioctl()
226 args->gart_size = rdev->mc.gtt_size; in radeon_gem_info_ioctl()
227 args->gart_size -= rdev->gart_pin_size; in radeon_gem_info_ioctl()
251 struct radeon_device *rdev = dev->dev_private; in radeon_gem_create_ioctl() local
257 down_read(&rdev->exclusive_lock); in radeon_gem_create_ioctl()
260 r = radeon_gem_object_create(rdev, args->size, args->alignment, in radeon_gem_create_ioctl()
264 up_read(&rdev->exclusive_lock); in radeon_gem_create_ioctl()
265 r = radeon_gem_handle_lockup(rdev, r); in radeon_gem_create_ioctl()
272 up_read(&rdev->exclusive_lock); in radeon_gem_create_ioctl()
273 r = radeon_gem_handle_lockup(rdev, r); in radeon_gem_create_ioctl()
277 up_read(&rdev->exclusive_lock); in radeon_gem_create_ioctl()
284 struct radeon_device *rdev = dev->dev_private; in radeon_gem_userptr_ioctl() local
302 if (rdev->family < CHIP_R600) in radeon_gem_userptr_ioctl()
313 down_read(&rdev->exclusive_lock); in radeon_gem_userptr_ioctl()
316 r = radeon_gem_object_create(rdev, args->size, 0, in radeon_gem_userptr_ioctl()
356 up_read(&rdev->exclusive_lock); in radeon_gem_userptr_ioctl()
363 up_read(&rdev->exclusive_lock); in radeon_gem_userptr_ioctl()
364 r = radeon_gem_handle_lockup(rdev, r); in radeon_gem_userptr_ioctl()
374 struct radeon_device *rdev = dev->dev_private; in radeon_gem_set_domain_ioctl() local
382 down_read(&rdev->exclusive_lock); in radeon_gem_set_domain_ioctl()
387 up_read(&rdev->exclusive_lock); in radeon_gem_set_domain_ioctl()
395 up_read(&rdev->exclusive_lock); in radeon_gem_set_domain_ioctl()
396 r = radeon_gem_handle_lockup(robj->rdev, r); in radeon_gem_set_domain_ioctl()
432 struct radeon_device *rdev = dev->dev_private; in radeon_gem_busy_ioctl() local
447 r = radeon_gem_handle_lockup(rdev, r); in radeon_gem_busy_ioctl()
454 struct radeon_device *rdev = dev->dev_private; in radeon_gem_wait_idle_ioctl() local
476 if (rdev->asic->mmio_hdp_flush && in radeon_gem_wait_idle_ioctl()
478 robj->rdev->asic->mmio_hdp_flush(rdev); in radeon_gem_wait_idle_ioctl()
480 r = radeon_gem_handle_lockup(rdev, r); in radeon_gem_wait_idle_ioctl()
534 static void radeon_gem_va_update_vm(struct radeon_device *rdev, in radeon_gem_va_update_vm() argument
550 vm_bos = radeon_vm_get_bos(rdev, bo_va->vm, &list); in radeon_gem_va_update_vm()
567 r = radeon_vm_clear_freed(rdev, bo_va->vm); in radeon_gem_va_update_vm()
572 r = radeon_vm_bo_update(rdev, bo_va, &bo_va->bo->tbo.mem); in radeon_gem_va_update_vm()
592 struct radeon_device *rdev = dev->dev_private; in radeon_gem_va_ioctl() local
599 if (!rdev->vm_manager.enabled) { in radeon_gem_va_ioctl()
673 r = radeon_vm_bo_set_addr(rdev, bo_va, args->offset, args->flags); in radeon_gem_va_ioctl()
676 r = radeon_vm_bo_set_addr(rdev, bo_va, 0, 0); in radeon_gem_va_ioctl()
682 radeon_gem_va_update_vm(rdev, bo_va); in radeon_gem_va_ioctl()
737 struct radeon_device *rdev = dev->dev_private; in radeon_mode_dumb_create() local
742 args->pitch = radeon_align_pitch(rdev, args->width, args->bpp, 0) * ((args->bpp + 1) / 8); in radeon_mode_dumb_create()
746 r = radeon_gem_object_create(rdev, args->size, 0, in radeon_mode_dumb_create()
767 struct radeon_device *rdev = dev->dev_private; in radeon_debugfs_gem_info() local
771 mutex_lock(&rdev->gem.mutex); in radeon_debugfs_gem_info()
772 list_for_each_entry(rbo, &rdev->gem.objects, list) { in radeon_debugfs_gem_info()
794 mutex_unlock(&rdev->gem.mutex); in radeon_debugfs_gem_info()
803 int radeon_gem_debugfs_init(struct radeon_device *rdev) in radeon_gem_debugfs_init() argument
806 return radeon_debugfs_add_files(rdev, radeon_debugfs_gem_list, 1); in radeon_gem_debugfs_init()