Hi Jordan, Thank you for this, SMMUv3 and virtio-iommu need these SVA patches as well.
On 21/02/18 22:59, Jordan Crouse wrote: [...]> diff --git a/include/linux/iommu.h b/include/linux/iommu.h > index e2c49e583d8d..e998389cf195 100644 > --- a/include/linux/iommu.h > +++ b/include/linux/iommu.h > @@ -110,8 +110,17 @@ struct iommu_domain { > struct list_head mm_list; > }; > > +enum iommu_io_type { > + IO_TYPE_MM, > +}; > + > +struct io_base { > + int type; > + int pasid; > +}; "io_base" is a bit vague. I'm bad at naming so my opinion doesn't hold much water, but I'd rather this be something like "io_mm_base". When I initially toyed with the idea I intended to keep io_mm as parent structure and have "private" and "shared" sub-structures. Even if private PASIDs don't rely on the kernel mm subsystem, this structure would still represent an I/O mm of sorts, with a pgd and pgtable info. Thanks, Jean > + > struct io_mm { > - int pasid; > + struct io_base base; > struct list_head devices; > struct kref kref; > #if defined(CONFIG_MMU_NOTIFIER) > _______________________________________________ Freedreno mailing list Freedreno@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/freedreno