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.12
Date: Mon, 16 Sep 2024 12:07:47 +0200 [thread overview]
Message-ID: <ZugDc8ryLmadGXyp@8bytes.org> (raw)
Hi Linus,
The following changes since commit da3ea35007d0af457a0afc87e84fddaebc4e0b63:
Linux 6.11-rc7 (2024-09-08 14:50:28 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux.git tags/iommu-updates-v6.12
for you to fetch changes up to 97162f6093d263aa1c2c7e883912f922ea633512:
Merge branches 'fixes', 'arm/smmu', 'intel/vt-d', 'amd/amd-vi' and 'core' into next (2024-09-13 12:53:05 +0200)
----------------------------------------------------------------
IOMMU Updates for Linux v6.12
Including:
- Core changes:
- Allow ATS on VF when parent device is identity mapped.
- Optimize unmap path on ARM io-pagetable implementation.
- Use of_property_present().
- ARM-SMMU changes:
- SMMUv2:
- Devicetree binding updates for Qualcomm MMU-500 implementations.
- Extend workarounds for broken Qualcomm hypervisor to avoid
touching features that are not available (e.g. 16KiB page
support, reserved context banks).
- SMMUv3:
- Support for NVIDIA's custom virtual command queue hardware.
- Fix Stage-2 stall configuration and extend tests to cover this
area.
- A bunch of driver cleanups, including simplification of the
master rbtree code.
- Plus minor cleanups and fixes across both drivers.
- Intel VT-d changes:
- Retire si_domain and convert to use static identity domain.
- Batched IOTLB/dev-IOTLB invalidation.
- Small code refactoring and cleanups.
- AMD-Vi changes:
- Cleanup and refactoring of io-pagetable code.
- Add parameter to limit the used io-pagesizes.
- Other cleanups and fixes.
----------------------------------------------------------------
Ashish Mhetre (1):
iommu/io-pgtable-arm: Optimise non-coherent unmap
Dan Carpenter (2):
iommu/arm-smmu-v3: Fix a NULL vs IS_ERR() check
iommu/tegra241-cmdqv: Fix ioremap() error handling in probe()
Dmitry Baryshkov (1):
iommu/arm-smmu-qcom: apply num_context_bank fixes for SDM630 / SDM660
Eliav Bar-ilan (1):
iommu/amd: Fix argument order in amd_iommu_dev_flush_pasid_all()
Jason Gunthorpe (26):
iommu: Allow ATS to work on VFs when the PF uses IDENTITY
iommu/arm-smmu-v3: Add struct arm_smmu_impl_ops
iommu/amd: Move allocation of the top table into v1_alloc_pgtable
iommu/amd: Allocate the page table root using GFP_KERNEL
iommu/amd: Set the pgsize_bitmap correctly
iommu/amd: Remove amd_iommu_domain_update() from page table freeing
iommu/amd: Remove the amd_iommu_domain_set_pt_root() and related
iommu/amd: Rename struct amd_io_pgtable iopt to pgtbl
iommu/amd: Remove amd_io_pgtable::pgtbl_cfg
iommu/amd: Store the nid in io_pgtable_cfg instead of the domain
iommu/amd: Narrow the use of struct protection_domain to invalidation
iommu/amd: Remove conditions from domain free paths
iommu/amd: Fix typo of , instead of ;
iommu/amd: Remove the confusing dummy iommu_flush_ops tlb ops
iommu/amd: Correct the reported page sizes from the V1 table
iommu/amd: Do not set the D bit on AMD v2 table entries
iommu/arm-smmu-v3: Use the new rb tree helpers
iommu/arm-smmu-v3: Add arm_smmu_strtab_l1/2_idx()
iommu/arm-smmu-v3: Add types for each level of the 2 level stream table
iommu/arm-smmu-v3: Reorganize struct arm_smmu_strtab_cfg
iommu/arm-smmu-v3: Remove strtab_base/cfg
iommu/arm-smmu-v3: Do not use devm for the cd table allocations
iommu/arm-smmu-v3: Shrink the cdtab l1_desc array
iommu/arm-smmu-v3: Add types for each level of the CD table
iommu/arm-smmu-v3: Reorganize struct arm_smmu_ctx_desc_cfg
iommu/amd: Test for PAGING domains before freeing a domain
Joerg Roedel (2):
iommu/amd: Add kernel parameters to limit V1 page-sizes
Merge branches 'fixes', 'arm/smmu', 'intel/vt-d', 'amd/amd-vi' and 'core' into next
Konrad Dybcio (1):
iommu/arm-smmu-qcom: Work around SDM845 Adreno SMMU w/ 16K pages
Lu Baolu (10):
iommu/vt-d: Require DMA domain if hardware not support passthrough
iommu/vt-d: Remove identity mappings from si_domain
iommu/vt-d: Always reserve a domain ID for identity setup
iommu/vt-d: Remove has_iotlb_device flag
iommu/vt-d: Factor out helpers from domain_context_mapping_one()
iommu/vt-d: Add support for static identity domain
iommu/vt-d: Cleanup si_domain
iommu/vt-d: Move PCI PASID enablement to probe path
iommu/vt-d: Unconditionally flush device TLB for pasid table updates
iommu/vt-d: Add qi_batch for dmar_domain
Marc Gonzalez (1):
iommu/arm-smmu-qcom: hide last LPASS SMMU context bank from linux
Mostafa Saleh (2):
iommu/arm-smmu-v3: Match Stall behaviour for S2
iommu/arm-smmu-v3-test: Test masters with stall enabled
Nate Watterson (1):
iommu/arm-smmu-v3: Add in-kernel support for NVIDIA Tegra241 (Grace) CMDQV
Nicolin Chen (11):
iommu/arm-smmu-v3: Issue a batch of commands to the same cmdq
iommu/arm-smmu-v3: Pass in cmdq pointer to arm_smmu_cmdq_build_sync_cmd
iommu/arm-smmu-v3: Pass in cmdq pointer to arm_smmu_cmdq_init
iommu/arm-smmu-v3: Make symbols public for CONFIG_TEGRA241_CMDQV
iommu/arm-smmu-v3: Add ARM_SMMU_OPT_TEGRA241_CMDQV
iommu/arm-smmu-v3: Add acpi_smmu_iort_probe_model for impl
iommu/arm-smmu-v3: Start a new batch if new command is not supported
iommu/tegra241-cmdqv: Limit CMDs for VCMDQs of a guest owned VINTF
iommu/tegra241-cmdqv: Fix -Wformat-truncation warnings in lvcmdq_error_header
iommu/tegra241-cmdqv: Drop static at local variable
iommu/tegra241-cmdqv: Do not allocate vcmdq until dma_set_mask_and_coherent
Nikunj Kela (1):
dt-bindings: arm-smmu: document the support on SA8255p
Rob Clark (1):
iommu/arm-smmu: Un-demote unhandled-fault msg
Rob Herring (Arm) (1):
iommu: Use of_property_present()
Sanjay K Kumar (1):
iommu/vt-d: Fix potential lockup if qi_submit_sync called with 0 count
Suravee Suthikulpanit (1):
iommu/amd: Update PASID, GATS, GLX, SNPAVICSUP feature related macros
Tina Zhang (3):
iommu/vt-d: Factor out invalidation descriptor composition
iommu/vt-d: Refactor IOTLB and Dev-IOTLB flush for batching
iommu/vt-d: Introduce batched cache invalidation
Vasant Hegde (9):
iommu/amd: Add blocked domain support
iommu/amd: Update event log pointer as soon as processing is complete
iommu/amd: Make amd_iommu_is_attach_deferred() static
iommu/amd: Remove unused DTE_GCR3_INDEX_* macros
iommu/amd: Handle error path in amd_iommu_probe_device()
iommu/amd: Make amd_iommu_dev_flush_pasid_all() static
iommu/amd: Make amd_iommu_domain_flush_complete() static
iommu/amd: Rework amd_iommu_update_and_flush_device_table()
iommu/amd: Make amd_iommu_dev_update_dte() static
Will Deacon (1):
Merge branch 'for-joerg/arm-smmu/bindings' into for-joerg/arm-smmu/updates
Zhang Zekun (1):
iommu/arm-smmu-v3: Remove the unused empty definition
Zhenhua Huang (1):
dt-bindings: arm-smmu: Add compatible for QCS8300 SoC
Documentation/admin-guide/kernel-parameters.txt | 17 +-
.../devicetree/bindings/iommu/arm,smmu.yaml | 5 +
MAINTAINERS | 1 +
drivers/iommu/Kconfig | 11 +
drivers/iommu/amd/amd_iommu.h | 26 +-
drivers/iommu/amd/amd_iommu_types.h | 35 +-
drivers/iommu/amd/init.c | 16 +-
drivers/iommu/amd/io_pgtable.c | 105 +--
drivers/iommu/amd/io_pgtable_v2.c | 56 +-
drivers/iommu/amd/iommu.c | 210 +++--
drivers/iommu/amd/pasid.c | 2 +-
drivers/iommu/arm/arm-smmu-v3/Makefile | 1 +
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.c | 83 +-
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 578 +++++++------
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 135 ++-
drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c | 909 +++++++++++++++++++++
drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 28 +
drivers/iommu/arm/arm-smmu/arm-smmu.c | 2 +-
drivers/iommu/fsl_pamu_domain.c | 4 +-
drivers/iommu/intel/cache.c | 239 ++++--
drivers/iommu/intel/dmar.c | 109 +--
drivers/iommu/intel/iommu.c | 504 +++++-------
drivers/iommu/intel/iommu.h | 128 ++-
drivers/iommu/intel/nested.c | 3 +-
drivers/iommu/intel/pasid.c | 12 +-
drivers/iommu/intel/svm.c | 7 +-
drivers/iommu/io-pgtable-arm.c | 31 +-
drivers/iommu/of_iommu.c | 2 +-
drivers/pci/ats.c | 33 +
include/linux/io-pgtable.h | 4 +
include/linux/pci-ats.h | 3 +
31 files changed, 2259 insertions(+), 1040 deletions(-)
create mode 100644 drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c
Please pull.
Thanks,
Joerg
next reply other threads:[~2024-09-16 10:07 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-16 10:07 Joerg Roedel [this message]
2024-09-18 11:10 ` [git pull] IOMMU Updates for Linux v6.12 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=ZugDc8ryLmadGXyp@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.