All of lore.kernel.org
 help / color / mirror / Atom feed
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

             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.