[GIT PULL] iommu/arm-smmu: Updates for 5.12
Will Deacon
will at kernel.org
Mon Feb 1 10:46:33 EST 2021
Hi Joerg,
Please pull these Arm SMMU updates for 5.12. The biggest thing here isn't
actually Arm SMMU-related at all, but is the addition of a new driver for
the MT8192 IOMMU. I've included it here because it ended up touching
quite a bit of the io-pgtable code.
Please note that I've based this branch on the "iommu-fixes" tag I sent for
-rc4 to avoid conflicts with upstream.
Cheers,
Will
--->8
The following changes since commit 694a1c0adebee9152a9ba0320468f7921aca647d:
iommu/vt-d: Fix duplicate included linux/dma-map-ops.h (2021-01-12 16:56:20 +0000)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git tags/arm-smmu-updates
for you to fetch changes up to 7060377ce06f9cd3ed6274c0f2310463feb5baec:
Merge branch 'for-joerg/mtk' into for-joerg/arm-smmu/updates (2021-02-01 12:59:28 +0000)
----------------------------------------------------------------
Arm SMMU updates for 5.12
- Support for MT8192 IOMMU from Mediatek
- Arm v7s io-pgtable extensions for MT8192
- Removal of TLBI_ON_MAP quirk
- New Qualcomm compatible strings
- Allow SVA without hardware broadcast TLB maintenance on SMMUv3
- Virtualization Host Extension support for SMMUv3 (SVA)
- Allow SMMUv3 PMU (perf) driver to be built independently from IOMMU
- Misc cleanups
----------------------------------------------------------------
Bjorn Andersson (2):
dt-bindings: arm-smmu-qcom: Add Qualcomm SC8180X compatible
iommu/arm-smmu-qcom: Add Qualcomm SC8180X impl
Isaac J. Manjarres (1):
iommu/arm-smmu-qcom: Fix mask extraction for bootloader programmed SMRs
Jean-Philippe Brucker (3):
iommu/arm-smmu-v3: Split arm_smmu_tlb_inv_range()
iommu/arm-smmu-v3: Make BTM optional for SVA
iommu/arm-smmu-v3: Add support for VHE
John Garry (1):
driver/perf: Remove ARM_SMMU_V3_PMU dependency on ARM_SMMU_V3
Robin Murphy (3):
iommu/arm-smmu-v3: Remove the page 1 fixup
iommu/msm: Hook up iotlb_sync_map
iommu/io-pgtable: Remove TLBI_ON_MAP quirk
Vinod Koul (2):
dt-bindings: arm-smmu: Add sm8350 compatible string
iommu: arm-smmu-impl: Add SM8350 qcom iommu implementation
Will Deacon (1):
Merge branch 'for-joerg/mtk' into for-joerg/arm-smmu/updates
Yong Wu (38):
iommu: Move iotlb_sync_map out from __iommu_map
iommu: Add iova and size as parameters in iotlb_sync_map
iommu/mediatek: Add iotlb_sync_map to sync whole the iova range
iommu: Switch gather->end to the inclusive end
iommu/io-pgtable: Allow io_pgtable_tlb ops optional
iommu/mediatek: Gather iova in iommu_unmap to achieve tlb sync once
iommu/mediatek: Remove the tlb-ops for v7s
dt-bindings: iommu: mediatek: Convert IOMMU to DT schema
dt-bindings: memory: mediatek: Add a common memory header file
dt-bindings: memory: mediatek: Extend LARB_NR_MAX to 32
dt-bindings: memory: mediatek: Rename header guard for SMI header file
dt-bindings: mediatek: Add binding for mt8192 IOMMU
iommu/mediatek: Use the common mtk-memory-port.h
iommu/io-pgtable-arm-v7s: Use ias to check the valid iova in unmap
iommu/io-pgtable-arm-v7s: Extend PA34 for MediaTek
iommu/io-pgtable-arm-v7s: Clarify LVL_SHIFT/BITS macro
iommu/io-pgtable-arm-v7s: Add cfg as a param in some macros
iommu/io-pgtable-arm-v7s: Quad lvl1 pgtable for MediaTek
iommu/mediatek: Add a flag for iova 34bits case
iommu/mediatek: Update oas for v7s
iommu/mediatek: Move hw_init into attach_device
iommu/mediatek: Add error handle for mtk_iommu_probe
iommu/mediatek: Add device link for smi-common and m4u
iommu/mediatek: Add pm runtime callback
iommu/mediatek: Add power-domain operation
iommu/mediatek: Support up to 34bit iova in tlb flush
iommu/mediatek: Support report iova 34bit translation fault in ISR
iommu/mediatek: Adjust the structure
iommu/mediatek: Move domain_finalise into attach_device
iommu/mediatek: Move geometry.aperture updating into domain_finalise
iommu/mediatek: Add iova_region structure
iommu/mediatek: Add get_domain_id from dev->dma_range_map
iommu/mediatek: Support for multi domains
iommu/mediatek: Add iova reserved function
iommu/mediatek: Support master use iova over 32bit
iommu/mediatek: Remove unnecessary check in attach_device
iommu/mediatek: Add mt8192 support
MAINTAINERS: Add entry for MediaTek IOMMU
Zhen Lei (1):
iommu/arm-smmu-v3: Use DEFINE_RES_MEM() to simplify code
.../devicetree/bindings/iommu/arm,smmu.yaml | 2 +
.../devicetree/bindings/iommu/mediatek,iommu.txt | 105 ------
.../devicetree/bindings/iommu/mediatek,iommu.yaml | 183 +++++++++
MAINTAINERS | 9 +
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 10 +-
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 154 ++++----
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 14 +-
drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 5 +
drivers/iommu/io-pgtable-arm-v7s.c | 65 ++--
drivers/iommu/iommu.c | 23 +-
drivers/iommu/msm_iommu.c | 10 +-
drivers/iommu/mtk_iommu.c | 409 +++++++++++++++------
drivers/iommu/mtk_iommu.h | 12 +-
drivers/iommu/tegra-gart.c | 7 +-
drivers/memory/mtk-smi.c | 8 +
drivers/perf/Kconfig | 2 +-
include/dt-bindings/memory/mt2701-larb-port.h | 4 +-
include/dt-bindings/memory/mt2712-larb-port.h | 6 +-
include/dt-bindings/memory/mt6779-larb-port.h | 6 +-
include/dt-bindings/memory/mt8167-larb-port.h | 6 +-
include/dt-bindings/memory/mt8173-larb-port.h | 6 +-
include/dt-bindings/memory/mt8183-larb-port.h | 6 +-
include/dt-bindings/memory/mt8192-larb-port.h | 243 ++++++++++++
include/dt-bindings/memory/mtk-memory-port.h | 15 +
include/linux/io-pgtable.h | 17 +-
include/linux/iommu.h | 7 +-
include/soc/mediatek/smi.h | 3 +-
27 files changed, 981 insertions(+), 356 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
create mode 100644 Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml
create mode 100644 include/dt-bindings/memory/mt8192-larb-port.h
create mode 100644 include/dt-bindings/memory/mtk-memory-port.h
More information about the linux-arm-kernel
mailing list