On 1/7/25 14:00, Nicolin Chen wrote:
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 🙂
Okay, fair enough.