* [git pull] IOMMU Updates for Linux v6.16
@ 2025-05-30 12:11 Joerg Roedel
2025-05-30 17:52 ` pr-tracker-bot
2025-05-31 4:57 ` Linus Torvalds
0 siblings, 2 replies; 6+ messages in thread
From: Joerg Roedel @ 2025-05-30 12:11 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Will Deacon, linux-kernel, iommu
Hi Linus,
Please note that I alread sent you the fixes branch for v6.15-rc7, thus
the actual merge diff-stat you will get is different from the one below.
With that in mind:
The following changes since commit a5806cd506af5a7c19bcd596e4708b5c464bfd21:
Linux 6.15-rc7 (2025-05-18 13:57:29 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux.git tags/iommu-updates-v6.16
for you to fetch changes up to 879b141b7cfa09763f932f15f19e9bc0bcb020d5:
Merge branches 'fixes', 'apple/dart', 'arm/smmu/updates', 'arm/smmu/bindings', 'fsl/pamu', 'mediatek', 'renesas/ipmmu', 's390', 'intel/vt-d', 'amd/amd-vi' and 'core' into next (2025-05-23 17:14:32 +0200)
----------------------------------------------------------------
IOMMU Updates for Linux v6.16:
Including:
- Core:
- Introduction of iommu-pages infrastructure to consolitate page-table
allocation code among hardware drivers. This is ground-work for more
generalization in the future.
- Remove IOMMU_DEV_FEAT_SVA and IOMMU_DEV_FEAT_IOPF feature flags.
- Convert virtio-iommu to domain_alloc_paging().
- KConfig cleanups.
- Some small fixes for possible overflows and race conditions.
- Intel VT-d driver:
- Restore WO permissions on second-level paging entries.
- Use ida to manage domain id.
- Miscellaneous cleanups.
- AMD-Vi:
- Make sure notifiers finish running before module unload.
- Add support for HTRangeIgnore feature.
- Allow matching ACPI HID devices without matching UIDs.
- ARM-SMMU:
- SMMUv2:
- Recognise the compatible string for SAR2130P MDSS in the Qualcomm
driver, as this device requires an identity domain.
- Fix Adreno stall handling so that GPU debugging is more robust and
doesn't e.g. result in deadlock.
- SMMUv3:
- Fix ->attach_dev() error reporting for unrecognised domains.
- IO-pgtable:
- Allow clients (notably, drivers that process requests from
userspace) to silence warnings when mapping an already-mapped IOVA.
- S390:
- Add support for additional table regions.
- Mediatek:
- Add support for MT6893 MM IOMMU.
- Some smaller fixes and improvements in various other drivers.
----------------------------------------------------------------
AngeloGioacchino Del Regno (3):
dt-bindings: iommu: mediatek: Add binding for MT6893 MM IOMMU
iommu/mediatek: Add support for Dimensity 1200 MT6893 MM IOMMU
iommu/mediatek: Fix compatible typo for mediatek,mt6893-iommu-mm
Arnd Bergmann (2):
iommu: ipmmu-vmsa: avoid Wformat-security warning
iommu/io-pgtable-arm: dynamically allocate selftest device struct
Chen Ni (1):
iommu: apple-dart: Remove unnecessary NULL check before free_io_pgtable_ops()
Colin Ian King (1):
iommu/fsl_pamu: remove trailing space after \n
Connor Abbott (3):
iommu/arm-smmu-qcom: Enable threaded IRQ for Adreno SMMUv2/MMU500
iommu/arm-smmu: Move handing of RESUME to the context fault handler
iommu/arm-smmu-qcom: Make set_stall work when the device is on
Dmitry Baryshkov (1):
iommu/arm-smmu-qcom: Add SAR2130P MDSS compatible
Jason Gunthorpe (33):
iommu/terga: Do not use struct page as the handle for as->pd memory
iommu/tegra: Do not use struct page as the handle for pts
iommu/pages: Remove __iommu_alloc_pages()/__iommu_free_pages()
iommu/pages: Make iommu_put_pages_list() work with high order allocations
iommu/pages: Remove the order argument to iommu_free_pages()
iommu/pages: Remove iommu_free_page()
iommu/pages: De-inline the substantial functions
iommu/pages: Formalize the freelist API
iommu/riscv: Convert to use struct iommu_pages_list
iommu/amd: Convert to use struct iommu_pages_list
iommu: Change iommu_iotlb_gather to use iommu_page_list
iommu/pages: Remove iommu_put_pages_list_old and the _Generic
iommu/pages: Move from struct page to struct ioptdesc and folio
iommu/pages: Move the __GFP_HIGHMEM checks into the common code
iommu/pages: Allow sub page sizes to be passed into the allocator
iommu/amd: Change rlookup, irq_lookup, and alias to use kvalloc()
iommu/amd: Use roundup_pow_two() instead of get_order()
iommu/riscv: Update to use iommu_alloc_pages_node_lg2()
iommu: Update various drivers to pass in lg2sz instead of order to iommu pages
iommu/pages: Remove iommu_alloc_page/pages()
iommu/pages: Remove iommu_alloc_page_node()
iommu/amd: Use iommu_alloc_pages_node_sz() for the IRT
iommu/vtd: Remove iommu_alloc_pages_node()
iommu/arm-smmu-v3: Put iopf enablement in the domain attach path
iommu: Remove IOMMU_DEV_FEAT_SVA
iommu/virtio: Break out bypass identity support into a global static
iommu: Add domain_alloc_identity()
iommu/virtio: Move to domain_alloc_paging()
iommu: Do not call domain_alloc() in iommu_sva_domain_alloc()
iommu: Hide ops.domain_alloc behind CONFIG_FSL_PAMU
iommu: Protect against overflow in iommu_pgsize()
iommu/vt-d: Restore WO permissions on second-level paging entries
iommu: Clear the freelist after iommu_put_pages_list()
Joerg Roedel (1):
Merge branches 'fixes', 'apple/dart', 'arm/smmu/updates', 'arm/smmu/bindings', 'fsl/pamu', 'mediatek', 'renesas/ipmmu', 's390', 'intel/vt-d', 'amd/amd-vi' and 'core' into next
Lu Baolu (11):
iommu/vt-d: Put iopf enablement in domain attach path
iommufd/selftest: Put iopf enablement in domain attach path
dmaengine: idxd: Remove unnecessary IOMMU_DEV_FEAT_IOPF
uacce: Remove unnecessary IOMMU_DEV_FEAT_IOPF
iommufd: Remove unnecessary IOMMU_DEV_FEAT_IOPF
iommu: Remove iommu_dev_enable/disable_feature()
iommu: Allow attaching static domains in iommu_attach_device_pasid()
iommu: Cleanup comments for dev_enable/disable_feat
iommu/vt-d: Use ida to manage domain id
iommu/vt-d: Replace spin_lock with mutex to protect domain ida
iommu/vt-d: Restore context entry setup order for aliased devices
Mario Limonciello (1):
iommu/amd: Allow matching ACPI HID devices without matching UIDs
Matthew Rosato (5):
iommu/s390: set appropriate IOTA region type
iommu/s390: support cleanup of additional table regions
iommu/s390: support iova_to_phys for additional table regions
iommu/s390: support map/unmap for additional table regions
iommu/s390: allow larger region tables
Qinxin Xia (1):
iommu/arm-smmu-v3: Fix incorrect return in arm_smmu_attach_dev
Rob Clark (1):
iommu/io-pgtable-arm: Add quirk to quiet WARN_ON()
Robin Murphy (3):
iommu: Avoid introducing more races
iommu: Split out and tidy up Arm Kconfig
iommu: Handle yet another race around registration
Rolf Eike Beer (5):
iommu: remove duplicate selection of DMAR_TABLE
iommu: make inclusion of intel directory conditional
iommu: make inclusion of amd directory conditional
iommu: make inclusion of riscv directory conditional
iommu: make inclusion of arm/arm-smmu-v3 directory conditional
Sairaj Kodilkar (1):
iommu/amd: Add support for HTRangeIgnore feature
Sean Christopherson (1):
iommu/amd: Ensure GA log notifier callbacks finish running before module unload
Tushar Dave (1):
iommu: Skip PASID validation for devices without PASID capability
Wei Wang (2):
iommu/vt-d: Eliminate pci_physfn() in dmar_find_matched_satc_unit()
iommu/vt-d: Change dmar_ats_supported() to return boolean
.../devicetree/bindings/iommu/mediatek,iommu.yaml | 4 +
arch/s390/include/asm/pci_dma.h | 3 +
drivers/accel/amdxdna/aie2_pci.c | 13 +-
drivers/dma/idxd/init.c | 41 +--
drivers/iommu/Kconfig | 158 +---------
drivers/iommu/Makefile | 6 +-
drivers/iommu/amd/Makefile | 2 +-
drivers/iommu/amd/amd_iommu.h | 2 +
drivers/iommu/amd/amd_iommu_types.h | 10 +-
drivers/iommu/amd/init.c | 94 +++---
drivers/iommu/amd/io_pgtable.c | 38 +--
drivers/iommu/amd/io_pgtable_v2.c | 12 +-
drivers/iommu/amd/iommu.c | 94 +++---
drivers/iommu/amd/ppr.c | 2 +-
drivers/iommu/apple-dart.c | 3 +-
drivers/iommu/arm/Kconfig | 144 +++++++++
drivers/iommu/arm/Makefile | 3 +-
drivers/iommu/arm/arm-smmu-v3/Makefile | 2 +-
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 86 +----
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 138 +++++----
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 39 +--
drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c | 9 +
drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 44 ++-
drivers/iommu/arm/arm-smmu/arm-smmu.c | 6 +
drivers/iommu/dma-iommu.c | 11 +-
drivers/iommu/exynos-iommu.c | 12 +-
drivers/iommu/fsl_pamu_domain.c | 2 +-
drivers/iommu/intel/Makefile | 7 +-
drivers/iommu/intel/dmar.c | 14 +-
drivers/iommu/intel/iommu.c | 244 ++++++---------
drivers/iommu/intel/iommu.h | 62 +++-
drivers/iommu/intel/irq_remapping.c | 12 +-
drivers/iommu/intel/nested.c | 20 +-
drivers/iommu/intel/pasid.c | 13 +-
drivers/iommu/intel/pasid.h | 1 -
drivers/iommu/intel/prq.c | 7 +-
drivers/iommu/intel/svm.c | 9 +-
drivers/iommu/io-pgtable-arm.c | 58 ++--
drivers/iommu/io-pgtable-dart.c | 23 +-
drivers/iommu/iommu-pages.c | 119 +++++++
drivers/iommu/iommu-pages.h | 195 ++++--------
drivers/iommu/iommu-sva.c | 18 +-
drivers/iommu/iommu.c | 150 ++++-----
drivers/iommu/iommufd/device.c | 59 ++--
drivers/iommu/iommufd/eventq.c | 48 +--
drivers/iommu/iommufd/iommufd_private.h | 6 -
drivers/iommu/iommufd/selftest.c | 57 +++-
drivers/iommu/ipmmu-vmsa.c | 3 +-
drivers/iommu/mtk_iommu.c | 37 ++-
drivers/iommu/riscv/Makefile | 2 +-
drivers/iommu/riscv/iommu.c | 43 +--
drivers/iommu/rockchip-iommu.c | 14 +-
drivers/iommu/s390-iommu.c | 345 +++++++++++++++++++--
drivers/iommu/sun50i-iommu.c | 6 +-
drivers/iommu/tegra-smmu.c | 111 +++----
drivers/iommu/virtio-iommu.c | 187 ++++++-----
drivers/misc/uacce/uacce.c | 40 ---
.../memory/mediatek,mt6893-memory-port.h | 288 +++++++++++++++++
include/linux/adreno-smmu-priv.h | 6 +-
include/linux/io-pgtable.h | 8 +
include/linux/iommu.h | 65 ++--
61 files changed, 1884 insertions(+), 1371 deletions(-)
create mode 100644 drivers/iommu/arm/Kconfig
create mode 100644 drivers/iommu/iommu-pages.c
create mode 100644 include/dt-bindings/memory/mediatek,mt6893-memory-port.h
Please pull.
Thanks,
Joerg
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [git pull] IOMMU Updates for Linux v6.16
2025-05-30 12:11 [git pull] IOMMU Updates for Linux v6.16 Joerg Roedel
@ 2025-05-30 17:52 ` pr-tracker-bot
2025-05-31 4:57 ` Linus Torvalds
1 sibling, 0 replies; 6+ messages in thread
From: pr-tracker-bot @ 2025-05-30 17:52 UTC (permalink / raw)
To: Joerg Roedel; +Cc: Linus Torvalds, Will Deacon, linux-kernel, iommu
The pull request you sent on Fri, 30 May 2025 14:11:50 +0200:
> git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux.git tags/iommu-updates-v6.16
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/8477ab143069c6b05d6da4a8184ded8b969240f5
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [git pull] IOMMU Updates for Linux v6.16
2025-05-30 12:11 [git pull] IOMMU Updates for Linux v6.16 Joerg Roedel
2025-05-30 17:52 ` pr-tracker-bot
@ 2025-05-31 4:57 ` Linus Torvalds
2025-05-31 5:19 ` Joerg Roedel
2025-05-31 5:20 ` Linus Torvalds
1 sibling, 2 replies; 6+ messages in thread
From: Linus Torvalds @ 2025-05-31 4:57 UTC (permalink / raw)
To: Joerg Roedel; +Cc: Will Deacon, linux-kernel, iommu
On Fri, 30 May 2025 at 05:11, Joerg Roedel <joro@8bytes.org> wrote:
>
> - SMMUv3:
Bah. This seems very broken.
I haven't bisected it, but my arm64 build - which I sadly didn't end
up doing earlier today - breaks with modpost errors:
ERROR: modpost: "arm_smmu_make_cdtable_ste"
[drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined!
(and the same error then repeated for arm_smmu_make_s2_domain_ste /
arm_smmu_make_s1_cd / arm_smmu_make_bypass_ste /
arm_smmu_make_abort_ste / arm_smmu_make_sva_cd / arm_smmu_get_ste_used
/ arm_smmu_write_entry / arm_smmu_get_cd_used).
I assume it's some obvious D'oh moment to whoever changed things to
cause this, but the cause isn't immediately obvious to me.
Linus
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [git pull] IOMMU Updates for Linux v6.16
2025-05-31 4:57 ` Linus Torvalds
@ 2025-05-31 5:19 ` Joerg Roedel
2025-05-31 5:20 ` Linus Torvalds
1 sibling, 0 replies; 6+ messages in thread
From: Joerg Roedel @ 2025-05-31 5:19 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Will Deacon, linux-kernel, iommu
On Fri, May 30, 2025 at 09:57:34PM -0700, Linus Torvalds wrote:
> On Fri, 30 May 2025 at 05:11, Joerg Roedel <joro@8bytes.org> wrote:
> >
> > - SMMUv3:
>
> Bah. This seems very broken.
>
> I haven't bisected it, but my arm64 build - which I sadly didn't end
> up doing earlier today - breaks with modpost errors:
>
> ERROR: modpost: "arm_smmu_make_cdtable_ste"
> [drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined!
>
> (and the same error then repeated for arm_smmu_make_s2_domain_ste /
> arm_smmu_make_s1_cd / arm_smmu_make_bypass_ste /
> arm_smmu_make_abort_ste / arm_smmu_make_sva_cd / arm_smmu_get_ste_used
> / arm_smmu_write_entry / arm_smmu_get_cd_used).
Gah, sorry for that. I didn't see it in my testing, but have seen a
similar problem related to iommufd which was fixed by removing the
iommufd part of this patch-set:
https://lore.kernel.org/all/1926170.CQOukoFCf9@devpool92.emlix.com/
So maybe it is worth a try reverting the arm-smmu part of this series as
well:
e436576b0231542f6f233279f0972989232575a8
Regards,
Joerg
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [git pull] IOMMU Updates for Linux v6.16
2025-05-31 4:57 ` Linus Torvalds
2025-05-31 5:19 ` Joerg Roedel
@ 2025-05-31 5:20 ` Linus Torvalds
2025-06-02 5:09 ` Rolf Eike Beer
1 sibling, 1 reply; 6+ messages in thread
From: Linus Torvalds @ 2025-05-31 5:20 UTC (permalink / raw)
To: Joerg Roedel, Rolf Eike Beer, Lu Baolu; +Cc: Will Deacon, linux-kernel, iommu
On Fri, 30 May 2025 at 21:57, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> Bah. This seems very broken.
>
> I haven't bisected it, but my arm64 build - which I sadly didn't end
> up doing earlier today - breaks with modpost errors:
>
> ERROR: modpost: "arm_smmu_make_cdtable_ste"
> [drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined!
Ok, bisected to commit e436576b0231 ("iommu: make inclusion of
arm/arm-smmu-v3 directory conditional").
Which explains why I didn't see any obvious code changes that would
explain that.
This is with a plain "make allmodconfig" build, and I think the issue
is that CONFIG_ARM_SMMU_V3 is 'm', not 'y', and the change didn't take
that modular case into account at all.
I'll revert it, but I'll wait until tomorrow to see if somebody has an
alternative fix.
Linus
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [git pull] IOMMU Updates for Linux v6.16
2025-05-31 5:20 ` Linus Torvalds
@ 2025-06-02 5:09 ` Rolf Eike Beer
0 siblings, 0 replies; 6+ messages in thread
From: Rolf Eike Beer @ 2025-06-02 5:09 UTC (permalink / raw)
To: Joerg Roedel, Lu Baolu, Linus Torvalds
Cc: Will Deacon, linux-kernel, iommu, Arnd Bergmann
[-- Attachment #1: Type: text/plain, Size: 1538 bytes --]
On Samstag, 31. Mai 2025 07:20:02 Mitteleuropäische Sommerzeit Linus Torvalds
wrote:
> On Fri, 30 May 2025 at 21:57, Linus Torvalds
>
> <torvalds@linux-foundation.org> wrote:
> > Bah. This seems very broken.
> >
> > I haven't bisected it, but my arm64 build - which I sadly didn't end
> >
> > up doing earlier today - breaks with modpost errors:
> > ERROR: modpost: "arm_smmu_make_cdtable_ste"
> >
> > [drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined!
>
> Ok, bisected to commit e436576b0231 ("iommu: make inclusion of
> arm/arm-smmu-v3 directory conditional").
>
> Which explains why I didn't see any obvious code changes that would
> explain that.
>
> This is with a plain "make allmodconfig" build, and I think the issue
> is that CONFIG_ARM_SMMU_V3 is 'm', not 'y', and the change didn't take
> that modular case into account at all.
>
> I'll revert it, but I'll wait until tomorrow to see if somebody has an
> alternative fix.
Sorry for the mess. Arnd Bergmann already has a fix sent, looks like it got
stuck somewhere.
Regards,
Eike
--
Rolf Eike Beer
emlix GmbH
Headquarters: Berliner Str. 12, 37073 Göttingen, Germany
Phone +49 (0)551 30664-0, e-mail info@emlix.com
District Court of Göttingen, Registry Number HR B 3160
Managing Directors: Heike Jordan, Dr. Uwe Kracke
VAT ID No. DE 205 198 055
Office Berlin: Panoramastr. 1, 10178 Berlin, Germany
Office Bonn: Bachstr. 6, 53115 Bonn, Germany
http://www.emlix.com
emlix - your embedded Linux partner
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 313 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-06-02 5:09 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-30 12:11 [git pull] IOMMU Updates for Linux v6.16 Joerg Roedel
2025-05-30 17:52 ` pr-tracker-bot
2025-05-31 4:57 ` Linus Torvalds
2025-05-31 5:19 ` Joerg Roedel
2025-05-31 5:20 ` Linus Torvalds
2025-06-02 5:09 ` Rolf Eike Beer
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.