Message ID | 20230816131925.2521220-1-mshavit@google.com (mailing list archive) |
---|---|
Headers | show |
Series | Refactor the SMMU's CD table ownership | expand |
On Wed, Aug 16, 2023 at 09:18:40PM +0800, Michael Shavit wrote: > Hi all, > > This series refactors stage 1 domains so that they describe a single CD > entry. These entries are now inserted into a CD table that is owned by > the arm_smmu_master instead of the domain. > This is conceptually cleaner and unblocks other features, such as > attaching domains with PASID (for unmanaged/dma domains). > > This patch series was originally part of a larger patch series that > implemented the set_dev_pasid callback for non-SVA domains but is now > split into a distinct series. > > This patch series is also available on gerrit with Jean's SMMU test > engine patches cherry-picked on top for testing: > https://linux-review.googlesource.com/c/linux/kernel/git/torvalds/linux/+/24770/9 > > Thanks, > Michael Shavit > > Changes in v6: > - Undo removal of s1fmt and renaming of s1cdmax > - Unwind the loop in amr_smmu_write_ctx_desc_devices to NULL out the CD > entries we succesfully wrote on failure. > - Add a comment clarifying the different usages of > amr_smmu_write_ctx_desc_devices > - Grab the asid lock while writing the RID CD to prevent a race with > SVA. > - Add the device to the devices list before writing the CD to the table > and installing the CD table. Though there's a thing in PATCH-6 that I couldn't fully understand yet, SVA/ATS sanity works with the series. So, Tested-by: Nicolin Chen <nicolinc@nvidia.com>