On Tue, Apr 30, 2024 at 10:57:07PM +0800, Lu Baolu wrote: > diff --git a/drivers/iommu/iommufd/fault.c b/drivers/iommu/iommufd/fault.c > index 13125c0feecb..6357229bf3b4 100644 > --- a/drivers/iommu/iommufd/fault.c > +++ b/drivers/iommu/iommufd/fault.c > @@ -15,6 +15,124 @@ > #include "../iommu-priv.h" > #include "iommufd_private.h" > > +static int iommufd_fault_iopf_enable(struct iommufd_device *idev) > +{ > + int ret; > + > + if (idev->iopf_enabled) > + return 0; > + > + ret = iommu_dev_enable_feature(idev->dev, IOMMU_DEV_FEAT_IOPF); > + if (ret) > + return ret; > + > + idev->iopf_enabled = true; > + > + return 0; > +} I would greatly prefer we remove this from the drivers :\ I guess it is Ok for now Doesn't this need a counter? We can have many fault capable PASIDs? That will get changed in the PASID series? Jason