[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aNp6fJNoehs8hMyF@google.com>
Date: Mon, 29 Sep 2025 12:24:28 +0000
From: Mostafa Saleh <smostafa@...gle.com>
To: Jason Gunthorpe <jgg@...dia.com>
Cc: Daniel Mentz <danielmentz@...gle.com>, iommu@...ts.linux.dev,
linux-kernel@...r.kernel.org, Will Deacon <will@...nel.org>,
Pranjal Shrivastava <praan@...gle.com>,
Liviu Dudau <liviu.dudau@....com>,
Rob Clark <robin.clark@....qualcomm.com>
Subject: Re: [PATCH 2/2] drivers/arm-smmu-v3: Implement .iotlb_sync_map
callback
On Mon, Sep 29, 2025 at 08:58:03AM -0300, Jason Gunthorpe wrote:
> On Sat, Sep 27, 2025 at 10:39:53PM +0000, Daniel Mentz wrote:
> > @@ -3700,6 +3713,7 @@ static const struct iommu_ops arm_smmu_ops = {
> > .map_pages = arm_smmu_map_pages,
> > .unmap_pages = arm_smmu_unmap_pages,
> > .flush_iotlb_all = arm_smmu_flush_iotlb_all,
> > + .iotlb_sync_map = arm_smmu_iotlb_sync_map,
>
> Shouldn't this avoid defining the op on coherent systems?
Does that mean we need to have 2 iommu_ops, one for
coherent/non-coherent SMMUs, as both can be mixed in the same system.
The current implementation would skip the page table call on coherent
SMMUs, As in the first patch it only sets the pointer for them:
.iotlb_sync_map = cfg->coherent_walk ? NULL : arm_lpae_iotlb_sync_map.
Thanks,
Mostafa
>
> Jason
Powered by blists - more mailing lists