linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/13] Add PASID support to SMMUv3 unmanaged domains
@ 2023-06-14 15:41 Michael Shavit
  2023-06-14 15:41 ` [PATCH v3 01/13] iommu/arm-smmu-v3: Move ctx_desc out of s1_cfg Michael Shavit
                   ` (12 more replies)
  0 siblings, 13 replies; 15+ messages in thread
From: Michael Shavit @ 2023-06-14 15:41 UTC (permalink / raw)
  To: Will Deacon, Robin Murphy, Joerg Roedel
  Cc: Michael Shavit, jean-philippe, nicolinc, jgg, baolu.lu,
	linux-arm-kernel, iommu, linux-kernel

Hi all,

This patch series implements the set_dev_pasid operation for DMA
and UNMANAGED iommu domains.

The bulk of the series involves a refactor of stage 1 domains so that
they describe a single CD entry. On attach, stage 1 domains are inserted
into a CD table that is now owned by the arm_smmu_master struct. This is
a pre-requisite to the set_dev_pasid implementation but also results in
a conceptually cleaner arm_smmu_domain. Note that this does not preclude
from attaching domains that represent a CD table, such as for the
proposed iommufd NESTED domains.

The last few patches of the series make drive-by cleanups to the smmu
SVA implementation. A follow-up patch-series is planned so that the SVA
implementation can further take advantages of the changes introduced here. See
discussion on patch 14 of the v2 series.

This patch series is also available on gerrit with Jean's SMMU test
engine patches cherry-picked on top:
https://linux-review.googlesource.com/id/I0fcd9adc058d1c58a12d2599cc82fba73da7697a
This allowed testing of basic SVA functionality (e.g.: attaching, page
fault handling, and detaching).

Thanks,
Michael Shavit

Changelog
v3:
 * Dropped the bulk of the SVA refactoring to re-work as a follow-up
   series.
 * Reworded cover letter to omit dropped changes.
 * Rebased on 6.4 tip
v2:
https://lore.kernel.org/all/20230606120854.4170244-1-mshavit@google.com/
 * Reworded cover letter and commits based on v1 feedback.
 * Split and reworked `iommu/arm-smmu-v3: Move cdtable to arm_smmu_master`
 * Added SVA clean-up and refactor.
 * A few other small bug fixes and cosmetics.
v1:
https://lore.kernel.org/all/20230510205054.2667898-1-mshavit@google.com/


Michael Shavit (13):
  iommu/arm-smmu-v3: Move ctx_desc out of s1_cfg
  iommu/arm-smmu-v3: Add smmu_s1_cfg to smmu_master
  iommu/arm-smmu-v3: Refactor write_strtab_ent
  iommu/arm-smmu-v3: Refactor write_ctx_desc
  iommu/arm-smmu-v3: Use the master-owned s1_cfg
  iommu/arm-smmu-v3: Simplify arm_smmu_enable_ats
  iommu/arm-smmu-v3: Keep track of attached ssids
  iommu/arm-smmu-v3: Add helper for atc invalidation
  iommu/arm-smmu-v3: Implement set_dev_pasid
  iommu/arm-smmu-v3-sva: Remove bond refcount
  iommu/arm-smmu-v3-sva: Clean unused iommu_sva
  iommu/arm-smmu-v3-sva: Remove arm_smmu_bond
  iommu/arm-smmu-v3-sva: Add check when enabling sva

 .../iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c   | 156 +++---
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c   | 447 ++++++++++++------
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h   |  49 +-
 3 files changed, 414 insertions(+), 238 deletions(-)


base-commit: b6dad5178ceaf23f369c3711062ce1f2afc33644
-- 
2.41.0.162.gfafddb0af9-goog


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2023-06-20 10:24 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-14 15:41 [PATCH v3 00/13] Add PASID support to SMMUv3 unmanaged domains Michael Shavit
2023-06-14 15:41 ` [PATCH v3 01/13] iommu/arm-smmu-v3: Move ctx_desc out of s1_cfg Michael Shavit
2023-06-14 15:41 ` [PATCH v3 02/13] iommu/arm-smmu-v3: Add smmu_s1_cfg to smmu_master Michael Shavit
2023-06-14 15:41 ` [PATCH v3 03/13] iommu/arm-smmu-v3: Refactor write_strtab_ent Michael Shavit
2023-06-14 15:41 ` [PATCH v3 04/13] iommu/arm-smmu-v3: Refactor write_ctx_desc Michael Shavit
2023-06-14 15:41 ` [PATCH v3 05/13] iommu/arm-smmu-v3: Use the master-owned s1_cfg Michael Shavit
2023-06-14 15:41 ` [PATCH v3 06/13] iommu/arm-smmu-v3: Simplify arm_smmu_enable_ats Michael Shavit
2023-06-14 15:41 ` [PATCH v3 07/13] iommu/arm-smmu-v3: Keep track of attached ssids Michael Shavit
2023-06-20 10:21   ` kernel test robot
2023-06-14 15:42 ` [PATCH v3 08/13] iommu/arm-smmu-v3: Add helper for atc invalidation Michael Shavit
2023-06-14 15:42 ` [PATCH v3 09/13] iommu/arm-smmu-v3: Implement set_dev_pasid Michael Shavit
2023-06-14 15:42 ` [PATCH v3 10/13] iommu/arm-smmu-v3-sva: Remove bond refcount Michael Shavit
2023-06-14 15:42 ` [PATCH v3 11/13] iommu/arm-smmu-v3-sva: Clean unused iommu_sva Michael Shavit
2023-06-14 15:42 ` [PATCH v3 12/13] iommu/arm-smmu-v3-sva: Remove arm_smmu_bond Michael Shavit
2023-06-14 15:42 ` [PATCH v3 13/13] iommu/arm-smmu-v3-sva: Add check when enabling sva Michael Shavit

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).