Messages in this thread | | | Date | Wed, 30 Nov 2022 18:00:38 +0100 | From | "Sven Peter" <> | 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@linux.intel.com> > ---
Reviewed-by: Sven Peter <sven@svenpeter.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
| |