On Tue, Aug 23, 2016 at 08:05:11PM +0100, Robin Murphy wrote: > Hi all, > > At long last I've finished the big SMMUv2 rework, so here's everything > all together for a v5. As a quick breakdown: > > Patches 1-3 are the core PCI part, all acked and ready to go. No code > changes from v4. > > Patch 4 is merely bugfixed from v4 for simplicity, as I've not yet > managed to take as close a look at Lorenzo's follow-on work as I'd like. > > Patches 5-7 (SMMUv3) are mostly unchanged beyond a slight tweak to #5. > > Patches 8-17 are the all-new SMMUv2 rework. > > Patch 18 goes along with the fix already in 4.8-rc3 to help avoid 64-bit > DMA masks going wrong now that DMA ops will be enabled. > > Finally, patch 19 addresses the previous problem of having to choose > between DMA ops or working MSIs. This is currently at the end as > moving it before #17 would require a further interim SMMUv2 patch, and > a 19-patch series is already quite enough... > > I've pushed out a branch based on iommu/next to the usual place: > > git://linux-arm.org/linux-rm iommu/generic-v5 I tested my ACPI IORT SMMU series on top of it on FVP and Juno (and respective SMMU versions) and have not spotted any issues so far, so feel free to add my: Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> > Thanks, > Robin. > --- > > Mark Rutland (1): > Docs: dt: add PCI IOMMU map bindings > > Robin Murphy (18): > of/irq: Break out msi-map lookup (again) > iommu/of: Handle iommu-map property for PCI > iommu/of: Introduce iommu_fwspec > iommu/arm-smmu: Implement of_xlate() for SMMUv3 > iommu/arm-smmu: Support non-PCI devices with SMMUv3 > iommu/arm-smmu: Set PRIVCFG in stage 1 STEs > iommu/arm-smmu: Handle stream IDs more dynamically > iommu/arm-smmu: Consolidate stream map entry state > iommu/arm-smmu: Keep track of S2CR state > iommu/arm-smmu: Refactor mmu-masters handling > iommu/arm-smmu: Streamline SMMU data lookups > iommu/arm-smmu: Add a stream map entry iterator > iommu/arm-smmu: Intelligent SMR allocation > iommu/arm-smmu: Convert to iommu_fwspec > Docs: dt: document ARM SMMU generic binding usage > iommu/arm-smmu: Wire up generic configuration support > iommu/arm-smmu: Set domain geometry > iommu/dma: Add support for mapping MSIs > > .../devicetree/bindings/iommu/arm,smmu.txt | 63 +- > .../devicetree/bindings/pci/pci-iommu.txt | 171 ++++ > drivers/iommu/Kconfig | 2 +- > drivers/iommu/arm-smmu-v3.c | 347 ++++---- > drivers/iommu/arm-smmu.c | 952 ++++++++++----------- > drivers/iommu/dma-iommu.c | 141 ++- > drivers/iommu/of_iommu.c | 95 +- > drivers/irqchip/irq-gic-v2m.c | 3 + > drivers/irqchip/irq-gic-v3-its.c | 3 + > drivers/of/irq.c | 78 +- > drivers/of/of_pci.c | 102 +++ > include/linux/dma-iommu.h | 9 + > include/linux/of_iommu.h | 15 + > include/linux/of_pci.h | 10 + > 14 files changed, 1208 insertions(+), 783 deletions(-) > create mode 100644 Documentation/devicetree/bindings/pci/pci-iommu.txt > > -- > 2.8.1.dirty > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html