Commit 47865d31 authored by Kai Ye's avatar Kai Ye Committed by Zheng Zengkai
Browse files

uacce: add print information if not enable sva

mainline inclusion
from mainline-master
commit 762b296b
category: bugfix
bugzilla: 173981
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=762b296bcbbc7344752ebf3a25583cf38f8adbdc



----------------------------------------------------------------------

Add print information necessary if user not enable sva.

Signed-off-by: default avatarKai Ye <yekai13@huawei.com>
Link: https://lore.kernel.org/r/1623233345-8765-1-git-send-email-yekai13@huawei.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarMingqiang Ling <lingmingqiang@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parent 8f15dcc0
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -387,15 +387,22 @@ static void uacce_release(struct device *dev)

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;

	if (iommu_dev_enable_feature(parent, IOMMU_DEV_FEAT_IOPF))
	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;
	}

	if (iommu_dev_enable_feature(parent, IOMMU_DEV_FEAT_SVA)) {
	ret = iommu_dev_enable_feature(parent, IOMMU_DEV_FEAT_SVA);
	if (ret) {
		dev_err(parent, "failed to enable SVA feature! ret = %pe\n", ERR_PTR(ret));
		iommu_dev_disable_feature(parent, IOMMU_DEV_FEAT_IOPF);
		return flags;
	}