[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <73008702-87e1-688f-b194-c259c9c03caa@linux.intel.com>
Date: Thu, 22 Sep 2022 10:02:42 +0800
From: Baolu Lu <baolu.lu@...ux.intel.com>
To: Nicolin Chen <nicolinc@...dia.com>, joro@...tes.org,
suravee.suthikulpanit@....com, will@...nel.org,
robin.murphy@....com, robdclark@...il.com, dwmw2@...radead.org,
agross@...nel.org, bjorn.andersson@...aro.org,
matthias.bgg@...il.com, orsonzhai@...il.com,
baolin.wang@...ux.alibaba.com, zhang.lyra@...il.com,
jean-philippe@...aro.org, sricharan@...eaurora.org
Cc: baolu.lu@...ux.intel.com, jgg@...dia.com, kevin.tian@...el.com,
konrad.dybcio@...ainline.org, yong.wu@...iatek.com,
thierry.reding@...il.com, vdumpa@...dia.com, jonathanh@...dia.com,
tglx@...utronix.de, shameerali.kolothum.thodi@...wei.com,
christophe.jaillet@...adoo.fr, thunder.leizhen@...wei.com,
quic_saipraka@...cinc.com, jon@...id-run.com,
yangyingliang@...wei.com, iommu@...ts.linux.dev,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-arm-msm@...r.kernel.org, linux-mediatek@...ts.infradead.org,
linux-tegra@...r.kernel.org,
virtualization@...ts.linux-foundation.org
Subject: Re: [PATCH v4 3/6] iommu: Add return value rules to attach_dev op and
APIs
On 9/21/22 4:23 PM, Nicolin Chen wrote:
> Cases like VFIO wish to attach a device to an existing domain that was
> not allocated specifically from the device. This raises a condition
> where the IOMMU driver can fail the domain attach because the domain and
> device are incompatible with each other.
>
> This is a soft failure that can be resolved by using a different domain.
>
> Provide a dedicated errno EINVAL from the IOMMU driver during attach that
> the reason why the attach failed is because of domain incompatibility.
>
> VFIO can use this to know that the attach is a soft failure and it should
> continue searching. Otherwise, the attach will be a hard failure and VFIO
> will return the code to userspace.
>
> Update kdocs to add rules of return value to the attach_dev op and APIs.
>
> Suggested-by: Jason Gunthorpe<jgg@...dia.com>
> Signed-off-by: Nicolin Chen<nicolinc@...dia.com>
> ---
> drivers/iommu/iommu.c | 22 ++++++++++++++++++++++
> include/linux/iommu.h | 12 ++++++++++++
> 2 files changed, 34 insertions(+)
>
> diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
> index 3a808146b50f..1d1e32aeaae6 100644
> --- a/drivers/iommu/iommu.c
> +++ b/drivers/iommu/iommu.c
> @@ -1975,6 +1975,17 @@ static int __iommu_attach_device(struct iommu_domain *domain,
> return ret;
> }
>
> +/**
> + * iommu_attach_device - Attach a device to an IOMMU domain
Normally we say "attach an iommu domain to a device/group ...".
Best regards,
baolu
Powered by blists - more mailing lists