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.9
Date: Mon, 11 Mar 2024 10:11:09 +0100	[thread overview]
Message-ID: <Ze7KrT5is81WGTRT@8bytes.org> (raw)

Hi Linus,

The following changes since commit 90d35da658da8cff0d4ecbb5113f5fac9d00eb72:

  Linux 6.8-rc7 (2024-03-03 13:02:52 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git tags/iommu-updates-v6.9

for you to fetch changes up to f379a7e9c3b5c325ff550e911ea42092295695de:

  Merge branches 'arm/mediatek', 'arm/renesas', 'arm/smmu', 'x86/vt-d', 'x86/amd' and 'core' into next (2024-03-08 09:05:59 +0100)

----------------------------------------------------------------
IOMMU Updates for Linux v6.9

Including:

	- Core changes:
	  - Constification of bus_type pointer
	  - Preparations for user-space page-fault delivery
	  - Use a named kmem_cache for IOVA magazines

	- Intel VT-d changes from Lu Baolu:
	  - Add RBTree to track iommu probed devices
	  - Add Intel IOMMU debugfs document
	  - Cleanup and refactoring

	- ARM-SMMU Updates from Will Deacon:
	  - Device-tree binding updates for a bunch of Qualcomm SoCs
	  - SMMUv2: Support for Qualcomm X1E80100 MDSS
	  - SMMUv3: Significant rework of the driver's STE manipulation and
	    domain handling code. This is the initial part of a larger scale
	    rework aiming to improve the driver's implementation of the
	    IOMMU-API in preparation for hooking up IOMMUFD support.

	- AMD-Vi Updates:
	  - Refactor GCR3 table support for SVA
	  - Cleanups

	- Some smaller cleanups and fixes

----------------------------------------------------------------
Abel Vesa (1):
      iommu/arm-smmu-qcom: Add X1E80100 MDSS compatible

Bert Karwatzki (1):
      iommu: Fix compilation without CONFIG_IOMMU_INTEL

Erick Archer (2):
      iommu/mtk_iommu: Use devm_kcalloc() instead of devm_kzalloc()
      iommu/vt-d: Use kcalloc() instead of kzalloc()

Ethan Zhao (3):
      PCI: Make pci_dev_is_disconnected() helper public for other drivers
      iommu/vt-d: Don't issue ATS Invalidation request when device is disconnected
      iommu/vt-d: Improve ITE fault handling if target device isn't present

Jason Gunthorpe (16):
      iommu/arm-smmu-v3: Make STE programming independent of the callers
      iommu/arm-smmu-v3: Consolidate the STE generation for abort/bypass
      iommu/arm-smmu-v3: Move the STE generation for S1 and S2 domains into functions
      iommu/arm-smmu-v3: Build the whole STE in arm_smmu_make_s2_domain_ste()
      iommu/arm-smmu-v3: Hold arm_smmu_asid_lock during all of attach_dev
      iommu/arm-smmu-v3: Compute the STE only once for each master
      iommu/arm-smmu-v3: Do not change the STE twice during arm_smmu_attach_dev()
      iommu/arm-smmu-v3: Put writing the context descriptor in the right order
      iommu/arm-smmu-v3: Pass smmu_domain to arm_enable/disable_ats()
      iommu/arm-smmu-v3: Remove arm_smmu_master->domain
      iommu/arm-smmu-v3: Check that the RID domain is S1 in SVA
      iommu/arm-smmu-v3: Add a global static IDENTITY domain
      iommu/arm-smmu-v3: Add a global static BLOCKED domain
      iommu/arm-smmu-v3: Use the identity/blocked domain during release
      iommu/arm-smmu-v3: Pass arm_smmu_domain and arm_smmu_device to finalize
      iommu/arm-smmu-v3: Convert to domain_alloc_paging()

Jingqi Liu (1):
      iommu/vt-d: Add the document for Intel IOMMU debugfs

Joerg Roedel (2):
      Merge tag 'arm-smmu-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into arm/smmu
      Merge branches 'arm/mediatek', 'arm/renesas', 'arm/smmu', 'x86/vt-d', 'x86/amd' and 'core' into next

Konrad Dybcio (1):
      dt-bindings: arm-smmu: Add QCM2290 GPU SMMU

Krzysztof Kozlowski (4):
      iommu: constify pointer to bus_type
      iommu: constify of_phandle_args in xlate
      iommu: constify fwnode in iommu_ops_from_fwnode()
      iommu: re-use local fwnode variable in iommu_ops_from_fwnode()

Lu Baolu (24):
      iommu: Move iommu fault data to linux/iommu.h
      iommu/arm-smmu-v3: Remove unrecoverable faults reporting
      iommu: Remove unrecoverable fault data
      iommu: Cleanup iopf data structure definitions
      iommu: Merge iopf_device_param into iommu_fault_param
      iommu: Remove iommu_[un]register_device_fault_handler()
      iommu: Merge iommu_fault_event and iopf_fault
      iommu: Prepare for separating SVA and IOPF
      iommu: Make iommu_queue_iopf() more generic
      iommu: Separate SVA and IOPF
      iommu: Refine locking for per-device fault data management
      iommu: Use refcount for fault data access
      iommu: Improve iopf_queue_remove_device()
      iommu: Track iopf group instead of last fault
      iommu: Make iopf_group_response() return void
      iommu: Make iommu_report_device_fault() return void
      iommu/vt-d: Remove INTEL_IOMMU_BROKEN_GFX_WA
      iommu/vt-d: Use rbtree to track iommu probed devices
      iommu/vt-d: Use device rbtree in iopf reporting path
      iommu: Add static iommu_ops->release_domain
      iommu/vt-d: Fix NULL domain on device release
      iommu/vt-d: Setup scalable mode context entry in probe path
      iommu/vt-d: Remove scalable mode context entry setup from attach_dev
      iommu/vt-d: Remove scalabe mode in domain_context_clear_one()

Mario Limonciello (1):
      iommu/amd: Mark interrupt as managed

Neil Armstrong (2):
      dt-bindings: arm-smmu: Fix SM8[45]50 GPU SMMU 'if' condition
      dt-bindings: arm-smmu: Document SM8650 GPU SMMU

Pasha Tatashin (1):
      iommu/iova: use named kmem_cache for iova magazines

Robin Murphy (4):
      iommu/iova: Tidy up iova_cache_get() failure
      iommu/iova: Reorganise some code
      iommu/ipmmu-vmsa: Minor cleanups
      iommu/dma: Document min_align_mask assumption

Suravee Suthikulpanit (8):
      iommu/amd: Introduce get_amd_iommu_from_dev()
      iommu/amd: Introduce struct protection_domain.pd_mode
      iommu/amd: Introduce per-device GCR3 table
      iommu/amd: Refactor helper function for setting / clearing GCR3
      iommu/amd: Refactor attaching / detaching device functions
      iommu/amd: Refactor protection_domain helper functions
      iommu/amd: Refactor GCR3 table helper functions
      iommu/amd: Remove unused GCR3 table parameters from struct protection_domain

Tina Zhang (3):
      iommu/vt-d: Remove treatment for revoking PASIDs with pending page faults
      iommu/vt-d: Remove initialization for dynamically heap-allocated rcu_head
      iommu/vt-d: Merge intel_svm_bind_mm() into its caller

Vasant Hegde (16):
      iommu/amd: Remove unused PPR_* macros
      iommu/amd: Remove unused IOVA_* macro
      iommu/amd: Remove unused APERTURE_* macros
      iommu/amd: Remove duplicate function declarations from amd_iommu.h
      iommu/amd: Remove redundant error check in amd_iommu_probe_device()
      iommu/amd: Remove EXPORT_SYMBOL for perf counter related functions
      iommu/amd: Pass struct iommu_dev_data to set_dte_entry()
      iommu/amd: Enable Guest Translation before registering devices
      iommu/amd: Use protection_domain.flags to check page table mode
      iommu/amd: Add support for device based TLB invalidation
      iommu/amd: Rearrange GCR3 table setup code
      iommu: Introduce iommu_group_mutex_assert()
      iommu/amd: Remove unused flush pasid functions
      iommu/amd: Rearrange device flush code
      iommu/amd: Introduce per-device domain ID to fix potential TLB aliasing issue
      iommu/amd: Fix sleeping in atomic context

Will Deacon (1):
      Merge branch 'for-joerg/arm-smmu/bindings' into for-joerg/arm-smmu/updates

 Documentation/ABI/testing/debugfs-intel-iommu      | 276 +++++++
 .../devicetree/bindings/iommu/arm,smmu.yaml        |  20 +-
 MAINTAINERS                                        |   1 -
 drivers/iommu/Kconfig                              |   6 +-
 drivers/iommu/Makefile                             |   3 +-
 drivers/iommu/amd/amd_iommu.h                      |  41 +-
 drivers/iommu/amd/amd_iommu_types.h                |  34 +-
 drivers/iommu/amd/init.c                           |  12 +-
 drivers/iommu/amd/io_pgtable_v2.c                  |  21 +-
 drivers/iommu/amd/iommu.c                          | 634 ++++++++--------
 drivers/iommu/apple-dart.c                         |   3 +-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c    |  22 +-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c        | 814 +++++++++++++--------
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h        |   4 -
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c         |   1 +
 drivers/iommu/arm/arm-smmu/arm-smmu.c              |   3 +-
 drivers/iommu/arm/arm-smmu/qcom_iommu.c            |   3 +-
 drivers/iommu/dma-iommu.c                          |   5 +
 drivers/iommu/exynos-iommu.c                       |   2 +-
 drivers/iommu/intel/Kconfig                        |  12 +-
 drivers/iommu/intel/Makefile                       |   2 +
 drivers/iommu/intel/dmar.c                         |  26 +-
 drivers/iommu/intel/iommu.c                        | 337 ++++-----
 drivers/iommu/intel/iommu.h                        |  14 +-
 drivers/iommu/intel/pasid.c                        | 205 ++++++
 drivers/iommu/intel/pasid.h                        |   2 +
 drivers/iommu/intel/perf.c                         |   2 +-
 drivers/iommu/intel/svm.c                          |  76 +-
 drivers/iommu/io-pgfault.c                         | 463 +++++++-----
 drivers/iommu/iommu-priv.h                         |   5 +-
 drivers/iommu/iommu-sva.c                          |  71 +-
 drivers/iommu/iommu-sva.h                          |  71 --
 drivers/iommu/iommu.c                              | 280 +------
 drivers/iommu/iova.c                               | 143 ++--
 drivers/iommu/ipmmu-vmsa.c                         |  19 +-
 drivers/iommu/irq_remapping.c                      |   3 +-
 drivers/iommu/msm_iommu.c                          |   4 +-
 drivers/iommu/mtk_iommu.c                          |   5 +-
 drivers/iommu/mtk_iommu_v1.c                       |   7 +-
 drivers/iommu/of_iommu.c                           |   2 +-
 drivers/iommu/rockchip-iommu.c                     |   2 +-
 drivers/iommu/sprd-iommu.c                         |   3 +-
 drivers/iommu/sun50i-iommu.c                       |   2 +-
 drivers/iommu/tegra-smmu.c                         |   4 +-
 drivers/iommu/virtio-iommu.c                       |   3 +-
 drivers/pci/pci.h                                  |   5 -
 include/linux/iommu.h                              | 295 ++++++--
 include/linux/pci.h                                |   5 +
 include/uapi/linux/iommu.h                         | 161 ----
 49 files changed, 2295 insertions(+), 1839 deletions(-)
 create mode 100644 Documentation/ABI/testing/debugfs-intel-iommu
 delete mode 100644 drivers/iommu/iommu-sva.h
 delete mode 100644 include/uapi/linux/iommu.h

Please pull.

Thanks,

	Joerg

             reply	other threads:[~2024-03-11  9:11 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-11  9:11 Joerg Roedel [this message]
2024-03-13 17:04 ` [git pull] IOMMU Updates for Linux v6.9 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=Ze7KrT5is81WGTRT@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.