mbox series

[GIT,PULL] iommu/arm-smmu: Updates for 5.10

Message ID 20200930080523.GA15805@willie-the-truck (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL] iommu/arm-smmu: Updates for 5.10 | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git tags/arm-smmu-updates

Message

Will Deacon Sept. 30, 2020, 8:05 a.m. UTC
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

Comments

Will Deacon Oct. 1, 2020, 11:51 a.m. UTC | #1
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
Joerg Roedel Oct. 1, 2020, 12:24 p.m. UTC | #2
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.