Lines Matching refs:vm_manager
150 r = xa_err(xa_erase_irq(&adev->vm_manager.pasids, vm->pasid));
158 r = xa_err(xa_store_irq(&adev->vm_manager.pasids, pasid, vm,
511 adev->vm_manager.vm_pte_scheds,
512 adev->vm_manager.vm_pte_num_scheds, NULL);
517 adev->vm_manager.vm_pte_scheds,
518 adev->vm_manager.vm_pte_num_scheds, NULL);
724 struct amdgpu_vmid_mgr *id_mgr = &adev->vm_manager.id_mgr[vmhub];
759 struct amdgpu_vmid_mgr *id_mgr = &adev->vm_manager.id_mgr[vmhub];
1303 vram_base = bo_adev->vm_manager.vram_base_offset;
1388 spin_lock_irqsave(&adev->vm_manager.prt_lock, flags);
1389 enable = !!atomic_read(&adev->vm_manager.num_prt_users);
1391 spin_unlock_irqrestore(&adev->vm_manager.prt_lock, flags);
1404 if (atomic_inc_return(&adev->vm_manager.num_prt_users) == 1)
1415 if (atomic_dec_return(&adev->vm_manager.num_prt_users) == 0)
1790 if (lpfn >= adev->vm_manager.max_pfn)
2361 adev->vm_manager.max_pfn = (uint64_t)vm_size << 18;
2363 tmp = roundup_pow_of_two(adev->vm_manager.max_pfn);
2367 adev->vm_manager.num_level = min_t(unsigned int, max_level, tmp);
2368 switch (adev->vm_manager.num_level) {
2370 adev->vm_manager.root_level = AMDGPU_VM_PDB2;
2373 adev->vm_manager.root_level = AMDGPU_VM_PDB1;
2376 adev->vm_manager.root_level = AMDGPU_VM_PDB0;
2383 adev->vm_manager.block_size =
2386 - 9 * adev->vm_manager.num_level);
2387 else if (adev->vm_manager.num_level > 1)
2388 adev->vm_manager.block_size = 9;
2390 adev->vm_manager.block_size = amdgpu_vm_get_block_size(tmp);
2393 adev->vm_manager.fragment_size = fragment_size_default;
2395 adev->vm_manager.fragment_size = amdgpu_vm_fragment_size;
2398 vm_size, adev->vm_manager.num_level + 1,
2399 adev->vm_manager.block_size,
2400 adev->vm_manager.fragment_size);
2433 xa_lock_irqsave(&adev->vm_manager.pasids, flags);
2434 vm = xa_load(&adev->vm_manager.pasids, pasid);
2435 xa_unlock_irqrestore(&adev->vm_manager.pasids, flags);
2563 vm->use_cpu_for_update = !!(adev->vm_manager.vm_update_mode &
2586 r = amdgpu_vm_pt_create(adev, vm, adev->vm_manager.root_level,
2658 vm->use_cpu_for_update = !!(adev->vm_manager.vm_update_mode &
2796 adev->vm_manager.concurrent_flush = !(adev->asic_type < CHIP_VEGA10 ||
2801 adev->vm_manager.fence_context =
2804 adev->vm_manager.seqno[i] = 0;
2806 spin_lock_init(&adev->vm_manager.prt_lock);
2807 atomic_set(&adev->vm_manager.num_prt_users, 0);
2819 adev->vm_manager.vm_update_mode =
2822 adev->vm_manager.vm_update_mode = 0;
2824 adev->vm_manager.vm_update_mode = amdgpu_vm_update_mode;
2826 adev->vm_manager.vm_update_mode = 0;
2829 xa_init_flags(&adev->vm_manager.pasids, XA_FLAGS_LOCK_IRQ);
2841 WARN_ON(!xa_empty(&adev->vm_manager.pasids));
2842 xa_destroy(&adev->vm_manager.pasids);
2914 xa_lock_irqsave(&adev->vm_manager.pasids, irqflags);
2915 vm = xa_load(&adev->vm_manager.pasids, pasid);
2922 xa_unlock_irqrestore(&adev->vm_manager.pasids, irqflags);
2940 xa_lock_irqsave(&adev->vm_manager.pasids, irqflags);
2941 vm = xa_load(&adev->vm_manager.pasids, pasid);
2944 xa_unlock_irqrestore(&adev->vm_manager.pasids, irqflags);
3107 xa_lock_irqsave(&adev->vm_manager.pasids, flags);
3109 vm = xa_load(&adev->vm_manager.pasids, pasid);
3122 adev->vm_manager.fault_info.addr = addr;
3123 adev->vm_manager.fault_info.vmhub = vmhub;
3124 adev->vm_manager.fault_info.status = status;
3142 xa_unlock_irqrestore(&adev->vm_manager.pasids, flags);