RE: [PATCH v4 07/10] iommu: Merge iommu_fault_event and iopf_fault
From: Tian, Kevin
Date: Wed Aug 30 2023 - 15:17:54 EST
> From: Baolu Lu <baolu.lu@xxxxxxxxxxxxxxx>
> Sent: Saturday, August 26, 2023 3:02 PM
>
> On 8/25/23 4:03 PM, Tian, Kevin wrote:
> >> From: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
> >> Sent: Friday, August 25, 2023 10:30 AM
> >>
> >> -/**
> >> - * struct iommu_fault_event - Generic fault event
> >> - *
> >> - * Can represent recoverable faults such as a page requests or
> >> - * unrecoverable faults such as DMA or IRQ remapping faults.
> >> - *
> >> - * @fault: fault descriptor
> >> - * @list: pending fault event list, used for tracking responses
> >> - */
> >> -struct iommu_fault_event {
> >> - struct iommu_fault fault;
> >> - struct list_head list;
> >> -};
> >> -
> >
> > iommu_fault_event is more forward-looking if unrecoverable fault
> > will be supported in future. From this angle it might make more
> > sense to keep it to replace iopf_fault.
>
> Currently IOMMU drivers use
>
> int report_iommu_fault(struct iommu_domain *domain, struct device *dev,
> unsigned long iova, int flags)
>
> to report unrecoverable faults. There is no need for a generic fault
> event structure.
>
> So alternatively, we can use iopf_fault for now and consolidate a
> generic fault data structure when there is a real need.
>
Jean suggested to deprecate report_iommu_fault() and instead use
iommu_report_device_fault() for unrecoverable faults.
but not big deal if you prefer to iopf_fault for now.