On Wed, Dec 06, 2023 at 10:43:34AM -0800, Nicolin Chen wrote: > On Wed, Dec 06, 2023 at 02:32:09PM -0400, Jason Gunthorpe wrote: > > On Fri, Nov 17, 2023 at 05:07:12AM -0800, Yi Liu wrote: > > > > @@ -465,6 +492,9 @@ struct iommu_domain_ops { > > > size_t size); > > > void (*iotlb_sync)(struct iommu_domain *domain, > > > struct iommu_iotlb_gather *iotlb_gather); > > > + int (*cache_invalidate_user)(struct iommu_domain *domain, > > > + struct iommu_user_data_array *array, > > > + u32 *error_code); > > > > Regarding the other conversation I worry a u32 error_code is too small. > > > > Unfortunately there is no obvious place to put something better so if > > we reach it we will have to add more error_code space via normal > > extension. > > > > Maybe expand this to u64? That is 64 bits of error register data and > > the consumer index. It should do for SMMUv3 at least? > > I think Yi is moving the error_code to the entry data structure, > where we can even define a list of error_codes as a driver data > needs. So, I assume this u32 pointer would be gone too. Oh, lets see that then.. Jason