Re: [PATCH 2/2] drivers/arm-smmu-v3: Implement .iotlb_sync_map callback

Mostafa Saleh
2025-09-29T12:24:34Z

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