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:
parent
853b01b5ef
commit
ec027bf7e8
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user