[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aNRLOsomtHNumaSY@Asurada-Nvidia>
Date: Wed, 24 Sep 2025 12:49:14 -0700
From: Nicolin Chen <nicolinc@...dia.com>
To: Jason Gunthorpe <jgg@...dia.com>
CC: <joro@...tes.org>, <bhelgaas@...gle.com>, <suravee.suthikulpanit@....com>,
<will@...nel.org>, <robin.murphy@....com>, <sven@...nel.org>, <j@...nau.net>,
<alyssa@...enzweig.io>, <neal@...pa.dev>, <robin.clark@....qualcomm.com>,
<m.szyprowski@...sung.com>, <krzk@...nel.org>, <alim.akhtar@...sung.com>,
<dwmw2@...radead.org>, <baolu.lu@...ux.intel.com>, <kevin.tian@...el.com>,
<yong.wu@...iatek.com>, <matthias.bgg@...il.com>,
<angelogioacchino.delregno@...labora.com>, <tjeznach@...osinc.com>,
<paul.walmsley@...ive.com>, <palmer@...belt.com>, <aou@...s.berkeley.edu>,
<alex@...ti.fr>, <heiko@...ech.de>, <schnelle@...ux.ibm.com>,
<mjrosato@...ux.ibm.com>, <gerald.schaefer@...ux.ibm.com>,
<orsonzhai@...il.com>, <baolin.wang@...ux.alibaba.com>,
<zhang.lyra@...il.com>, <wens@...e.org>, <jernej.skrabec@...il.com>,
<samuel@...lland.org>, <jean-philippe@...aro.org>, <rafael@...nel.org>,
<lenb@...nel.org>, <yi.l.liu@...el.com>, <cwabbott0@...il.com>,
<quic_pbrahma@...cinc.com>, <iommu@...ts.linux.dev>,
<linux-kernel@...r.kernel.org>, <asahi@...ts.linux.dev>,
<linux-arm-kernel@...ts.infradead.org>, <linux-arm-msm@...r.kernel.org>,
<linux-samsung-soc@...r.kernel.org>, <linux-mediatek@...ts.infradead.org>,
<linux-riscv@...ts.infradead.org>, <linux-rockchip@...ts.infradead.org>,
<linux-s390@...r.kernel.org>, <linux-sunxi@...ts.linux.dev>,
<linux-tegra@...r.kernel.org>, <virtualization@...ts.linux.dev>,
<linux-acpi@...r.kernel.org>, <linux-pci@...r.kernel.org>,
<patches@...ts.linux.dev>, <vsethi@...dia.com>, <helgaas@...nel.org>,
<etzhao1900@...il.com>
Subject: Re: [PATCH v4 5/7] iommu: Add iommu_get_domain_for_dev_locked()
helper
On Wed, Sep 24, 2025 at 04:10:55PM -0300, Jason Gunthorpe wrote:
> On Sun, Aug 31, 2025 at 04:31:57PM -0700, Nicolin Chen wrote:
> > diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c
> > index ea2ef53bd4fef..99680cdb57265 100644
> > --- a/drivers/iommu/dma-iommu.c
> > +++ b/drivers/iommu/dma-iommu.c
> > @@ -2097,7 +2097,7 @@ EXPORT_SYMBOL_GPL(dma_iova_destroy);
> >
> > void iommu_setup_dma_ops(struct device *dev)
> > {
> > - struct iommu_domain *domain = iommu_get_domain_for_dev(dev);
> > + struct iommu_domain *domain = iommu_get_domain_for_dev_locked(dev);
>
> Lets have another patch to tidy this. This function can only be called on
> the default_domain. We can trivally pass it in. In all three cases the
> default domain was just attached to the device.
Will replace with your patch.
> > +/* Caller must be a general/external function that isn't an IOMMU callback */
> > struct iommu_domain *iommu_get_domain_for_dev(struct device *dev)
>
> Maybe a kdoc?
>
> /**
> * iommu_get_domain_for_dev() - Return the DMA API domain pointer
> * @dev - Device to query
> *
> * This function can be called within a driver bound to dev. The returned
> * pointer is valid for the lifetime of the bound driver.
> *
> * It should not be called by drivers with driver_managed_dma = true.
> */
> struct iommu_domain *iommu_get_domain_for_dev(struct device *dev)
Will add this.
> I really wanted to say this should just always return the
> default_domain, but it looks like host1x_client_iommu_detach() is the
> only place outside the iommu drivers that would be unhappy with that.
I suppose any external user that allocates/attaches a domain has a
risk of potentially using this helper, in which case group->domain
may not be default_domain?
Thanks
Nicolin
Powered by blists - more mailing lists