Home
last modified time | relevance | path

Searched full:vmid (Results 1 – 25 of 616) sorted by relevance

12345678910>>...25

/kernel/linux/linux-6.6/arch/arm64/kvm/
Dvmid.c3 * VMID allocator.
32 #define vmid2idx(vmid) ((vmid) & ~VMID_MASK) argument
36 * As vmid #0 is always reserved, we will never allocate one
42 #define vmid_gen_match(vmid) \ argument
43 (!(((vmid) ^ atomic64_read(&vmid_generation)) >> kvm_arm_vmid_bits))
48 u64 vmid; in flush_context() local
53 vmid = atomic64_xchg_relaxed(&per_cpu(active_vmids, cpu), 0); in flush_context()
55 /* Preserve reserved VMID */ in flush_context()
56 if (vmid == 0) in flush_context()
57 vmid = per_cpu(reserved_vmids, cpu); in flush_context()
[all …]
/kernel/linux/linux-6.6/drivers/virt/acrn/
Dhypercall.h76 * @vmid: User VM ID
80 static inline long hcall_start_vm(u64 vmid) in hcall_start_vm() argument
82 return acrn_hypercall1(HC_START_VM, vmid); in hcall_start_vm()
87 * @vmid: User VM ID
91 static inline long hcall_pause_vm(u64 vmid) in hcall_pause_vm() argument
93 return acrn_hypercall1(HC_PAUSE_VM, vmid); in hcall_pause_vm()
98 * @vmid: User VM ID
102 static inline long hcall_destroy_vm(u64 vmid) in hcall_destroy_vm() argument
104 return acrn_hypercall1(HC_DESTROY_VM, vmid); in hcall_destroy_vm()
109 * @vmid: User VM ID
[all …]
Dvm.c31 if (ret < 0 || vm_param->vmid == ACRN_INVALID_VMID) { in acrn_vm_create()
40 vm->vmid = vm_param->vmid; in acrn_vm_create()
44 hcall_destroy_vm(vm_param->vmid); in acrn_vm_create()
45 vm->vmid = ACRN_INVALID_VMID; in acrn_vm_create()
55 dev_dbg(acrn_dev.this_device, "VM %u created.\n", vm->vmid); in acrn_vm_create()
63 if (vm->vmid == ACRN_INVALID_VMID || in acrn_vm_destroy()
67 ret = hcall_destroy_vm(vm->vmid); in acrn_vm_destroy()
70 "Failed to destroy VM %u\n", vm->vmid); in acrn_vm_destroy()
91 dev_dbg(acrn_dev.this_device, "VM %u destroyed.\n", vm->vmid); in acrn_vm_destroy()
92 vm->vmid = ACRN_INVALID_VMID; in acrn_vm_destroy()
[all …]
Dhsm.c37 vm->vmid = ACRN_INVALID_VMID; in acrn_dev_open()
126 if (vm->vmid == ACRN_INVALID_VMID && cmd != ACRN_IOCTL_CREATE_VM) { in acrn_dev_ioctl()
160 ret = hcall_start_vm(vm->vmid); in acrn_dev_ioctl()
163 "Failed to start VM %u!\n", vm->vmid); in acrn_dev_ioctl()
166 ret = hcall_pause_vm(vm->vmid); in acrn_dev_ioctl()
169 "Failed to pause VM %u!\n", vm->vmid); in acrn_dev_ioctl()
172 ret = hcall_reset_vm(vm->vmid); in acrn_dev_ioctl()
175 "Failed to restart VM %u!\n", vm->vmid); in acrn_dev_ioctl()
211 ret = hcall_set_vcpu_regs(vm->vmid, virt_to_phys(cpu_regs)); in acrn_dev_ioctl()
215 vm->vmid); in acrn_dev_ioctl()
[all …]
/kernel/linux/linux-6.6/arch/riscv/kvm/
Dvmid.c27 /* Figure-out number of VMID bits in HW */ in kvm_riscv_gstage_vmid_detect()
38 /* We don't use VMID bits if they are not sufficient */ in kvm_riscv_gstage_vmid_detect()
50 /* Mark the initial VMID and VMID version invalid */ in kvm_riscv_gstage_vmid_init()
51 kvm->arch.vmid.vmid_version = 0; in kvm_riscv_gstage_vmid_init()
52 kvm->arch.vmid.vmid = 0; in kvm_riscv_gstage_vmid_init()
57 bool kvm_riscv_gstage_vmid_ver_changed(struct kvm_vmid *vmid) in kvm_riscv_gstage_vmid_ver_changed() argument
62 return unlikely(READ_ONCE(vmid->vmid_version) != in kvm_riscv_gstage_vmid_ver_changed()
75 struct kvm_vmid *vmid = &vcpu->kvm->arch.vmid; in kvm_riscv_gstage_vmid_update() local
77 if (!kvm_riscv_gstage_vmid_ver_changed(vmid)) in kvm_riscv_gstage_vmid_update()
84 * another vcpu already allocated a valid vmid for this vm. in kvm_riscv_gstage_vmid_update()
[all …]
Dtlb.c20 void kvm_riscv_local_hfence_gvma_vmid_gpa(unsigned long vmid, in kvm_riscv_local_hfence_gvma_vmid_gpa() argument
27 kvm_riscv_local_hfence_gvma_vmid_all(vmid); in kvm_riscv_local_hfence_gvma_vmid_gpa()
35 : : "r" (pos >> 2), "r" (vmid) : "memory"); in kvm_riscv_local_hfence_gvma_vmid_gpa()
40 : : "r" (pos >> 2), "r" (vmid) : "memory"); in kvm_riscv_local_hfence_gvma_vmid_gpa()
44 void kvm_riscv_local_hfence_gvma_vmid_all(unsigned long vmid) in kvm_riscv_local_hfence_gvma_vmid_all() argument
46 asm volatile(HFENCE_GVMA(zero, %0) : : "r" (vmid) : "memory"); in kvm_riscv_local_hfence_gvma_vmid_all()
77 void kvm_riscv_local_hfence_vvma_asid_gva(unsigned long vmid, in kvm_riscv_local_hfence_vvma_asid_gva() argument
86 kvm_riscv_local_hfence_vvma_asid_all(vmid, asid); in kvm_riscv_local_hfence_vvma_asid_gva()
90 hgatp = csr_swap(CSR_HGATP, vmid << HGATP_VMID_SHIFT); in kvm_riscv_local_hfence_vvma_asid_gva()
107 void kvm_riscv_local_hfence_vvma_asid_all(unsigned long vmid, in kvm_riscv_local_hfence_vvma_asid_all() argument
[all …]
/kernel/linux/linux-6.6/drivers/scsi/lpfc/
Dlpfc_vmid.c44 * Return the VMID entry associated with the UUID
60 * lpfc_put_vmid_in_hashtable - put the VMID in the hash table
63 * @vmp: Pointer to a VMID entry representing a VM sending I/O
65 * This routine will insert the newly acquired VMID entity in the hash table.
77 * @vmid: uuid associated with the VE
78 * @len: length of the VMID string
81 int lpfc_vmid_hash_fn(const char *vmid, int len) in lpfc_vmid_hash_fn() argument
89 c = *vmid++; in lpfc_vmid_hash_fn()
101 * lpfc_vmid_update_entry - update the vmid entry in the hash table
104 * @vmp: Pointer to a VMID entry representing a VM sending I/O
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/modules/vmid/
Dvmid.c41 static void add_ptb_to_table(struct core_vmid *core_vmid, unsigned int vmid, uint64_t ptb) in add_ptb_to_table() argument
43 if (vmid < MAX_VMID) { in add_ptb_to_table()
44 core_vmid->ptb_assigned_to_vmid[vmid] = ptb; in add_ptb_to_table()
49 static void clear_entry_from_vmid_table(struct core_vmid *core_vmid, unsigned int vmid) in clear_entry_from_vmid_table() argument
51 if (vmid < MAX_VMID) { in clear_entry_from_vmid_table()
52 core_vmid->ptb_assigned_to_vmid[vmid] = 0; in clear_entry_from_vmid_table()
69 // Return value of -1 indicates vmid table uninitialized or ptb dne in the table
82 // Expected to be called only when there's an available vmid
98 int vmid = 0; in mod_vmid_get_for_ptb() local
100 // Physical address gets vmid 0 in mod_vmid_get_for_ptb()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/modules/vmid/
Dvmid.c41 static void add_ptb_to_table(struct core_vmid *core_vmid, unsigned int vmid, uint64_t ptb) in add_ptb_to_table() argument
43 if (vmid < MAX_VMID) { in add_ptb_to_table()
44 core_vmid->ptb_assigned_to_vmid[vmid] = ptb; in add_ptb_to_table()
49 static void clear_entry_from_vmid_table(struct core_vmid *core_vmid, unsigned int vmid) in clear_entry_from_vmid_table() argument
51 if (vmid < MAX_VMID) { in clear_entry_from_vmid_table()
52 core_vmid->ptb_assigned_to_vmid[vmid] = 0; in clear_entry_from_vmid_table()
69 // Return value of -1 indicates vmid table unitialized or ptb dne in the table
82 // Expected to be called only when there's an available vmid
98 int vmid = 0; in mod_vmid_get_for_ptb() local
100 // Physical address gets vmid 0 in mod_vmid_get_for_ptb()
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/
Damdgpu_amdkfd_gfx_v9.c51 uint32_t queue, uint32_t vmid, uint32_t inst) in kgd_gfx_v9_lock_srbm() argument
54 soc15_grbm_select(adev, mec, pipe, queue, vmid, GET_INST(GC, inst)); in kgd_gfx_v9_lock_srbm()
86 void kgd_gfx_v9_program_sh_mem_settings(struct amdgpu_device *adev, uint32_t vmid, in kgd_gfx_v9_program_sh_mem_settings() argument
92 kgd_gfx_v9_lock_srbm(adev, 0, 0, 0, vmid, inst); in kgd_gfx_v9_program_sh_mem_settings()
102 unsigned int vmid, uint32_t inst) in kgd_gfx_v9_set_pasid_vmid_mapping() argument
116 * for ATC add 16 to VMID for mmhub, for IH different registers. in kgd_gfx_v9_set_pasid_vmid_mapping()
120 WREG32(SOC15_REG_OFFSET(ATHUB, 0, mmATC_VMID0_PASID_MAPPING) + vmid, in kgd_gfx_v9_set_pasid_vmid_mapping()
126 (1U << vmid))) in kgd_gfx_v9_set_pasid_vmid_mapping()
131 1U << vmid); in kgd_gfx_v9_set_pasid_vmid_mapping()
133 /* Mapping vmid to pasid also for IH block */ in kgd_gfx_v9_set_pasid_vmid_mapping()
[all …]
Damdgpu_ids.c148 * VMID manager
157 * @id: VMID structure
159 * Check if GPU reset occured since last use of the VMID.
189 * amdgpu_vmid_grab_idle - grab idle VMID
193 * @idle: resulting idle VMID
196 * Try to find an idle VMID, if none is idle add a fence to wait to the sync
219 /* Check if we have an idle VMID */ in amdgpu_vmid_grab_idle()
222 /* Don't use per engine and per process VMID at the same time */ in amdgpu_vmid_grab_idle()
232 /* If we can't find a idle VMID to use, wait till one becomes available */ in amdgpu_vmid_grab_idle()
263 * amdgpu_vmid_grab_reserved - try to assign reserved VMID
[all …]
Damdgpu_amdkfd_gfx_v10.c45 uint32_t queue, uint32_t vmid) in lock_srbm() argument
48 nv_grbm_select(adev, mec, pipe, queue, vmid); in lock_srbm()
80 static void kgd_program_sh_mem_settings(struct amdgpu_device *adev, uint32_t vmid, in kgd_program_sh_mem_settings() argument
86 lock_srbm(adev, 0, 0, 0, vmid); in kgd_program_sh_mem_settings()
96 unsigned int vmid, uint32_t inst) in kgd_set_pasid_vmid_mapping() argument
108 pr_debug("pasid 0x%x vmid %d, reg value %x\n", pasid, vmid, pasid_mapping); in kgd_set_pasid_vmid_mapping()
110 pr_debug("ATHUB, reg %x\n", SOC15_REG_OFFSET(ATHUB, 0, mmATC_VMID0_PASID_MAPPING) + vmid); in kgd_set_pasid_vmid_mapping()
111 WREG32(SOC15_REG_OFFSET(ATHUB, 0, mmATC_VMID0_PASID_MAPPING) + vmid, in kgd_set_pasid_vmid_mapping()
119 (1U << vmid))) in kgd_set_pasid_vmid_mapping()
125 1U << vmid); in kgd_set_pasid_vmid_mapping()
[all …]
Damdgpu_amdkfd_gfx_v9.h23 void kgd_gfx_v9_program_sh_mem_settings(struct amdgpu_device *adev, uint32_t vmid,
28 unsigned int vmid, uint32_t inst);
52 uint8_t vmid, uint16_t *p_pasid);
54 uint32_t vmid, uint64_t page_table_base);
58 uint32_t vmid, uint64_t tba_addr, uint64_t tma_addr,
66 uint32_t vmid,
70 uint32_t vmid);
73 uint32_t vmid);
79 uint32_t vmid);
81 uint32_t vmid,
Damdgpu_amdkfd_gfx_v7.c49 uint32_t queue, uint32_t vmid) in lock_srbm() argument
51 uint32_t value = PIPEID(pipe) | MEID(mec) | VMID(vmid) | QUEUEID(queue); in lock_srbm()
77 static void kgd_program_sh_mem_settings(struct amdgpu_device *adev, uint32_t vmid, in kgd_program_sh_mem_settings() argument
83 lock_srbm(adev, 0, 0, 0, vmid); in kgd_program_sh_mem_settings()
94 unsigned int vmid, uint32_t inst) in kgd_set_pasid_vmid_mapping() argument
105 WREG32(mmATC_VMID0_PASID_MAPPING + vmid, pasid_mapping); in kgd_set_pasid_vmid_mapping()
107 while (!(RREG32(mmATC_VMID_PASID_MAPPING_UPDATE_STATUS) & (1U << vmid))) in kgd_set_pasid_vmid_mapping()
109 WREG32(mmATC_VMID_PASID_MAPPING_UPDATE_STATUS, 1U << vmid); in kgd_set_pasid_vmid_mapping()
111 /* Mapping vmid to pasid also for IH block */ in kgd_set_pasid_vmid_mapping()
112 WREG32(mmIH_VMID_0_LUT + vmid, pasid_mapping); in kgd_set_pasid_vmid_mapping()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/
Damdgpu_ids.c165 * VMID manager
174 * @id: VMID structure
176 * Check if GPU reset occured since last use of the VMID.
186 * amdgpu_vm_grab_idle - grab idle VMID
191 * @idle: resulting idle VMID
193 * Try to find an idle VMID, if none is idle add a fence to wait to the sync
215 /* Check if we have an idle VMID */ in amdgpu_vmid_grab_idle()
218 /* Don't use per engine and per process VMID at the same time */ in amdgpu_vmid_grab_idle()
228 /* If we can't find a idle VMID to use, wait till one becomes available */ in amdgpu_vmid_grab_idle()
259 * amdgpu_vm_grab_reserved - try to assign reserved VMID
[all …]
Damdgpu_amdkfd_gfx_v9.c53 uint32_t queue, uint32_t vmid) in lock_srbm() argument
58 soc15_grbm_select(adev, mec, pipe, queue, vmid); in lock_srbm()
94 void kgd_gfx_v9_program_sh_mem_settings(struct kgd_dev *kgd, uint32_t vmid, in kgd_gfx_v9_program_sh_mem_settings() argument
102 lock_srbm(kgd, 0, 0, 0, vmid); in kgd_gfx_v9_program_sh_mem_settings()
112 unsigned int vmid) in kgd_gfx_v9_set_pasid_vmid_mapping() argument
128 * for ATC add 16 to VMID for mmhub, for IH different registers. in kgd_gfx_v9_set_pasid_vmid_mapping()
132 WREG32(SOC15_REG_OFFSET(ATHUB, 0, mmATC_VMID0_PASID_MAPPING) + vmid, in kgd_gfx_v9_set_pasid_vmid_mapping()
138 (1U << vmid))) in kgd_gfx_v9_set_pasid_vmid_mapping()
143 1U << vmid); in kgd_gfx_v9_set_pasid_vmid_mapping()
145 /* Mapping vmid to pasid also for IH block */ in kgd_gfx_v9_set_pasid_vmid_mapping()
[all …]
Damdgpu_amdkfd_gfx_v7.c75 uint32_t vmid:4; member
91 uint32_t queue, uint32_t vmid) in lock_srbm() argument
94 uint32_t value = PIPEID(pipe) | MEID(mec) | VMID(vmid) | QUEUEID(queue); in lock_srbm()
124 static void kgd_program_sh_mem_settings(struct kgd_dev *kgd, uint32_t vmid, in kgd_program_sh_mem_settings() argument
132 lock_srbm(kgd, 0, 0, 0, vmid); in kgd_program_sh_mem_settings()
143 unsigned int vmid) in kgd_set_pasid_vmid_mapping() argument
156 WREG32(mmATC_VMID0_PASID_MAPPING + vmid, pasid_mapping); in kgd_set_pasid_vmid_mapping()
158 while (!(RREG32(mmATC_VMID_PASID_MAPPING_UPDATE_STATUS) & (1U << vmid))) in kgd_set_pasid_vmid_mapping()
160 WREG32(mmATC_VMID_PASID_MAPPING_UPDATE_STATUS, 1U << vmid); in kgd_set_pasid_vmid_mapping()
162 /* Mapping vmid to pasid also for IH block */ in kgd_set_pasid_vmid_mapping()
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdkfd/
Dcik_event_interrupt.c37 unsigned int vmid; in cik_event_interrupt_isr() local
42 * VMID and PASID are not written into ih_ring_entry in cik_event_interrupt_isr()
53 vmid = f2g->read_vmid_from_vmfault_reg(dev->adev); in cik_event_interrupt_isr()
54 ret = f2g->get_atc_vmid_pasid_mapping_info(dev->adev, vmid, &pasid); in cik_event_interrupt_isr()
57 tmp_ihre->ring_id |= vmid << 8; in cik_event_interrupt_isr()
61 vmid >= dev->vm_info.first_vmid_kfd && in cik_event_interrupt_isr()
62 vmid <= dev->vm_info.last_vmid_kfd; in cik_event_interrupt_isr()
66 vmid = (ihre->ring_id & 0x0000ff00) >> 8; in cik_event_interrupt_isr()
67 if (vmid < dev->vm_info.first_vmid_kfd || in cik_event_interrupt_isr()
68 vmid > dev->vm_info.last_vmid_kfd) in cik_event_interrupt_isr()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdkfd/
Dcik_event_interrupt.c37 unsigned int vmid; in cik_event_interrupt_isr() local
42 * VMID and PASID are not written into ih_ring_entry in cik_event_interrupt_isr()
53 vmid = f2g->read_vmid_from_vmfault_reg(dev->kgd); in cik_event_interrupt_isr()
54 ret = f2g->get_atc_vmid_pasid_mapping_info(dev->kgd, vmid, &pasid); in cik_event_interrupt_isr()
57 tmp_ihre->ring_id |= vmid << 8; in cik_event_interrupt_isr()
61 vmid >= dev->vm_info.first_vmid_kfd && in cik_event_interrupt_isr()
62 vmid <= dev->vm_info.last_vmid_kfd; in cik_event_interrupt_isr()
66 vmid = (ihre->ring_id & 0x0000ff00) >> 8; in cik_event_interrupt_isr()
67 if (vmid < dev->vm_info.first_vmid_kfd || in cik_event_interrupt_isr()
68 vmid > dev->vm_info.last_vmid_kfd) in cik_event_interrupt_isr()
[all …]
Dkfd_dbgdev.c234 unsigned int index, unsigned int vmid) in dbgdev_address_watch_set_registers() argument
258 cntl->bitfields.vmid = (uint32_t) vmid; in dbgdev_address_watch_set_registers()
278 /* taking the vmid for that process on the safe way using pdd */ in dbgdev_address_watch_nodiq()
303 &cntl, i, pdd->qpd.vmid); in dbgdev_address_watch_nodiq()
307 pr_debug("\t\t%20s %08x\n", "vmid is :", pdd->qpd.vmid); in dbgdev_address_watch_nodiq()
318 pr_debug("\t\t%20s %08x\n", "Control Vmid is :", in dbgdev_address_watch_nodiq()
319 cntl.bitfields.vmid); in dbgdev_address_watch_nodiq()
348 /* we do not control the vmid in DIQ mode, just a place holder */ in dbgdev_address_watch_diq()
349 unsigned int vmid = 0; in dbgdev_address_watch_diq() local
398 vmid); in dbgdev_address_watch_diq()
[all …]
Dkfd_int_process_v9.c34 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_isr_v9() local
38 vmid = SOC15_VMID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_isr_v9()
39 if (vmid < dev->vm_info.first_vmid_kfd || in event_interrupt_isr_v9()
40 vmid > dev->vm_info.last_vmid_kfd) in event_interrupt_isr_v9()
58 pasid = dev->dqm->vmid_pasid[vmid]; in event_interrupt_isr_v9()
65 pr_debug("client id 0x%x, source id %d, vmid %d, pasid 0x%x. raw data:\n", in event_interrupt_isr_v9()
66 client_id, source_id, vmid, pasid); in event_interrupt_isr_v9()
90 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_wq_v9() local
96 vmid = SOC15_VMID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_wq_v9()
113 info.vmid = vmid; in event_interrupt_wq_v9()
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/include/
Dkgd_kfd_interface.h51 uint32_t vmid; member
102 /* Bit n == 1 means VMID n is available for KFD. */
165 * @set_pasid_vmid_mapping: Exposes pasid/vmid pair to the H/W for no cp
189 * @set_scratch_backing_va: Sets VA for scratch backing memory of a VMID.
192 * @set_vm_context_page_table_base: Program page table base for a VMID
196 * @invalidate_tlbs_vmid: Invalidate TLBs for a specific VMID
198 * @read_vmid_from_vmfault_reg: On Hawaii the VMID is not set in the
199 * IH ring entry. This function allows the KFD ISR to get the VMID
217 void (*program_sh_mem_settings)(struct amdgpu_device *adev, uint32_t vmid,
223 unsigned int vmid, uint32_t inst);
[all …]
/kernel/linux/linux-5.10/arch/arm64/kvm/hyp/nvhe/
Dtlb.c24 * VMID set in the VTTBR in order to invalidate TLBs. in __tlb_switch_to_guest()
49 /* Ensure write of the host VMID */ in __tlb_switch_to_host()
63 /* Switch to requested VMID */ in __kvm_tlb_flush_vmid_ipa()
89 * I-cache lines allocated with a different VMID, we don't need in __kvm_tlb_flush_vmid_ipa()
91 * VMID rollover), but we do need to be careful when remapping in __kvm_tlb_flush_vmid_ipa()
116 /* Switch to requested VMID */ in __kvm_tlb_flush_vmid()
130 /* Switch to requested VMID */ in __kvm_flush_cpu_context()
147 * VIPT and PIPT caches are not affected by VMID, so no maintenance in __kvm_flush_vm_context()
148 * is necessary across a VMID rollover. in __kvm_flush_vm_context()
150 * VPIPT caches constrain lookup and maintenance to the active VMID, in __kvm_flush_vm_context()
[all …]
/kernel/linux/linux-6.6/arch/arm64/kvm/hyp/nvhe/
Dtlb.c49 * VMID set in the VTTBR in order to invalidate TLBs. in __tlb_switch_to_guest()
74 /* Ensure write of the host VMID */ in __tlb_switch_to_host()
86 /* Switch to requested VMID */ in __kvm_tlb_flush_vmid_ipa()
112 * I-cache lines allocated with a different VMID, we don't need in __kvm_tlb_flush_vmid_ipa()
114 * VMID rollover), but we do need to be careful when remapping in __kvm_tlb_flush_vmid_ipa()
138 /* Switch to requested VMID */ in __kvm_tlb_flush_vmid_ipa_nsh()
164 * I-cache lines allocated with a different VMID, we don't need in __kvm_tlb_flush_vmid_ipa_nsh()
166 * VMID rollover), but we do need to be careful when remapping in __kvm_tlb_flush_vmid_ipa_nsh()
198 /* Switch to requested VMID */ in __kvm_tlb_flush_vmid_range()
219 /* Switch to requested VMID */ in __kvm_tlb_flush_vmid()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/include/
Dkgd_kfd_interface.h51 uint32_t vmid; member
116 /* Bit n == 1 means VMID n is available for KFD. */
178 * @set_pasid_vmid_mapping: Exposes pasid/vmid pair to the H/W for no cp
202 * @set_scratch_backing_va: Sets VA for scratch backing memory of a VMID.
205 * @set_vm_context_page_table_base: Program page table base for a VMID
209 * @invalidate_tlbs_vmid: Invalidate TLBs for a specific VMID
211 * @read_vmid_from_vmfault_reg: On Hawaii the VMID is not set in the
212 * IH ring entry. This function allows the KFD ISR to get the VMID
230 void (*program_sh_mem_settings)(struct kgd_dev *kgd, uint32_t vmid,
235 unsigned int vmid);
[all …]

12345678910>>...25