[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200930080523.GA15805@willie-the-truck>
Date: Wed, 30 Sep 2020 09:05:23 +0100
From: Will Deacon <will@...nel.org>
To: joro@...tes.org
Cc: iommu@...ts.linux-foundation.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
robin.murphy@....com, jean-philippe@...aro.org,
kernel-team@...roid.com
Subject: [GIT PULL] iommu/arm-smmu: Updates for 5.10
Hi Joerg,
Please pull these arm-smmu updates for 5.10. Summary in the tag, but the
big thing here is the long-awaited SVM enablement from Jean-Philippe.
We're not quite done yet, but this pull extends the SMMUv3 driver so that
we're very close to being able to share page-tables directly with the CPU.
Other than that, there are a couple of things to note:
1. My PGP subkeys expired. I've updated them here:
https://mirrors.edge.kernel.org/pub/linux/kernel/people/will/3E542FD9.asc
and I've also mailed an updated copy for inclusion in the pgpkeys
repository on kernel.org, but it hasn't landed yet:
https://lore.kernel.org/keys/20200929222707.GA14916@willie-the-truck/T/#u
2. The SVM enablement has a dependency on some ASID allocation rework
in the arm64 tree, so I made a shared branch and pulled that in here
too.
Please shout if you run into any problems.
Will
--->8
The following changes since commit f75aef392f869018f78cfedf3c320a6b3fcfda6b:
Linux 5.9-rc3 (2020-08-30 16:01:54 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git tags/arm-smmu-updates
for you to fetch changes up to e2eae09939a89e0994f7965ba3c676a5eac8b4b0:
iommu/qcom: add missing put_device() call in qcom_iommu_of_xlate() (2020-09-29 16:25:52 +0100)
----------------------------------------------------------------
Arm SMMU updates for 5.10
- Continued SVM enablement, where page-table is shared with CPU
- Groundwork to support integrated SMMU with Adreno GPU
- Allow disabling of MSI-based polling on the kernel command-line
- Minor driver fixes and cleanups (octal permissions, error messages, ...)
----------------------------------------------------------------
Barry Song (3):
iommu/arm-smmu-v3: replace symbolic permissions by octal permissions for module parameter
iommu/arm-smmu-v3: replace module_param_named by module_param for disable_bypass
iommu/arm-smmu-v3: permit users to disable msi polling
Jean-Philippe Brucker (9):
iommu/arm-smmu-v3: Fix endianness annotations
arm64: mm: Pin down ASIDs for sharing mm with devices
arm64: cpufeature: Export symbol read_sanitised_ftr_reg()
iommu/io-pgtable-arm: Move some definitions to a header
iommu/arm-smmu-v3: Move definitions to a header
iommu/arm-smmu-v3: Share process page tables
iommu/arm-smmu-v3: Seize private ASID
iommu/arm-smmu-v3: Check for SVA features
iommu/arm-smmu-v3: Add SVA device feature
Jordan Crouse (3):
iommu/arm-smmu: Pass io-pgtable config to implementation specific function
iommu/arm-smmu: Add support for split pagetables
iommu/arm-smmu: Prepare for the adreno-smmu implementation
Rob Clark (1):
iommu/arm-smmu: Constify some helpers
Will Deacon (1):
Merge branch 'for-next/svm' of git://git.kernel.org/.../arm64/linux into for-joerg/arm-smmu/updates
Yu Kuai (1):
iommu/qcom: add missing put_device() call in qcom_iommu_of_xlate()
Zenghui Yu (1):
iommu/arm-smmu-v3: Fix l1 stream table size in the error message
Zhou Wang (1):
iommu/arm-smmu-v3: Ensure queue is read after updating prod pointer
MAINTAINERS | 3 +-
arch/arm64/include/asm/barrier.h | 1 +
arch/arm64/include/asm/io.h | 1 +
arch/arm64/include/asm/mmu.h | 3 +
arch/arm64/include/asm/mmu_context.h | 11 +-
arch/arm64/kernel/cpufeature.c | 1 +
arch/arm64/mm/context.c | 105 ++-
drivers/iommu/Kconfig | 10 +
drivers/iommu/arm/arm-smmu-v3/Makefile | 5 +-
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 248 +++++++
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 843 +++++-------------------
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 723 ++++++++++++++++++++
drivers/iommu/arm/arm-smmu/arm-smmu-impl.c | 3 +-
drivers/iommu/arm/arm-smmu/arm-smmu.c | 102 ++-
drivers/iommu/arm/arm-smmu/arm-smmu.h | 84 ++-
drivers/iommu/arm/arm-smmu/qcom_iommu.c | 8 +-
drivers/iommu/io-pgtable-arm.c | 27 +-
drivers/iommu/io-pgtable-arm.h | 30 +
18 files changed, 1410 insertions(+), 798 deletions(-)
create mode 100644 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c
create mode 100644 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
create mode 100644 drivers/iommu/io-pgtable-arm.h
Powered by blists - more mailing lists