On Tue, Jan 07, 2025 at 01:54:00PM +0800, Baolu Lu wrote: > On 1/7/25 12:36, Nicolin Chen wrote: > > +static bool arm_vsmmu_supports_veventq(unsigned int type) > > +{ > > + return type == IOMMU_VIOMMU_TYPE_ARM_SMMUV3; > > Do you need to check the hardware capabilities before reporting this? I > am not familiar with the ARM architecture, but typically it's better to > make it like this, > > static bool arm_vsmmu_supports_veventq(struct iommufd_viommu *viommu, > enum iommu_veventq_type type) > { > if (type != IOMMU_VEVENTQ_TYPE_ARM_SMMUV3) > return false; > > if (hardware_not_capable(viommu)) > return false; I think the ARM version of viommu_alloc op has already implemented enough capability checks and rejected any of hardware_not_capable. So, viommu shouldn't be a thing that the driver could actually use to call this helper :) Thanks Nicolin