RE: [PATCH] iommu: Distinguish between sw-msi and msi

From: Angus Chen
Date: Tue Oct 22 2024 - 08:02:18 EST


Hi robin。

> -----Original Message-----
> From: Robin Murphy <robin.murphy@xxxxxxx>
> Sent: Monday, October 21, 2024 7:59 PM
> To: Angus Chen <angus.chen@xxxxxxxxxxxxxxx>; joro@xxxxxxxxxx;
> will@xxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx; iommu@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH] iommu: Distinguish between sw-msi and msi
>
> On 2024-10-21 12:34 pm, Angus Chen wrote:
> > iommu_group_resv_type_string use the same string of IOMMU_RESV_MSI
> > and IOMMU_RESV_SW_MSI, Make a distinction for these.
>
> Why? What in userspace needs to know the exact details of how the kernel
> and the underlying hardware are routing MSIs?
We use smmu-v3 for a dpu design,and we set a private region to handle msi region like x86.
We set some private iommu register to control this.
If some customer want to use their os like openouler, we use sw-msi mode.
If some customer want to use our customize os ,we will set msi private.
Some customer use openouler and we private smmu-v3 module at the same time,

So I want to use reserve-type to distinguish between sw-msi and msi.
>
> Thanks,
> Robin.
>
> > Signed-off-by: Angus Chen <angus.chen@xxxxxxxxxxxxxxx>
> > ---
> > drivers/iommu/iommu.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
> > index 83c8e617a2c5..8a2bbb5c4a91 100644
> > --- a/drivers/iommu/iommu.c
> > +++ b/drivers/iommu/iommu.c
> > @@ -84,7 +84,7 @@ static const char * const
> iommu_group_resv_type_string[] = {
> > [IOMMU_RESV_DIRECT_RELAXABLE] = "direct-relaxable",
> > [IOMMU_RESV_RESERVED] = "reserved",
> > [IOMMU_RESV_MSI] = "msi",
> > - [IOMMU_RESV_SW_MSI] = "msi",
> > + [IOMMU_RESV_SW_MSI] = "sw-msi",
> > };
> >
> > #define IOMMU_CMD_LINE_DMA_API BIT(0)