[PATCH 00/12] Generic DT bindings for PCI and ARM SMMU
Robin Murphy
robin.murphy at arm.com
Mon Feb 29 05:46:09 PST 2016
Hi all,
Here's an initial dump of what I've been doing for full generic binding
support on SMMUv2. I'm posting it as one big series because it all fits
together, but the OF and arm64 patches should be free to go through
their respective trees without horribly breaking anything (I think...)
Currently this just brings platform and PCI generic binding support to
the level of the old binding, and adds proper group creation - I have
more ongoing work on top of this to remove the stream ID limits and start
filling in SMR support, which will probably show up added/folded in to
subsequent revisions.
I've put a branch together (based on the SMMU changes in -next) here:
git://linux-arm.org/linux-rm iommu/generic
Tested on Juno (MMU-401) and LS2085 (MMU-500) for both PCI and platform
devices, plus various combinations of stream ID aliasing between the
two. Since we don't yet have a robust solution for dealing with MSI
doorbells downstream of translation, there are some temporary hacks that
I've been running with on the iommu/msi branch.
Robin.
---
Mark Rutland (1):
Docs: dt: add PCI IOMMU map bindings
Robin Murphy (11):
of/irq: Break out msi-map lookup (again)
iommu/of: Handle iommu-map property for PCI
arm64/dma-mapping: Extend DMA ops workaround to PCI devices
arm64/dma-mapping: Remove default domain workaround
iommu/arm-smmu: Streamline SMMU data lookup
iommu/arm-smmu: Factor out mmu-masters handling
iommu/arm-smmu: Refactor master/group config handling
iommu/arm-smmu: Simplify mmu-masters handling
Docs: dt: document ARM SMMU generic binding usage
iommu/arm-smmu: Generic IOMMU DT bindings support
iommu/arm-smmu: Group platform devices appropriately
.../devicetree/bindings/iommu/arm,smmu.txt | 40 +-
.../devicetree/bindings/pci/pci-iommu.txt | 171 +++++
arch/arm64/mm/dma-mapping.c | 56 +-
drivers/iommu/arm-smmu.c | 733 ++++++++++++---------
drivers/iommu/of_iommu.c | 43 +-
drivers/of/irq.c | 70 +-
drivers/of/of_pci.c | 102 +++
include/linux/of_pci.h | 8 +
8 files changed, 765 insertions(+), 458 deletions(-)
create mode 100644 Documentation/devicetree/bindings/pci/pci-iommu.txt
--
2.7.2.333.g70bd996.dirty
More information about the linux-arm-kernel
mailing list