Lines Matching refs:vm_manager

197 			adev->vm_manager.block_size;  in amdgpu_vm_level_shift()
222 adev->vm_manager.root_level); in amdgpu_vm_num_entries()
224 if (level == adev->vm_manager.root_level) in amdgpu_vm_num_entries()
226 return round_up(adev->vm_manager.max_pfn, 1 << shift) >> shift; in amdgpu_vm_num_entries()
376 if (level == adev->vm_manager.root_level) { in amdgpu_vm_clear_bo()
596 if (eaddr >= adev->vm_manager.max_pfn) { in amdgpu_vm_alloc_pts()
598 eaddr, adev->vm_manager.max_pfn); in amdgpu_vm_alloc_pts()
603 adev->vm_manager.root_level, ats); in amdgpu_vm_alloc_pts()
655 struct amdgpu_vmid_mgr *id_mgr = &adev->vm_manager.id_mgr[vmhub]; in amdgpu_vm_need_pipeline_sync()
693 struct amdgpu_vmid_mgr *id_mgr = &adev->vm_manager.id_mgr[vmhub]; in amdgpu_vm_flush()
986 level += params->adev->vm_manager.root_level; in amdgpu_vm_update_pde()
1142 adev->vm_manager.root_level); in amdgpu_vm_update_directories()
1161 unsigned level = p->adev->vm_manager.root_level; in amdgpu_vm_get_entry()
1314 unsigned max_frag = params->adev->vm_manager.fragment_size; in amdgpu_vm_frag_ptes()
1419 ncmds = ((nptes >> min(adev->vm_manager.block_size, 11u)) + 1) * 2; in amdgpu_vm_bo_update_mapping()
1421 ncmds = ((nptes >> min(adev->vm_manager.block_size, 11u)) + 1); in amdgpu_vm_bo_update_mapping()
1428 ndw += ncmds * adev->vm_manager.vm_pte_funcs->copy_pte_num_dw; in amdgpu_vm_bo_update_mapping()
1441 ndw += 2 * 10 * adev->vm_manager.fragment_size * 2; in amdgpu_vm_bo_update_mapping()
1443 ndw += 2 * 10 * adev->vm_manager.fragment_size; in amdgpu_vm_bo_update_mapping()
1531 unsigned min_linear_pages = 1 << adev->vm_manager.fragment_size; in amdgpu_vm_bo_split_mapping()
1602 addr += adev->vm_manager.vram_base_offset; in amdgpu_vm_bo_split_mapping()
1737 spin_lock_irqsave(&adev->vm_manager.prt_lock, flags); in amdgpu_vm_update_prt_state()
1738 enable = !!atomic_read(&adev->vm_manager.num_prt_users); in amdgpu_vm_update_prt_state()
1740 spin_unlock_irqrestore(&adev->vm_manager.prt_lock, flags); in amdgpu_vm_update_prt_state()
1753 if (atomic_inc_return(&adev->vm_manager.num_prt_users) == 1) in amdgpu_vm_prt_get()
1764 if (atomic_dec_return(&adev->vm_manager.num_prt_users) == 0) in amdgpu_vm_prt_put()
2535 adev->vm_manager.max_pfn = (uint64_t)vm_size << 18; in amdgpu_vm_adjust_size()
2537 tmp = roundup_pow_of_two(adev->vm_manager.max_pfn); in amdgpu_vm_adjust_size()
2541 adev->vm_manager.num_level = min(max_level, (unsigned)tmp); in amdgpu_vm_adjust_size()
2542 switch (adev->vm_manager.num_level) { in amdgpu_vm_adjust_size()
2544 adev->vm_manager.root_level = AMDGPU_VM_PDB2; in amdgpu_vm_adjust_size()
2547 adev->vm_manager.root_level = AMDGPU_VM_PDB1; in amdgpu_vm_adjust_size()
2550 adev->vm_manager.root_level = AMDGPU_VM_PDB0; in amdgpu_vm_adjust_size()
2557 adev->vm_manager.block_size = in amdgpu_vm_adjust_size()
2560 - 9 * adev->vm_manager.num_level); in amdgpu_vm_adjust_size()
2561 else if (adev->vm_manager.num_level > 1) in amdgpu_vm_adjust_size()
2562 adev->vm_manager.block_size = 9; in amdgpu_vm_adjust_size()
2564 adev->vm_manager.block_size = amdgpu_vm_get_block_size(tmp); in amdgpu_vm_adjust_size()
2567 adev->vm_manager.fragment_size = fragment_size_default; in amdgpu_vm_adjust_size()
2569 adev->vm_manager.fragment_size = amdgpu_vm_fragment_size; in amdgpu_vm_adjust_size()
2572 vm_size, adev->vm_manager.num_level + 1, in amdgpu_vm_adjust_size()
2573 adev->vm_manager.block_size, in amdgpu_vm_adjust_size()
2574 adev->vm_manager.fragment_size); in amdgpu_vm_adjust_size()
2616 ring_instance = atomic_inc_return(&adev->vm_manager.vm_pte_next_ring); in amdgpu_vm_init()
2617 ring_instance %= adev->vm_manager.vm_pte_num_rings; in amdgpu_vm_init()
2618 ring = adev->vm_manager.vm_pte_rings[ring_instance]; in amdgpu_vm_init()
2627 vm->use_cpu_for_update = !!(adev->vm_manager.vm_update_mode & in amdgpu_vm_init()
2633 vm->use_cpu_for_update = !!(adev->vm_manager.vm_update_mode & in amdgpu_vm_init()
2648 size = amdgpu_vm_bo_size(adev, adev->vm_manager.root_level); in amdgpu_vm_init()
2665 adev->vm_manager.root_level, in amdgpu_vm_init()
2676 spin_lock_irqsave(&adev->vm_manager.pasid_lock, flags); in amdgpu_vm_init()
2677 r = idr_alloc(&adev->vm_manager.pasid_idr, vm, pasid, pasid + 1, in amdgpu_vm_init()
2679 spin_unlock_irqrestore(&adev->vm_manager.pasid_lock, flags); in amdgpu_vm_init()
2745 adev->vm_manager.root_level, in amdgpu_vm_make_compute()
2752 vm->use_cpu_for_update = !!(adev->vm_manager.vm_update_mode & in amdgpu_vm_make_compute()
2763 spin_lock_irqsave(&adev->vm_manager.pasid_lock, flags); in amdgpu_vm_make_compute()
2764 idr_remove(&adev->vm_manager.pasid_idr, vm->pasid); in amdgpu_vm_make_compute()
2765 spin_unlock_irqrestore(&adev->vm_manager.pasid_lock, flags); in amdgpu_vm_make_compute()
2834 spin_lock_irqsave(&adev->vm_manager.pasid_lock, flags); in amdgpu_vm_fini()
2835 idr_remove(&adev->vm_manager.pasid_idr, vm->pasid); in amdgpu_vm_fini()
2836 spin_unlock_irqrestore(&adev->vm_manager.pasid_lock, flags); in amdgpu_vm_fini()
2866 adev->vm_manager.root_level); in amdgpu_vm_fini()
2891 spin_lock(&adev->vm_manager.pasid_lock); in amdgpu_vm_pasid_fault_credit()
2892 vm = idr_find(&adev->vm_manager.pasid_idr, pasid); in amdgpu_vm_pasid_fault_credit()
2895 spin_unlock(&adev->vm_manager.pasid_lock); in amdgpu_vm_pasid_fault_credit()
2902 spin_unlock(&adev->vm_manager.pasid_lock); in amdgpu_vm_pasid_fault_credit()
2907 spin_unlock(&adev->vm_manager.pasid_lock); in amdgpu_vm_pasid_fault_credit()
2924 adev->vm_manager.fence_context = in amdgpu_vm_manager_init()
2927 adev->vm_manager.seqno[i] = 0; in amdgpu_vm_manager_init()
2929 atomic_set(&adev->vm_manager.vm_pte_next_ring, 0); in amdgpu_vm_manager_init()
2930 spin_lock_init(&adev->vm_manager.prt_lock); in amdgpu_vm_manager_init()
2931 atomic_set(&adev->vm_manager.num_prt_users, 0); in amdgpu_vm_manager_init()
2939 adev->vm_manager.vm_update_mode = in amdgpu_vm_manager_init()
2942 adev->vm_manager.vm_update_mode = 0; in amdgpu_vm_manager_init()
2944 adev->vm_manager.vm_update_mode = amdgpu_vm_update_mode; in amdgpu_vm_manager_init()
2946 adev->vm_manager.vm_update_mode = 0; in amdgpu_vm_manager_init()
2949 idr_init(&adev->vm_manager.pasid_idr); in amdgpu_vm_manager_init()
2950 spin_lock_init(&adev->vm_manager.pasid_lock); in amdgpu_vm_manager_init()
2962 WARN_ON(!idr_is_empty(&adev->vm_manager.pasid_idr)); in amdgpu_vm_manager_fini()
2963 idr_destroy(&adev->vm_manager.pasid_idr); in amdgpu_vm_manager_fini()
3014 spin_lock(&adev->vm_manager.pasid_lock); in amdgpu_vm_get_task_info()
3016 vm = idr_find(&adev->vm_manager.pasid_idr, pasid); in amdgpu_vm_get_task_info()
3020 spin_unlock(&adev->vm_manager.pasid_lock); in amdgpu_vm_get_task_info()