[PATCH v6 10/25] iommufd/viommu: Add IOMMUFD_CMD_HW_QUEUE_ALLOC ioctl

Nicolin Chen nicolinc at nvidia.com
Sun Jun 15 23:47:11 PDT 2025


On Mon, Jun 16, 2025 at 02:12:04PM +0800, Baolu Lu wrote:
> On 6/14/25 15:14, Nicolin Chen wrote:
> > +	if (!viommu->ops || !viommu->ops->get_hw_queue_size ||
> > +	    !viommu->ops->hw_queue_init_phys) {
> > +		rc = -EOPNOTSUPP;
> > +		goto out_put_viommu;
> > +	}

Hmm, here it does abort when !viommu->ops->hw_queue_init_phys ..

> > +	/*
> > +	 * FIXME once ops->hw_queue_init is introduced, this should check "if
> > +	 * ops->hw_queue_init_phys". And "access" should be initialized to NULL.
> > +	 */
> 
> I just don't follow here. Up until now, only viommu->ops->
> hw_queue_init_phys has been added, which means the current code only
> supports hardware queues that access guest memory using physical
> addresses. The access object is not needed for the other type of
> hardware queue that uses guest IOVA.
> 
> So, why not just abort here if ops->hw_queue_init_phys is not supported
> by the IOMMU driver?

.. so, it already does.

> Leave other logics to the patches that introduce
> ops->hw_queue_init? I guess that would make this patch more readible.

The patch is doing in the way to support the hw_queue_init_phys
case only. It is just adding some extra FIXMEs as the guideline
for the future patch adding hw_queue_init op.

I personally don't feel these are confusing. Maybe you can help
point out what specific wording feels odd here? Maybe "FIXME"s
should be "TODO"s?

I could also drop all of these guideline if they are considered
very unnecessary.

Thanks
Nicolin



More information about the linux-arm-kernel mailing list