[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <e255ed09-ed67-46b3-b055-287959d1b76f@app.fastmail.com>
Date: Wed, 30 Nov 2022 18:00:38 +0100
From: "Sven Peter" <sven@...npeter.dev>
To: "Lu Baolu" <baolu.lu@...ux.intel.com>,
"Joerg Roedel" <joro@...tes.org>,
"Jason Gunthorpe" <jgg@...dia.com>,
"Christoph Hellwig" <hch@...radead.org>,
"Kevin Tian" <kevin.tian@...el.com>,
"Will Deacon" <will@...nel.org>,
"Robin Murphy" <robin.murphy@....com>,
"Jean-Philippe Brucker" <jean-philippe@...aro.org>
Cc: "Suravee Suthikulpanit" <suravee.suthikulpanit@....com>,
"Hector Martin" <marcan@...can.st>,
"Rob Clark" <robdclark@...il.com>,
"Marek Szyprowski" <m.szyprowski@...sung.com>,
"Krzysztof Kozlowski" <krzysztof.kozlowski@...aro.org>,
"Andy Gross" <agross@...nel.org>,
"Bjorn Andersson" <andersson@...nel.org>,
"Yong Wu" <yong.wu@...iatek.com>,
"Matthias Brugger" <matthias.bgg@...il.com>,
"Heiko Stuebner" <heiko@...ech.de>,
"Matthew Rosato" <mjrosato@...ux.ibm.com>,
"Orson Zhai" <orsonzhai@...il.com>,
"Baolin Wang" <baolin.wang@...ux.alibaba.com>,
"Chunyan Zhang" <zhang.lyra@...il.com>,
"Chen-Yu Tsai" <wens@...e.org>,
"Thierry Reding" <thierry.reding@...il.com>, iommu@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 02/20] iommu/apple-dart: Remove detach_dev callback
Hi,
On Mon, Nov 28, 2022, at 07:46, Lu Baolu wrote:
> The IOMMU driver supports default domain, so the detach_dev op will never
> be called. Remove it to avoid dead code.
>
> Signed-off-by: Lu Baolu <baolu.lu@...ux.intel.com>
> ---
Reviewed-by: Sven Peter <sven@...npeter.dev>
> drivers/iommu/apple-dart.c | 17 -----------------
> 1 file changed, 17 deletions(-)
>
> diff --git a/drivers/iommu/apple-dart.c b/drivers/iommu/apple-dart.c
> index 4f4a323be0d0..6fbe6b275c79 100644
> --- a/drivers/iommu/apple-dart.c
> +++ b/drivers/iommu/apple-dart.c
> @@ -535,22 +535,6 @@ static int apple_dart_attach_dev(struct
> iommu_domain *domain,
> return ret;
> }
>
> -static void apple_dart_detach_dev(struct iommu_domain *domain,
> - struct device *dev)
> -{
Thanks for cleaning this entire API up!
It actually turns out that this is slightly broken because I assumed that
detach_dev would always be called for any attach_dev. I think the only
consequence for a device that used to be assigned to domain A and is now moved to
domain B is that any TLB flushes required for A will still flush the TLB for that
device.
That's not a big deal but I'll eventually send a fix.
> - int i;
> - struct apple_dart_stream_map *stream_map;
> - struct apple_dart_master_cfg *cfg = dev_iommu_priv_get(dev);
> - struct apple_dart_domain *dart_domain = to_dart_domain(domain);
> -
> - for_each_stream_map(i, cfg, stream_map)
> - apple_dart_hw_disable_dma(stream_map);
> -
> - if (domain->type == IOMMU_DOMAIN_DMA ||
> - domain->type == IOMMU_DOMAIN_UNMANAGED)
> - apple_dart_domain_remove_streams(dart_domain, cfg);
Something might complain about unused apple_dart_domain_remove_streams now.
Might make sense to drop that for now as well.
Best,
Sven
Powered by blists - more mailing lists