Re: [PATCH 1/8] iommu: Lift and generalize the STE/CD update code from SMMUv3

Jason Gunthorpe
2026-03-23T12:59:50Z

On Mon, Mar 16, 2026 at 02:24:57PM +0800, Baolu Lu wrote:

> > > + writer->ops->get_used(entry, cur_used);
> > > + writer->ops->get_used(target, target_used);
> >
> > SMMU has get_update_safe now. Can we take it together?
>
> I will look into the SMMUv3 get_update_safe implementation. Or integrate
> that specially when we transition the ARM SMMUv3 driver to use this
> generic entry_sync library.

The intention was to copy the existing ARM code as is, the draft I
sent was before these changes from Nicolin, so it should get updated..

> > > +EXPORT_SYMBOL(NS(entry_sync_write));
> >
> > There is also a KUNIT test coverage in arm-smmu-v3 for all of these
> > functions. Maybe we can make that generic as well?
>
> Same here.

That will be a bit hard since it depends on driver functions.

> > But maybe we could just call them:
> > entry_sync_writer_le64
> > entry_sync_writer_u128
> > ?
> I'm fine with the new naming. It is more explicit. I will update the
> names unless there are further objections.

I was wondering if we should just be using void * here as the type
safety seems a bit harmful if the goal is to make the 128 bit option
fall back to 64 bits if not supported.

The maximum supported HW atomic quanta can be passed in through the
struct.

Jason