Lines Matching refs:iopf

55 static int iopf_complete_group(struct device *dev, struct iopf_fault *iopf,  in iopf_complete_group()  argument
60 .pasid = iopf->fault.prm.pasid, in iopf_complete_group()
61 .grpid = iopf->fault.prm.grpid, in iopf_complete_group()
65 if ((iopf->fault.prm.flags & IOMMU_FAULT_PAGE_REQUEST_PASID_VALID) && in iopf_complete_group()
66 (iopf->fault.prm.flags & IOMMU_FAULT_PAGE_RESPONSE_NEEDS_PASID)) in iopf_complete_group()
76 struct iopf_fault *iopf, *next; in iopf_handler() local
85 list_for_each_entry_safe(iopf, next, &group->faults, list) { in iopf_handler()
91 status = domain->iopf_handler(&iopf->fault, in iopf_handler()
94 if (!(iopf->fault.prm.flags & in iopf_handler()
96 kfree(iopf); in iopf_handler()
147 struct iopf_fault *iopf, *next; in iommu_queue_iopf() local
168 iopf = kzalloc(sizeof(*iopf), GFP_KERNEL); in iommu_queue_iopf()
169 if (!iopf) in iommu_queue_iopf()
172 iopf->fault = *fault; in iommu_queue_iopf()
175 list_add(&iopf->list, &iopf_param->partial); in iommu_queue_iopf()
198 list_for_each_entry_safe(iopf, next, &iopf_param->partial, list) { in iommu_queue_iopf()
199 if (iopf->fault.prm.grpid == fault->prm.grpid) in iommu_queue_iopf()
201 list_move(&iopf->list, &group->faults); in iommu_queue_iopf()
208 list_for_each_entry_safe(iopf, next, &iopf_param->partial, list) { in iommu_queue_iopf()
209 if (iopf->fault.prm.grpid == fault->prm.grpid) { in iommu_queue_iopf()
210 list_del(&iopf->list); in iommu_queue_iopf()
211 kfree(iopf); in iommu_queue_iopf()
263 struct iopf_fault *iopf, *next; in iopf_queue_discard_partial() local
271 list_for_each_entry_safe(iopf, next, &iopf_param->partial, in iopf_queue_discard_partial()
273 list_del(&iopf->list); in iopf_queue_discard_partial()
274 kfree(iopf); in iopf_queue_discard_partial()
335 struct iopf_fault *iopf, *next; in iopf_queue_remove_device() local
356 list_for_each_entry_safe(iopf, next, &iopf_param->partial, list) in iopf_queue_remove_device()
357 kfree(iopf); in iopf_queue_remove_device()