[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPpJ_edkkWm0DYHB3U8nQPv=z_o-aV4V7RDMuLTXL5N1H6ZYrA@mail.gmail.com>
Date: Tue, 4 Feb 2020 17:25:04 +0800
From: Jian-Hong Pan <jian-hong@...lessm.com>
To: Lu Baolu <baolu.lu@...ux.intel.com>
Cc: David Woodhouse <dwmw2@...radead.org>,
Joerg Roedel <joro@...tes.org>,
iommu@...ts.linux-foundation.org,
Linux Kernel <linux-kernel@...r.kernel.org>,
Linux Upstreaming Team <linux@...lessm.com>
Subject: Re: [PATCH] iommu/intel-iommu: set as DUMMY_DEVICE_DOMAIN_INFO if no IOMMU
Lu Baolu <baolu.lu@...ux.intel.com> 於 2020年2月4日 週二 下午2:11寫道:
>
> Hi,
>
> On 2020/2/3 17:10, Jian-Hong Pan wrote:
> > If the device has no IOMMU, it still invokes iommu_need_mapping during
> > intel_alloc_coherent. However, iommu_need_mapping can only check the
> > device is DUMMY_DEVICE_DOMAIN_INFO or not. This patch marks the device
> > is a DUMMY_DEVICE_DOMAIN_INFO if the device has no IOMMU.
> >
> > Signed-off-by: Jian-Hong Pan <jian-hong@...lessm.com>
> > ---
> > drivers/iommu/intel-iommu.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
> > index 35a4a3abedc6..878bc986a015 100644
> > --- a/drivers/iommu/intel-iommu.c
> > +++ b/drivers/iommu/intel-iommu.c
> > @@ -5612,8 +5612,10 @@ static int intel_iommu_add_device(struct device *dev)
> > int ret;
> >
> > iommu = device_to_iommu(dev, &bus, &devfn);
> > - if (!iommu)
> > + if (!iommu) {
> > + dev->archdata.iommu = DUMMY_DEVICE_DOMAIN_INFO;
>
> Is this a DMA capable device?
Do you mean is the device in DMA Remapping table?
Dump DMAR from ACPI table. The device is not in the table.
So, it does not support DMAR, Intel IOMMU.
Or, should device_to_iommu be invoked in iommu_need_mapping to check
IOMMU feature again?
Best regards,
Jian-Hong Pan
> I am afraid some real bugs might be
> covered up if we marking the device as IOMMU dummy here.
>
> Best regards,
> baolu
>
> > return -ENODEV;
> > + }
> >
> > iommu_device_link(&iommu->iommu, dev);
> >
> >
Powered by blists - more mailing lists