[GIT PULL] iommu/arm-smmu: Updates for 4.13
Will Deacon
will.deacon at arm.com
Mon Jun 26 03:42:42 PDT 2017
Hi Joerg,
Please pull these arm-smmu updates for 4.13. The headline feature is Robin's
conversion of the page table code to a lockless implementation, which
significantly closes the DMA performance gap when compared to a system with
the SMMU in bypass mode. We'll look at improving unmap performance further
in the next cycle.
Other than that, we have a healthy crop of errata workarounds:
* Cavium forgot to hook up all the registers in their implementation ...
* ... but they did remember to OR all the interrupts together (including
across devices!)
* Hisilicon forgot to implement the PREFETCH command (we already handled
this for DT, but not ACPI)
Due to the interaction with ACPI IORT, there are some IORT changes included
here that have been acked-by Lorenzo. Note that there's a trivial conflict
with the kvm-arm tree in linux-next, since both trees add a line to
silicon-errata.txt.
We also have some minor cleanups and a bump to the CMDQ timeout.
Cheers,
Will
--->8
The following changes since commit 2ea659a9ef488125eb46da6eb571de5eae5c43f6:
Linux 4.12-rc1 (2017-05-13 13:19:49 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git for-joerg/arm-smmu/updates
for you to fetch changes up to f935448acf462c26142e8b04f1c8829b28d3b9d8:
iommu/arm-smmu-v3: Add workaround for Cavium ThunderX2 erratum #126 (2017-06-23 17:58:04 +0100)
----------------------------------------------------------------
Arvind Yadav (3):
iommu/io-pgtable-arm-v7s: constify dummy_tlb_ops.
iommu: arm-smmu-v3: make of_device_ids const
iommu: arm-smmu: Handle return of iommu_device_register.
Geetha Sowjanya (1):
iommu/arm-smmu-v3: Add workaround for Cavium ThunderX2 erratum #126
Linu Cherian (2):
ACPI/IORT: Fixup SMMUv3 resource size for Cavium ThunderX2 SMMUv3 model
iommu/arm-smmu-v3: Add workaround for Cavium ThunderX2 erratum #74
Robert Richter (1):
iommu/arm-smmu-v3, acpi: Add temporary Cavium SMMU-V3 IORT model number definitions
Robin Murphy (9):
iommu/arm-smmu: Plumb in new ACPI identifiers
iommu/io-pgtable-arm-v7s: Check table PTEs more precisely
iommu/io-pgtable-arm: Improve split_blk_unmap
iommu/io-pgtable-arm-v7s: Refactor split_blk_unmap
iommu/io-pgtable: Introduce explicit coherency
iommu/io-pgtable-arm: Support lockless operation
iommu/io-pgtable-arm-v7s: Support lockless operation
iommu/arm-smmu: Remove io-pgtable spinlock
iommu/arm-smmu-v3: Remove io-pgtable spinlock
Sunil Goutham (1):
iommu/arm-smmu-v3: Increase CMDQ drain timeout value
Will Deacon (2):
iommu/io-pgtable: depend on !GENERIC_ATOMIC64 when using COMPILE_TEST with LPAE
iommu/io-pgtable-arm: Use dma_wmb() instead of wmb() when publishing table
shameer (1):
iommu/arm-smmu-v3: Enable ACPI based HiSilicon CMD_PREFETCH quirk(erratum 161010701)
Documentation/arm64/silicon-errata.txt | 3 +
.../devicetree/bindings/iommu/arm,smmu-v3.txt | 12 ++
drivers/acpi/arm64/iort.c | 83 ++++++--
drivers/iommu/Kconfig | 2 +-
drivers/iommu/arm-smmu-v3.c | 229 ++++++++++++++-------
drivers/iommu/arm-smmu.c | 64 +++---
drivers/iommu/io-pgtable-arm-v7s.c | 183 ++++++++++------
drivers/iommu/io-pgtable-arm.c | 189 +++++++++++------
drivers/iommu/io-pgtable.h | 6 +
9 files changed, 523 insertions(+), 248 deletions(-)
More information about the linux-arm-kernel
mailing list