Lines Matching refs:pasid
43 u32 pasid; /* PASID index */
45 teardown of the pasid */
73 u32 pasid;
153 u32 pasid, bool alloc)
163 index = (pasid >> (9 * level)) & 0x1ff;
187 u32 pasid)
194 ptr = __get_pasid_state_ptr(dev_state, pasid, true);
214 static void clear_pasid_state(struct device_state *dev_state, u32 pasid)
220 ptr = __get_pasid_state_ptr(dev_state, pasid, true);
232 u32 pasid)
238 ptr = __get_pasid_state_ptr(dev_state, pasid, false);
286 /* After this the device/pasid can't access the mm anymore */
287 amd_iommu_domain_clear_gcr3(domain, pasid_state->pasid);
370 amd_iommu_flush_page(dev_state->domain, pasid_state->pasid,
373 amd_iommu_flush_tlb(dev_state->domain, pasid_state->pasid);
389 dev_state->inv_ctx_cb(dev_state->pdev, pasid_state->pasid);
418 amd_iommu_complete_ppr(dev_state->pdev, pasid_state->pasid,
436 fault->pasid,
539 amd_iommu_complete_ppr(pdev, iommu_fault->pasid,
548 pasid_state = get_pasid_state(dev_state, iommu_fault->pasid);
551 amd_iommu_complete_ppr(dev_state->pdev, iommu_fault->pasid,
574 fault->pasid = iommu_fault->pasid;
598 int amd_iommu_bind_pasid(struct pci_dev *pdev, u32 pasid,
619 if (pasid >= dev_state->max_pasids)
635 pasid_state->pasid = pasid;
637 done with setting up the pasid */
645 ret = set_pasid_state(dev_state, pasid_state, pasid);
649 ret = amd_iommu_domain_set_gcr3(dev_state->domain, pasid,
667 clear_pasid_state(dev_state, pasid);
683 void amd_iommu_unbind_pasid(struct pci_dev *pdev, u32 pasid)
699 if (pasid >= dev_state->max_pasids)
702 pasid_state = get_pasid_state(dev_state, pasid);
711 /* Clear the pasid state so that the pasid can be re-used */
712 clear_pasid_state(dev_state, pasid_state->pasid);
852 /* Get rid of any remaining pasid states */