| Message ID | 20200930080523.GA15805@willie-the-truck |
|---|---|
| State | New |
| Headers | show |
| Series | [GIT,PULL] iommu/arm-smmu: Updates for 5.10 | expand |
On Wed, Sep 30, 2020 at 09:05:23AM +0100, Will Deacon wrote: > 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: Just to say that my updated key has now landed in the pgpkeys repo. Will
On Wed, Sep 30, 2020 at 09:05:23AM +0100, Will Deacon wrote: > 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: Pulled, thanks Will.
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