Re: [PATCH v6 00/10] Refactor the SMMU's CD table ownership
From: Nicolin Chen
Date: Wed Aug 16 2023 - 20:00:37 EST
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@xxxxxxxxxx>