Lines Matching refs:event
572 struct iommu_fault_event event;
577 /* Fill in event data for device specific processing */
578 memset(&event, 0, sizeof(struct iommu_fault_event));
579 event.fault.type = IOMMU_FAULT_PAGE_REQ;
580 event.fault.prm.addr = (u64)desc->addr << VTD_PAGE_SHIFT;
581 event.fault.prm.pasid = desc->pasid;
582 event.fault.prm.grpid = desc->prg_index;
583 event.fault.prm.perm = prq_to_iommu_prot(desc);
586 event.fault.prm.flags |= IOMMU_FAULT_PAGE_REQUEST_LAST_PAGE;
588 event.fault.prm.flags |= IOMMU_FAULT_PAGE_REQUEST_PASID_VALID;
589 event.fault.prm.flags |= IOMMU_FAULT_PAGE_RESPONSE_NEEDS_PASID;
598 event.fault.prm.flags |= IOMMU_FAULT_PAGE_REQUEST_LAST_PAGE;
599 event.fault.prm.flags |= IOMMU_FAULT_PAGE_REQUEST_PRIV_DATA;
600 event.fault.prm.private_data[0] = desc->priv_data[0];
601 event.fault.prm.private_data[1] = desc->priv_data[1];
607 event.fault.prm.private_data[0] = ktime_to_ns(ktime_get());
610 return iommu_report_device_fault(dev, &event);