Message ID | 20201112125519.3987595-1-jean-philippe@linaro.org (mailing list archive) |
---|---|
Headers | show |
Series | iommu: I/O page faults for SMMUv3 | expand |
Hi Jean, On Thu, Nov 12, 2020 at 6:33 PM Jean-Philippe Brucker <jean-philippe@linaro.org> wrote: > > Add support for stall and PRI to the SMMUv3 driver, along with a common > I/O Page Fault handler. > > These patches were last sent as part of v7 of the larger SVA series [1]. > Main changes since v7: > * Dropped CONFIG_IOMMU_PAGE_FAULT, reuse CONFIG_IOMMU_SVA_LIB instead. > * Extracted devicetree support into patch 4. > * Added patch 5 for ACPI support. > * Dropped event queue flush on unbind(). Since device drivers must > complete DMA transactions before calling unbind(), there cannot be any > pending stalled event. > * A few small fixes. > > The series depends on "iommu/sva: Add PASID helpers" [2], since it > provides the function to search an mm_struct by PASID. > > Has anyone been testing the PRI patches on hardware? I still only have a > software model to test them, so as much as I'd like to cross this off my > list, we could leave out patches 7-9 for now. > I have been testing this series for sometime now with a RDN1Edge platform model. The public model for N1-Edge rd FVP can be found at [A]. With reference software [B] and your kernel branch with smmute [C], I was able to test smmute by initiating different DMA transactions. With model logs I was able to validate ATS and PRI command flows as well. So I am happy to give my tested-by tag. Tested-by: Vivek Gautam <vivek.gautam@arm.com> Best regards Vivek [A] https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps [B] https://git.linaro.org/landing-teams/working/arm/arm-reference-platforms.git/about/docs/rdn1edge/user-guide.rst [C] https://jpbrucker.net/git/linux/log/?h=sva/smmute-2020-11-12 > [1] https://lore.kernel.org/linux-iommu/20200519175502.2504091-1-jean-philippe@linaro.org/ > [2] https://lore.kernel.org/linux-iommu/20201106155048.997886-1-jean-philippe@linaro.org/ > > Jean-Philippe Brucker (9): > iommu: Add a page fault handler > iommu/arm-smmu-v3: Maintain a SID->device structure > dt-bindings: document stall property for IOMMU masters > of/iommu: Support dma-can-stall property > ACPI/IORT: Enable stall support for platform devices > iommu/arm-smmu-v3: Add stall support for platform devices > PCI/ATS: Add PRI stubs > PCI/ATS: Export PRI functions > iommu/arm-smmu-v3: Add support for PRI > > drivers/iommu/Makefile | 1 + > .../devicetree/bindings/iommu/iommu.txt | 18 + > drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 69 +- > drivers/iommu/iommu-sva-lib.h | 53 ++ > include/linux/iommu.h | 4 + > include/linux/pci-ats.h | 7 + > drivers/acpi/arm64/iort.c | 1 + > .../iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 52 +- > drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 605 +++++++++++++++--- > drivers/iommu/io-pgfault.c | 462 +++++++++++++ > drivers/iommu/of_iommu.c | 5 +- > drivers/pci/ats.c | 4 + > 12 files changed, 1191 insertions(+), 90 deletions(-) > create mode 100644 drivers/iommu/io-pgfault.c > > -- > 2.29.1 > > _______________________________________________ > iommu mailing list > iommu@lists.linux-foundation.org > https://lists.linuxfoundation.org/mailman/listinfo/iommu