Skip to content

Generic DT bindings for PCI IOMMUs and ARM SMMU

Robin Murphy linux-arm-kernel linux-devicetree linux-iommu lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v5 Latest18 of 19 patches 24 repliesIn review

18 of 19 patches are in this archive. The cover letter announces 19.

Patches in v5 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/19Docs: dt: add PCI IOMMU map bindingsDocumentation/devicetree/bindings/pci/pci-iommu.txt+171 -00 replies
2/19of/irq: Break out msi-map lookup (again)drivers/of/irq.c drivers/of/of_pci.c include/linux/of_pci.h+116 -740 replies
3/19iommu/of: Handle iommu-map property for PCIdrivers/iommu/of_iommu.c+36 -71 reply
4/19iommu/of: Introduce iommu_fwspecdrivers/iommu/of_iommu.c include/linux/of_iommu.h+67 -04 replies
5/19iommu/arm-smmu: Implement of_xlate() for SMMUv3drivers/iommu/arm-smmu-v3.c+139 -1732 replies
6/19iommu/arm-smmu: Support non-PCI devices with SMMUv3drivers/iommu/Kconfig drivers/iommu/arm-smmu-v3.c+33 -91 reply
7/19iommu/arm-smmu: Set PRIVCFG in stage 1 STEsdrivers/iommu/arm-smmu-v3.c+6 -11 reply
8/19iommu/arm-smmu: Handle stream IDs more dynamicallydrivers/iommu/arm-smmu.c+22 -211 reply
9/19iommu/arm-smmu: Consolidate stream map entry statedrivers/iommu/arm-smmu.c+86 -613 replies
10/19iommu/arm-smmu: Keep track of S2CR statedrivers/iommu/arm-smmu.c+93 -662 replies
11/19iommu/arm-smmu: Refactor mmu-masters handlingdrivers/iommu/arm-smmu.c+107 -2751 reply
12/19iommu/arm-smmu: Streamline SMMU data lookupsdrivers/iommu/arm-smmu.c+11 -330 replies
13/19iommu/arm-smmu: Add a stream map entry iteratordrivers/iommu/arm-smmu.c+12 -140 replies
14/19iommu/arm-smmu: Intelligent SMR allocationdrivers/iommu/arm-smmu.c+114 -782 replies
15/19iommu/arm-smmu: Convert to iommu_fwspecdrivers/iommu/arm-smmu.c+77 -621 reply
16/19Docs: dt: document ARM SMMU generic binding usageDocumentation/devicetree/bindings/iommu/arm,smmu.txt+48 -151 reply
17/19iommu/arm-smmu: Wire up generic configuration supportdrivers/iommu/arm-smmu.c+107 -611 reply
18/19iommu/arm-smmu: Set domain geometrydrivers/iommu/arm-smmu-v3.c drivers/iommu/arm-smmu.c+4 -01 reply

Reviews trailers per patch

8 of 18 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchRob HerringWill DeaconMarc ZyngierEric AugerLorenzo Pieralisi
SeriesR-b T-b
1/19A-b A-b
2/19A-b A-b
3/19R-b
4/19
5/19
6/19A-b
7/19A-b
8/19A-b
9/19
10/19
11/19
12/19
13/19
14/19
15/19
16/19A-b
17/19
18/19R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 5 reviewers.

Read the v5 thread

Cover letter [PATCH v5 00/19] Generic DT bindings for PCI IOMMUs and ARM SMMU

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

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
Signature · 6 lines
2.8.1.dirty

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html