Lines Matching refs:rdev

41 int radeon_ttm_init(struct radeon_device *rdev);
42 void radeon_ttm_fini(struct radeon_device *rdev);
53 struct radeon_device *rdev = bo->rdev; in radeon_update_memory_usage() local
59 atomic64_add(size, &rdev->gtt_usage); in radeon_update_memory_usage()
61 atomic64_sub(size, &rdev->gtt_usage); in radeon_update_memory_usage()
65 atomic64_add(size, &rdev->vram_usage); in radeon_update_memory_usage()
67 atomic64_sub(size, &rdev->vram_usage); in radeon_update_memory_usage()
80 mutex_lock(&bo->rdev->gem.mutex); in radeon_ttm_bo_destroy()
82 mutex_unlock(&bo->rdev->gem.mutex); in radeon_ttm_bo_destroy()
107 rbo->rdev->mc.visible_vram_size < rbo->rdev->mc.real_vram_size) { in radeon_ttm_placement_from_domain()
109 rbo->rdev->mc.visible_vram_size >> PAGE_SHIFT; in radeon_ttm_placement_from_domain()
128 (rbo->rdev->flags & RADEON_IS_AGP)) { in radeon_ttm_placement_from_domain()
147 rbo->rdev->flags & RADEON_IS_AGP) { in radeon_ttm_placement_from_domain()
172 rbo->rdev->mc.visible_vram_size >> PAGE_SHIFT; in radeon_ttm_placement_from_domain()
178 int radeon_bo_create(struct radeon_device *rdev, in radeon_bo_create() argument
201 acc_size = ttm_bo_dma_acc_size(&rdev->mman.bdev, size, in radeon_bo_create()
207 r = drm_gem_object_init(rdev->ddev, &bo->gem_base, size); in radeon_bo_create()
212 bo->rdev = rdev; in radeon_bo_create()
222 if (!(rdev->flags & RADEON_IS_PCIE)) in radeon_bo_create()
252 down_read(&rdev->pm.mclk_lock); in radeon_bo_create()
253 r = ttm_bo_init(&rdev->mman.bdev, &bo->tbo, size, type, in radeon_bo_create()
256 up_read(&rdev->pm.mclk_lock); in radeon_bo_create()
311 struct radeon_device *rdev; in radeon_bo_unref() local
315 rdev = (*bo)->rdev; in radeon_bo_unref()
339 domain_start = bo->rdev->mc.vram_start; in radeon_bo_pin_restricted()
341 domain_start = bo->rdev->mc.gtt_start; in radeon_bo_pin_restricted()
353 (!max_offset || max_offset > bo->rdev->mc.visible_vram_size)) in radeon_bo_pin_restricted()
355 bo->rdev->mc.visible_vram_size >> PAGE_SHIFT; in radeon_bo_pin_restricted()
368 bo->rdev->vram_pin_size += radeon_bo_size(bo); in radeon_bo_pin_restricted()
370 bo->rdev->gart_pin_size += radeon_bo_size(bo); in radeon_bo_pin_restricted()
372 dev_err(bo->rdev->dev, "%p pin failed\n", bo); in radeon_bo_pin_restricted()
387 dev_warn(bo->rdev->dev, "%p unpin not necessary\n", bo); in radeon_bo_unpin()
400 bo->rdev->vram_pin_size -= radeon_bo_size(bo); in radeon_bo_unpin()
402 bo->rdev->gart_pin_size -= radeon_bo_size(bo); in radeon_bo_unpin()
404 dev_err(bo->rdev->dev, "%p validate failed for unpin\n", bo); in radeon_bo_unpin()
409 int radeon_bo_evict_vram(struct radeon_device *rdev) in radeon_bo_evict_vram() argument
412 if (0 && (rdev->flags & RADEON_IS_IGP)) { in radeon_bo_evict_vram()
413 if (rdev->mc.igp_sideport_enabled == false) in radeon_bo_evict_vram()
417 return ttm_bo_evict_mm(&rdev->mman.bdev, TTM_PL_VRAM); in radeon_bo_evict_vram()
420 void radeon_bo_force_delete(struct radeon_device *rdev) in radeon_bo_force_delete() argument
424 if (list_empty(&rdev->gem.objects)) { in radeon_bo_force_delete()
427 dev_err(rdev->dev, "Userspace still has active objects !\n"); in radeon_bo_force_delete()
428 list_for_each_entry_safe(bo, n, &rdev->gem.objects, list) { in radeon_bo_force_delete()
429 mutex_lock(&rdev->ddev->struct_mutex); in radeon_bo_force_delete()
430 dev_err(rdev->dev, "%p %p %lu %lu force free\n", in radeon_bo_force_delete()
433 mutex_lock(&bo->rdev->gem.mutex); in radeon_bo_force_delete()
435 mutex_unlock(&bo->rdev->gem.mutex); in radeon_bo_force_delete()
438 mutex_unlock(&rdev->ddev->struct_mutex); in radeon_bo_force_delete()
442 int radeon_bo_init(struct radeon_device *rdev) in radeon_bo_init() argument
445 if (!rdev->fastfb_working) { in radeon_bo_init()
446 rdev->mc.vram_mtrr = arch_phys_wc_add(rdev->mc.aper_base, in radeon_bo_init()
447 rdev->mc.aper_size); in radeon_bo_init()
450 rdev->mc.mc_vram_size >> 20, in radeon_bo_init()
451 (unsigned long long)rdev->mc.aper_size >> 20); in radeon_bo_init()
453 rdev->mc.vram_width, rdev->mc.vram_is_ddr ? 'D' : 'S'); in radeon_bo_init()
454 return radeon_ttm_init(rdev); in radeon_bo_init()
457 void radeon_bo_fini(struct radeon_device *rdev) in radeon_bo_fini() argument
459 radeon_ttm_fini(rdev); in radeon_bo_fini()
460 arch_phys_wc_del(rdev->mc.vram_mtrr); in radeon_bo_fini()
465 static u64 radeon_bo_get_threshold_for_moves(struct radeon_device *rdev) in radeon_bo_get_threshold_for_moves() argument
467 u64 real_vram_size = rdev->mc.real_vram_size; in radeon_bo_get_threshold_for_moves()
468 u64 vram_usage = atomic64_read(&rdev->vram_usage); in radeon_bo_get_threshold_for_moves()
515 int radeon_bo_list_validate(struct radeon_device *rdev, in radeon_bo_list_validate() argument
523 u64 bytes_moved_threshold = radeon_bo_get_threshold_for_moves(rdev); in radeon_bo_list_validate()
559 initial_bytes_moved = atomic64_read(&rdev->num_bytes_moved); in radeon_bo_list_validate()
561 bytes_moved += atomic64_read(&rdev->num_bytes_moved) - in radeon_bo_list_validate()
588 struct radeon_device *rdev = bo->rdev; in radeon_bo_get_surface_reg() local
600 reg = &rdev->surface_regs[bo->surface_reg]; in radeon_bo_get_surface_reg()
608 reg = &rdev->surface_regs[i]; in radeon_bo_get_surface_reg()
622 reg = &rdev->surface_regs[steal]; in radeon_bo_get_surface_reg()
635 radeon_set_surface_reg(rdev, i, bo->tiling_flags, bo->pitch, in radeon_bo_get_surface_reg()
643 struct radeon_device *rdev = bo->rdev; in radeon_bo_clear_surface_reg() local
649 reg = &rdev->surface_regs[bo->surface_reg]; in radeon_bo_clear_surface_reg()
650 radeon_clear_surface_reg(rdev, bo->surface_reg); in radeon_bo_clear_surface_reg()
659 struct radeon_device *rdev = bo->rdev; in radeon_bo_set_tiling_flags() local
662 if (rdev->family >= CHIP_CEDAR) { in radeon_bo_set_tiling_flags()
767 radeon_vm_bo_invalidate(rbo->rdev, rbo); in radeon_bo_move_notify()
779 struct radeon_device *rdev; in radeon_bo_fault_reserve_notify() local
788 rdev = rbo->rdev; in radeon_bo_fault_reserve_notify()
794 if ((offset + size) <= rdev->mc.visible_vram_size) in radeon_bo_fault_reserve_notify()
799 lpfn = rdev->mc.visible_vram_size >> PAGE_SHIFT; in radeon_bo_fault_reserve_notify()
816 if ((offset + size) > rdev->mc.visible_vram_size) in radeon_bo_fault_reserve_notify()