2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00

uacce: Remove unnecessary IOMMU_DEV_FEAT_IOPF

None of the drivers implement anything for IOMMU_DEV_FEAT_IOPF anymore,
remove it to avoid dead code.

Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Acked-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Tested-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Link: https://lore.kernel.org/r/20250418080130.1844424-7-baolu.lu@linux.intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
Lu Baolu 2025-04-18 16:01:28 +08:00 committed by Joerg Roedel
parent 853b01b5ef
commit ec027bf7e8

View File

@ -465,31 +465,6 @@ static void uacce_release(struct device *dev)
kfree(uacce); kfree(uacce);
} }
static unsigned int uacce_enable_sva(struct device *parent, unsigned int flags)
{
int ret;
if (!(flags & UACCE_DEV_SVA))
return flags;
flags &= ~UACCE_DEV_SVA;
ret = iommu_dev_enable_feature(parent, IOMMU_DEV_FEAT_IOPF);
if (ret) {
dev_err(parent, "failed to enable IOPF feature! ret = %pe\n", ERR_PTR(ret));
return flags;
}
return flags | UACCE_DEV_SVA;
}
static void uacce_disable_sva(struct uacce_device *uacce)
{
if (!(uacce->flags & UACCE_DEV_SVA))
return;
iommu_dev_disable_feature(uacce->parent, IOMMU_DEV_FEAT_IOPF);
}
/** /**
* uacce_alloc() - alloc an accelerator * uacce_alloc() - alloc an accelerator
* @parent: pointer of uacce parent device * @parent: pointer of uacce parent device
@ -509,8 +484,6 @@ struct uacce_device *uacce_alloc(struct device *parent,
if (!uacce) if (!uacce)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
flags = uacce_enable_sva(parent, flags);
uacce->parent = parent; uacce->parent = parent;
uacce->flags = flags; uacce->flags = flags;
uacce->ops = interface->ops; uacce->ops = interface->ops;
@ -533,7 +506,6 @@ struct uacce_device *uacce_alloc(struct device *parent,
return uacce; return uacce;
err_with_uacce: err_with_uacce:
uacce_disable_sva(uacce);
kfree(uacce); kfree(uacce);
return ERR_PTR(ret); return ERR_PTR(ret);
} }
@ -596,9 +568,6 @@ void uacce_remove(struct uacce_device *uacce)
unmap_mapping_range(q->mapping, 0, 0, 1); unmap_mapping_range(q->mapping, 0, 0, 1);
} }
/* disable sva now since no opened queues */
uacce_disable_sva(uacce);
if (uacce->cdev) if (uacce->cdev)
cdev_device_del(uacce->cdev, &uacce->dev); cdev_device_del(uacce->cdev, &uacce->dev);
xa_erase(&uacce_xa, uacce->dev_id); xa_erase(&uacce_xa, uacce->dev_id);