[PATCH v1 08/16] iommufd/viommu: Add IOMMU_VIOMMU_INVALIDATE ioctl

Nicolin Chen nicolinc at nvidia.com
Mon Aug 19 10:49:56 PDT 2024


On Mon, Aug 19, 2024 at 02:30:56PM -0300, Jason Gunthorpe wrote:
> On Thu, Aug 15, 2024 at 04:51:39PM -0700, Nicolin Chen wrote:
> > On Thu, Aug 15, 2024 at 08:24:05PM -0300, Jason Gunthorpe wrote:
> > > On Wed, Aug 07, 2024 at 01:10:49PM -0700, Nicolin Chen wrote:
> > > > @@ -946,4 +947,40 @@ struct iommu_viommu_unset_vdev_id {
> > > >  	__aligned_u64 vdev_id;
> > > >  };
> > > >  #define IOMMU_VIOMMU_UNSET_VDEV_ID _IO(IOMMUFD_TYPE, IOMMUFD_CMD_VIOMMU_UNSET_VDEV_ID)
> > > > +
> > > > +/**
> > > > + * enum iommu_viommu_invalidate_data_type - VIOMMU Cache Invalidate Data Type
> > > > + * @IOMMU_VIOMMU_INVALIDATE_DATA_ARM_SMMUV3: Invalidation data for ARM SMMUv3
> > > > + */
> > > > +enum iommu_viommu_invalidate_data_type {
> > > > +	IOMMU_VIOMMU_INVALIDATE_DATA_ARM_SMMUV3,
> > > > +};
> > > 
> > > =1 here I think. Lets try to avoid 0 for the types..
> > > 
> > > And this shouldn't be in this patch
> > > 
> > > But also we can probably just use reuse enum iommu_hwpt_invalidate_data_type
> > > here?
> > 
> > Would that force IOMMU drivers to implement both hwpt and viommu
> > invalidations? SMMUv3 driver would implement both anyway though..
> 
> I wouldn't say force, just that they have to use a consistent
> numbering if they do choose to do both.

But if we duplicate a driver type for two IOCTLs, that assumes
our ABI supports both IOCTLs? No?

Thanks
Nicolin



More information about the linux-arm-kernel mailing list