[PATCH v4 18/23] iommu/arm-smmu-v3-iommufd: Support implementation-defined hw_info

Jason Gunthorpe jgg at nvidia.com
Thu May 15 10:17:06 PDT 2025


On Thu, May 08, 2025 at 08:02:39PM -0700, Nicolin Chen wrote:
> Repurpose the @__reserved field in the struct iommu_hw_info_arm_smmuv3,
> to an HW implementation-defined field @impl.

It would be nicer to have a tegra/cmdq specific struct and a way for
iommu_hw_info to select it. 'impl' isn't going to scale very well if
something else wants to use this.

We have out_data_type but we could have an input sub_data_type too. 0
means what we have today, then a simple enum to select another info
struct.

> @@ -726,6 +726,7 @@ struct arm_smmu_impl_ops {
>  		struct arm_smmu_domain *smmu_domain, struct iommufd_ctx *ictx,
>  		unsigned int viommu_type,
>  		const struct iommu_user_data *user_data);
> +	u32 (*hw_info)(struct arm_smmu_device *smmu, u32 *impl);
>  };

Then the dispatch here is just having a sub-struct enum # in
arm_smmu_impl_ops for dispatching.

Jason



More information about the linux-arm-kernel mailing list