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 v6.10
Date: Fri, 17 May 2024 11:57:34 +0200 [thread overview]
Message-ID: <ZkcqDrFmd4ZHv7Qf@8bytes.org> (raw)
Hi Linus,
There is a small and easy to resolve conflict with these changes in
drivers/acpi/scan.c. Please take the version that comes from the iommu
tree. With this being said:
The following changes since commit a38297e3fb012ddfa7ce0321a7e5a8daeb1872b6:
Linux 6.9 (2024-05-12 14:12:29 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git tags/iommu-updates-v6.10
for you to fetch changes up to 2bd5059c6cc04b02073d4d9f57137ab74e1d8e7a:
Merge branches 'arm/renesas', 'arm/smmu', 'x86/amd', 'core' and 'x86/vt-d' into next (2024-05-13 14:06:54 +0200)
----------------------------------------------------------------
IOMMU Updates for Linux v6.10
Including:
- Core:
- IOMMU memory usage observability - This will make the memory used
for IO page tables explicitly visible.
- Simplify arch_setup_dma_ops()
- Intel VT-d:
- Consolidate domain cache invalidation
- Remove private data from page fault message
- Allocate DMAR fault interrupts locally
- Cleanup and refactoring
- ARM-SMMUv2:
- Support for fault debugging hardware on Qualcomm implementations
- Re-land support for the ->domain_alloc_paging() callback
- ARM-SMMUv3:
- Improve handling of MSI allocation failure
- Drop support for the "disable_bypass" cmdline option
- Major rework of the CD creation code, following on directly from the
STE rework merged last time around.
- Add unit tests for the new STE/CD manipulation logic
- AMD-Vi:
- Final part of SVA changes with generic IO page fault handling
- Renesas IPMMU:
- Add support for R8A779H0 hardware
- A couple smaller fixes and updates across the sub-tree
----------------------------------------------------------------
Aleksandr Aprelkov (1):
iommu/arm-smmu-v3: Free MSIs in case of ENOMEM
Andy Shevchenko (1):
iommu/amd: Fix compilation error
Colin Ian King (1):
iommu/vt-d: Remove redundant assignment to variable err
Dimitri Sivanich (1):
iommu/vt-d: Allocate DMAR fault interrupts locally
Georgi Djakov (5):
dt-bindings: iommu: Add Qualcomm TBU
iommu/arm-smmu-qcom-debug: Add support for TBUs
iommu/arm-smmu: Allow using a threaded handler for context interrupts
iommu/arm-smmu-qcom: Use a custom context fault handler for sdm845
iommu/arm-smmu-qcom: Use the custom fault handler on more platforms
Jason Gunthorpe (16):
iommu/arm-smmu-v3: Do not allow a SVA domain to be set on the wrong PASID
iommu/arm-smmu-v3: Do not ATC invalidate the entire domain
iommu/arm-smmu-v3: Add a type for the CD entry
iommu/arm-smmu: Convert to domain_alloc_paging()
iommu: Add ops->domain_alloc_sva()
iommu: Add ops->domain_alloc_sva()
iommu/arm-smmu-v3: Add an ops indirection to the STE code
iommu/arm-smmu-v3: Make CD programming use arm_smmu_write_entry()
iommu/arm-smmu-v3: Move the CD generation for S1 domains into a function
iommu/arm-smmu-v3: Consolidate clearing a CD table entry
iommu/arm-smmu-v3: Make arm_smmu_alloc_cd_ptr()
iommu/arm-smmu-v3: Allocate the CD table entry in advance
iommu/arm-smmu-v3: Move the CD generation for SVA into a function
iommu/arm-smmu-v3: Build the whole CD in arm_smmu_make_s1_cd()
iommu/arm-smmu-v3: Add unit tests for arm_smmu_write_entry
iommu/arm-smmu-v3: Make the kunit into a module
Jingqi Liu (2):
iommu/vt-d: Remove debugfs use of private data field
iommu/vt-d: Remove private data use in fault message
Joerg Roedel (4):
Merge branch 'iommu/fixes' into x86/amd
Merge branch 'memory-observability' into x86/amd
Merge tag 'arm-smmu-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into arm/smmu
Merge branches 'arm/renesas', 'arm/smmu', 'x86/amd', 'core' and 'x86/vt-d' into next
Lu Baolu (13):
iommu/vt-d: Remove caching mode check before device TLB flush
iommu/vt-d: Add cache tag assignment interface
iommu/vt-d: Add cache tag invalidation helpers
iommu/vt-d: Add trace events for cache tag interface
iommu/vt-d: Use cache_tag_flush_all() in flush_iotlb_all
iommu/vt-d: Use cache_tag_flush_range() in tlb_sync
iommu/vt-d: Use cache_tag_flush_range_np() in iotlb_sync_map
iommu/vt-d: Cleanup use of iommu_flush_iotlb_psi()
iommu/vt-d: Use cache_tag_flush_range() in cache_invalidate_user
iommu/vt-d: Use cache helpers in arch_invalidate_secondary_tlbs
iommu/vt-d: Remove intel_svm_dev
iommu/vt-d: Remove struct intel_svm
iommu/vt-d: Decouple igfx_off from graphic identity mapping
Pasha Tatashin (11):
iommu/vt-d: add wrapper functions for page allocations
iommu/dma: use iommu_put_pages_list() to releae freelist
iommu/amd: use page allocation function provided by iommu-pages.h
iommu/io-pgtable-arm: use page allocation function provided by iommu-pages.h
iommu/io-pgtable-dart: use page allocation function provided by iommu-pages.h
iommu/exynos: use page allocation function provided by iommu-pages.h
iommu/rockchip: use page allocation function provided by iommu-pages.h
iommu/sun50i: use page allocation function provided by iommu-pages.h
iommu/tegra-smmu: use page allocation function provided by iommu-pages.h
iommu: observability of the IOMMU allocations
iommu: account IOMMU allocated memory
Robin Murphy (9):
iommu/arm-smmu-v3: Retire disable_bypass parameter
OF: Retire dma-ranges mask workaround
OF: Simplify DMA range calculations
ACPI/IORT: Handle memory address size limits as limits
dma-mapping: Add helpers for dma_range_map bounds
iommu/dma: Make limit checks self-contained
iommu/dma: Centralise iommu_setup_dma_ops()
dma-mapping: Simplify arch_setup_dma_ops()
arm64: Properly clean up iommu-dma remnants
Suravee Suthikulpanit (3):
iommu/amd: Move PPR-related functions into ppr.c
iommu/amd: Define per-IOMMU iopf_queue
iommu/amd: Add support for page response
Thanh Le (1):
dt-bindings: iommu: renesas,ipmmu-vmsa: add r8a779h0 support
Uros Bizjak (1):
iommu/vt-d: Use try_cmpxchg64{,_local}() in iommu.c
Vasant Hegde (10):
iommu/amd: Rename amd_iommu_v2_supported() as amd_iommu_pasid_supported()
iommu/amd: Introduce per device DTE update function
iommu/amd: Fix PPR interrupt processing logic
iommu/amd: Introduce iommu_dev_data.max_pasids
iommu/amd: Setup GCR3 table in advance if domain is SVA capable
iommu/amd: Enable PCI features based on attached domain capability
iommu/amd: Add support for enable/disable IOPF
iommu/amd: Initial SVA support for AMD IOMMU
iommu/amd: Add SVA domain support
iommu/amd: Enable Guest Translation after reading IOMMU feature register
Wei Huang (2):
iommu/amd: Add support for enabling/disabling IOMMU features
iommu/amd: Add IO page fault notifier handler
Will Deacon (1):
iommu/arm-smmu-qcom: Don't build debug features as a kernel module
Yi Liu (2):
iommu: Undo pasid attachment only for the devices that have succeeded
iommu: Pass domain to remove_dev_pasid() op
Documentation/admin-guide/cgroup-v2.rst | 2 +-
.../devicetree/bindings/iommu/qcom,tbu.yaml | 69 +++
.../bindings/iommu/renesas,ipmmu-vmsa.yaml | 1 +
Documentation/filesystems/proc.rst | 4 +-
arch/arc/mm/dma.c | 3 +-
arch/arm/mm/dma-mapping-nommu.c | 3 +-
arch/arm/mm/dma-mapping.c | 16 +-
arch/arm64/Kconfig | 1 -
arch/arm64/mm/dma-mapping.c | 13 +-
arch/loongarch/kernel/dma.c | 9 +-
arch/mips/mm/dma-noncoherent.c | 3 +-
arch/riscv/mm/dma-noncoherent.c | 3 +-
drivers/acpi/arm64/dma.c | 17 +-
drivers/acpi/arm64/iort.c | 20 +-
drivers/acpi/scan.c | 7 +-
drivers/hv/hv_common.c | 6 +-
drivers/iommu/Kconfig | 25 +-
drivers/iommu/amd/Kconfig | 3 +
drivers/iommu/amd/Makefile | 2 +-
drivers/iommu/amd/amd_iommu.h | 60 ++-
drivers/iommu/amd/amd_iommu_types.h | 33 ++
drivers/iommu/amd/init.c | 177 +++----
drivers/iommu/amd/io_pgtable.c | 13 +-
drivers/iommu/amd/io_pgtable_v2.c | 18 +-
drivers/iommu/amd/iommu.c | 302 +++++++----
drivers/iommu/amd/pasid.c | 198 +++++++
drivers/iommu/amd/ppr.c | 288 +++++++++++
drivers/iommu/arm/arm-smmu-v3/Makefile | 2 +
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 168 ++++--
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.c | 468 +++++++++++++++++
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 568 +++++++++++----------
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 60 ++-
drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c | 496 ++++++++++++++++++
drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 8 +
drivers/iommu/arm/arm-smmu/arm-smmu-qcom.h | 2 +
drivers/iommu/arm/arm-smmu/arm-smmu.c | 20 +-
drivers/iommu/arm/arm-smmu/arm-smmu.h | 3 +
drivers/iommu/dma-iommu.c | 46 +-
drivers/iommu/dma-iommu.h | 14 +-
drivers/iommu/exynos-iommu.c | 14 +-
drivers/iommu/intel/Makefile | 2 +-
drivers/iommu/intel/cache.c | 419 +++++++++++++++
drivers/iommu/intel/debugfs.c | 7 -
drivers/iommu/intel/dmar.c | 26 +-
drivers/iommu/intel/iommu.c | 383 +++-----------
drivers/iommu/intel/iommu.h | 88 +++-
drivers/iommu/intel/irq_remapping.c | 16 +-
drivers/iommu/intel/nested.c | 69 +--
drivers/iommu/intel/pasid.c | 18 +-
drivers/iommu/intel/perf.h | 1 -
drivers/iommu/intel/svm.c | 383 ++++----------
drivers/iommu/intel/trace.h | 97 ++++
drivers/iommu/io-pgtable-arm.c | 15 +-
drivers/iommu/io-pgtable-dart.c | 37 +-
drivers/iommu/iommu-pages.h | 186 +++++++
drivers/iommu/iommu-sva.c | 16 +-
drivers/iommu/iommu.c | 48 +-
drivers/iommu/irq_remapping.c | 5 +-
drivers/iommu/irq_remapping.h | 2 +-
drivers/iommu/rockchip-iommu.c | 14 +-
drivers/iommu/s390-iommu.c | 6 -
drivers/iommu/sun50i-iommu.c | 7 +-
drivers/iommu/tegra-smmu.c | 18 +-
drivers/iommu/virtio-iommu.c | 10 -
drivers/of/device.c | 42 +-
include/linux/acpi_iort.h | 4 +-
include/linux/dma-direct.h | 18 +
include/linux/dma-map-ops.h | 6 +-
include/linux/dmar.h | 2 +-
include/linux/iommu.h | 16 +-
include/linux/mmzone.h | 5 +-
mm/vmstat.c | 3 +
72 files changed, 3536 insertions(+), 1598 deletions(-)
create mode 100644 Documentation/devicetree/bindings/iommu/qcom,tbu.yaml
create mode 100644 drivers/iommu/amd/pasid.c
create mode 100644 drivers/iommu/amd/ppr.c
create mode 100644 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.c
create mode 100644 drivers/iommu/intel/cache.c
create mode 100644 drivers/iommu/iommu-pages.h
Please pull.
Thanks,
Joerg
next reply other threads:[~2024-05-17 9:57 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-17 9:57 Joerg Roedel [this message]
2024-05-18 18:07 ` [git pull] IOMMU Updates for Linux v6.10 pr-tracker-bot
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=ZkcqDrFmd4ZHv7Qf@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.