[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b3b2226e-7eee-f24c-9f61-8b968ef6af9c@linux.intel.com>
Date: Thu, 1 Dec 2022 12:50:52 +0800
From: Baolu Lu <baolu.lu@...ux.intel.com>
To: Sven Peter <sven@...npeter.dev>, 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: baolu.lu@...ux.intel.com,
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
On 2022/12/1 1:00, Sven Peter wrote:
> 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.
Done. Thanks!
Best regards,
baolu
Powered by blists - more mailing lists