On Wed, Aug 23, 2023 at 01:47:36PM -0300, Jason Gunthorpe wrote: > This callback requests the driver to create only a __IOMMU_DOMAIN_PAGING > domain, so it saves a few lines in a lot of drivers needlessly checking > the type. > > More critically, this allows us to sweep out all the > IOMMU_DOMAIN_UNMANAGED and IOMMU_DOMAIN_DMA checks from a lot of the > drivers, simplifying what is going on in the code and ultimately removing > the now-unused special cases in drivers where they did not support > IOMMU_DOMAIN_DMA. > > domain_alloc_paging() should return a struct iommu_domain that is > functionally compatible with ARM_DMA_USE_IOMMU, dma-iommu.c and iommufd. > > Be forwards looking and pass in a 'struct device *' argument. We can > provide this when allocating the default_domain. No drivers will look at > this. > > Tested-by: Steven Price <steven.price@xxxxxxx> > Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> > Tested-by: Nicolin Chen <nicolinc@xxxxxxxxxx> > Reviewed-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> > Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxx> > --- > drivers/iommu/iommu.c | 17 ++++++++++++++--- > include/linux/iommu.h | 3 +++ > 2 files changed, 17 insertions(+), 3 deletions(-) > Reviewed-by: Jerry Snitselaar <jsnitsel@xxxxxxxxxx>