Re: [PATCH v2 2/3] iommu: Consolidate pasid dma ownership check

From: Nicolin Chen
Date: Fri Aug 18 2023 - 01:44:41 EST


On Mon, Aug 14, 2023 at 09:17:58AM +0800, Lu Baolu wrote:

> When switching device DMA ownership, it is required that all the device's
> pasid DMA be disabled. This is done by checking if the pasid array of the
> group is empty. Consolidate all the open code into a single helper. No
> intentional functionality change.
>
> Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
> ---
> drivers/iommu/iommu.c | 23 ++++++++++++++++++-----
> 1 file changed, 18 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
> index f1eba60e573f..d4a06a37ce39 100644
> --- a/drivers/iommu/iommu.c
> +++ b/drivers/iommu/iommu.c
> @@ -3127,6 +3127,19 @@ static bool iommu_is_default_domain(struct iommu_group *group)
> return false;
> }
>
> +/*
> + * Assert no PASID DMA when claiming or releasing group's DMA ownership.
^
|...

> + * The device pasid interfaces are only for device drivers that have
> + * claimed the DMA ownership. Return true if no pasid DMA setup, otherwise
> + * return false with a WARN().
> + */
> +static bool assert_pasid_dma_ownership(struct iommu_group *group)

... should it be assert_no_pasid_dma_ownership?

Nic