From: Joerg Roedel <joro@8bytes.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Will Deacon <will@kernel.org>,
linux-kernel@vger.kernel.org, iommu@lists.linux.dev
Subject: [git pull] IOMMU Updates for Linux v7.2
Date: Wed, 17 Jun 2026 09:26:01 +0200 [thread overview]
Message-ID: <ajJL1Jx3bTh1EaVV@8bytes.org> (raw)
Hi Linus,
The following changes since commit 4549871118cf616eecdd2d939f78e3b9e1dddc48:
Linux 7.1-rc7 (2026-06-07 15:37:58 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux.git tags/iommu-updates-v7.2
for you to fetch changes up to dd8a3c6cd531dca5917111a94fa3074077f6ba5a:
Merge branches 'apple/dart', 'arm/smmu/updates', 'arm/smmu/bindings', 'rockchip', 'verisilicon', 'riscv', 'intel/vt-d', 'amd/amd-vi' and 'core' into next (2026-06-12 14:57:23 +0200)
----------------------------------------------------------------
IOMMU Updates for Linux v7.2
Including:
Core Code:
- Fix dma-iommu scatterlist length handling in the P2PDMA path.
- Extend the generic IOMMU page-table code with detailed gather
support for more precise invalidations.
- Add pending-gather tracking to generic page-table invalidation
handling.
- Add support for smaller virtual address sizes in the generic AMDv1
page-table format, including KUnit coverage.
- Fix page-size bitmap calculation for smaller VA configurations.
- Rework Arm io-pgtable allocation/freeing to consistently use the
iommu-pages API and address-conversion helpers.
- Add PCI ATS infrastructure for devices that require ATS, including
always-on ATS handling for pre-CXL devices.
AMD IOMMU:
- Fix several IOTLB invalidation details, including PDE handling,
flush-all behavior, and command address encoding.
- Honor IVINFO[VASIZE] when deriving address limits.
- Fix premature loop termination in init_iommu_one().
- Add Hygon family 18h model 4h IOAPIC support.
- Clean up legacy-mode handling, stale comments, dead IVMD
exclusion-range code, and unused address-size macros.
Arm SMMU / Arm SMMU v3:
- SMMUv2:
- Device-tree binding updates for Qualcomm Hawi, Nord and Shikra
SoCs.
- Constain the clocks which can be specified for recent Qualcomm
SoCs.
- Fix broken compatible string for Qualcomm prefetcher
configuration an add new entry for the Glymur MDSS.
- Ensure SMMU is powered-up when writing context bank for Adreno
client.
- SMMUv3:
- Fix off-by-one in queue allocation retry loop.
- Enable hardware update of access/dirty bits from the SMMU.
- Re-jig command construction to use separate inline helpers for
each command type.
Intel VT-d:
- Add the PCI segment number to DMA fault messages.
- Improve support for non-PRI mode SVA.
- Ensure atomicity during context entry teardown.
- Fix RB-tree corruption in the probe error path.
RISC-V IOMMU:
- Add NAPOT range invalidation support.
- Use detailed gather information for invalidation decisions.
- Compute the best stride for single invalidations.
- Advertise Svpbmt support to the generic page-table code.
- Add capability definitions and clean up command macro encoding.
VeriSilicon IOMMU:
- Add a new VeriSilicon IOMMU driver.
- Add devicetree binding documentation and MAINTAINERS coverage.
- Add the RK3588 VeriSilicon IOMMU node.
- Apply small cleanups and warning fixes in the new driver.
Rockchip IOMMU:
- Disable the fetch DTE time limit.
Apple DART:
- Correct a stale CONFIG_PCIE_APPLE macro name in a comment.
----------------------------------------------------------------
Akhil P Oommen (1):
dt-bindings: arm-smmu: Update the description for Glymur GPU SMMU
Ankit Soni (4):
iommu_pt: Fix pgsize_bitmap calculation in get_info for smaller vasz's
iommu_pt: support small VA for AMDv1
iommu_pt: add kunit config for 32-bit VA (amdv1_cfg_1)
iommu/amd: Adhere to IVINFO[VASIZE] for address limits
Anna Maniscalco (1):
iommu: arm-smmu-qcom: Ensure smmu is powered up in set_ttbr0_cfg
Arnd Bergmann (1):
iommu: vsi: avoid -Wformat-security warning
Benjamin Gaignard (3):
dt-bindings: iommu: verisilicon: Add binding for VSI IOMMU
iommu: Add verisilicon IOMMU driver
arm64: dts: rockchip: Add verisilicon IOMMU node on RK3588
Bibek Kumar Patro (1):
iommu/arm-smmu-qcom: Fix fastrpc compatible string in ACTLR client match table
Dan Carpenter (1):
iommu/vsi: Use list_for_each_entry()
Ethan Nelson-Moore (1):
iommu/apple-dart: correct CONFIG_PCIE_APPLE macro name in comment
Fangyu Yu (3):
iommu/riscv: Advertise Svpbmt support to generic page table
iommupt: Encode IOMMU_MMIO/IOMMU_CACHE via RISC-V Svpbmt bits
iommupt: Fixup build warning by using BIT_ULL() for RISCVPT_NC/IO
Fu Hao (1):
iommu/amd: Add support for Hygon family 18h model 4h IOAPIC
Guanghui Feng (1):
iommu/vt-d: Improve IOMMU fault information
Jason Gunthorpe (22):
iommu: Split the kdoc comment for struct iommu_iotlb_gather
iommupt: Add struct iommupt_pending_gather
iommupt: Add PT_FEAT_DETAILED_GATHER
iommu/riscv: Enable PT_FEAT_DETAILED_GATHER and pass gather to iotlb_inval
iommu/riscv: Compute best stride for single invalidation
iommu/riscv: Add RISCV_IOMMU_CAPABILITIES_NL
iommu/riscv: Include the dword number in RISCV_IOMMU_CMD macros
iommu/riscv: Add NAPOT range invalidation support
iommu/arm-smmu-v3: Add struct arm_smmu_cmd to represent the HW format command
iommu/arm-smmu-v3: Use the HW arm_smmu_cmd in cmdq selection functions
iommu/arm-smmu-v3: Use the HW arm_smmu_cmd in cmdq submission functions
iommu/arm-smmu-v3: Convert arm_smmu_cmdq_batch cmds to struct arm_smmu_cmd
iommu/arm-smmu-v3: Remove CMDQ_OP_CFGI_CD_ALL from arm_smmu_cmdq_build_cmd()
iommu/arm-smmu-v3: Directly encode simple commands
iommu/arm-smmu-v3: Directly encode CMDQ_OP_ATC_INV
iommu/arm-smmu-v3: Directly encode CMDQ_OP_SYNC
iommu/arm-smmu-v3: Directly encode TLBI commands
iommu/amd: Simplify build_inv_address()
iommu/amd: Pass last in through to build_inv_address()
iommu/amd: Have amd_iommu_domain_flush_pages() use last
iommu/amd: Make CMD_INV_IOMMU_ALL_PAGES_ADDRESS match the spec
iommu/amd: Control INVALIDATE_IOMMU_PAGES PDE from the gather
Joerg Roedel (1):
Merge branches 'apple/dart', 'arm/smmu/updates', 'arm/smmu/bindings', 'rockchip', 'verisilicon', 'riscv', 'intel/vt-d', 'amd/amd-vi' and 'core' into next
Komal Bajaj (1):
dt-bindings: arm-smmu: qcom: Add compatible for Qualcomm Shikra SoC
Krzysztof Kozlowski (2):
dt-bindings: arm-smmu: Constrain clocks for newer Qualcomm variants
dt-bindings: arm-smmu: Correct and add constraints for Hawi, Shikra and Kaanapali
Leo Jiang (1):
iommu/arm-smmu-v3: Limit queue allocation retry boundary to PAGE_SIZE
Li RongQing (1):
iommu/dma-iommu: Fix wrong scatterlist length assignment in P2PDMA path
Lokanadha M R (1):
iommu/arm-smmu-qcom: Add glymur MDSS to ACTLR client table
Lu Baolu (1):
iommu/vt-d: Avoid WARNING in sva unbind path
Michael Bommarito (1):
iommu/vt-d: Clear Present bit before tearing down scalable-mode context entry
Michał Grzelak (1):
iommu/vt-d: Remove typo from pasid_pte_config_nested()
Mostafa Saleh (3):
iommu/io-pgtable-arm: Use consistent sizes for page allocation and freeing
iommu/io-pgtable-arm: Rework to use the iommu-pages API
iommu/io-pgtable-arm: Use address conversion consistently
Mukesh Ojha (1):
dt-bindings: arm-smmu: qcom: Add Hawi compatible for Application processor
Nicolin Chen (4):
iommu/arm-smmu-v3-sva: Enable Hardware Access and Hardware Dirty bits
PCI: Add pci_ats_required() for CXL.cache capable devices
PCI: Allow ATS to be always on for pre-CXL devices
iommu/arm-smmu-v3: Allow ATS to be always on
Pranjal Shrivastava (1):
iommu/vt-d: Fix RB-tree corruption in probe error path
Sean Christopherson (2):
iommu/amd: Explicitly bail from enable_iommus_vapic() when in legacy mode
iommu/amd: Fix a stale comment about which legacy mode is user visible
Shawn Guo (1):
dt-bindings: arm-smmu: Add compatible for Qualcomm Nord SoC
Simon Xue (1):
iommu/rockchip: disable fetch dte time limit
Vasant Hegde (1):
iommu/amd: Fix premature break in init_iommu_one()
Wei Wang (1):
iommu/amd: Remove unused IOMMU_IN/OUT_ADDR_BIT_SIZE macros
Weinan Liu (1):
iommu/amd: Don't split flush for amd_iommu_domain_flush_all()
Yu Zhang (1):
iommu/amd: Remove dead code for exclusion ranges in IVMD
.../devicetree/bindings/iommu/arm,smmu.yaml | 44 +-
.../bindings/iommu/verisilicon,iommu.yaml | 71 ++
MAINTAINERS | 8 +
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 11 +
drivers/iommu/Kconfig | 11 +
drivers/iommu/Makefile | 1 +
drivers/iommu/amd/amd_iommu.h | 6 +-
drivers/iommu/amd/amd_iommu_types.h | 29 +-
drivers/iommu/amd/init.c | 63 +-
drivers/iommu/amd/iommu.c | 181 +++--
drivers/iommu/amd/pasid.c | 2 +-
drivers/iommu/apple-dart.c | 2 +-
.../iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c | 24 +-
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 10 +
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 558 +++++++--------
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 249 ++++---
drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c | 16 +-
drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 13 +-
drivers/iommu/dma-iommu.c | 2 +-
drivers/iommu/generic_pt/fmt/amdv1.h | 1 +
drivers/iommu/generic_pt/fmt/iommu_riscv64.c | 4 +-
drivers/iommu/generic_pt/fmt/riscv.h | 11 +-
drivers/iommu/generic_pt/iommu_pt.h | 110 ++-
drivers/iommu/generic_pt/kunit_generic_pt.h | 10 +-
drivers/iommu/generic_pt/kunit_iommu_pt.h | 5 +-
drivers/iommu/intel/dmar.c | 9 +-
drivers/iommu/intel/iommu.c | 6 +-
drivers/iommu/intel/iommu.h | 11 +
drivers/iommu/intel/pasid.c | 16 +-
drivers/iommu/intel/svm.c | 12 +-
drivers/iommu/io-pgtable-arm.c | 88 ++-
drivers/iommu/riscv/iommu-bits.h | 123 ++--
drivers/iommu/riscv/iommu.c | 162 ++++-
drivers/iommu/rockchip-iommu.c | 8 +
drivers/iommu/vsi-iommu.c | 791 +++++++++++++++++++++
drivers/pci/ats.c | 47 ++
drivers/pci/pci.h | 9 +
drivers/pci/quirks.c | 42 ++
include/linux/generic_pt/common.h | 9 +
include/linux/iommu.h | 42 +-
include/linux/pci-ats.h | 3 +
include/uapi/linux/pci_regs.h | 1 +
42 files changed, 2055 insertions(+), 766 deletions(-)
create mode 100644 Documentation/devicetree/bindings/iommu/verisilicon,iommu.yaml
create mode 100644 drivers/iommu/vsi-iommu.c
Please pull.
Thanks,
Joerg
reply other threads:[~2026-06-17 7:26 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ajJL1Jx3bTh1EaVV@8bytes.org \
--to=joro@8bytes.org \
--cc=iommu@lists.linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.