2022-04-05 15:03:20

by Robin Murphy

[permalink] [raw]
Subject: [PATCH] crypto: qat - stop using iommu_present()

Even if an IOMMU might be present for some PCI segment in the system,
that doesn't necessarily mean it provides translation for the device
we care about. Replace iommu_present() with a more appropriate check.

Signed-off-by: Robin Murphy <[email protected]>
---
drivers/crypto/qat/qat_common/adf_sriov.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/crypto/qat/qat_common/adf_sriov.c b/drivers/crypto/qat/qat_common/adf_sriov.c
index b960bca1f9d2..7f9c18dc4540 100644
--- a/drivers/crypto/qat/qat_common/adf_sriov.c
+++ b/drivers/crypto/qat/qat_common/adf_sriov.c
@@ -3,7 +3,6 @@
#include <linux/workqueue.h>
#include <linux/pci.h>
#include <linux/device.h>
-#include <linux/iommu.h>
#include "adf_common_drv.h"
#include "adf_cfg.h"
#include "adf_pfvf_pf_msg.h"
@@ -176,7 +175,7 @@ int adf_sriov_configure(struct pci_dev *pdev, int numvfs)
return -EFAULT;
}

- if (!iommu_present(&pci_bus_type))
+ if (!device_iommu_mapped(&pdev->dev))
dev_warn(&pdev->dev, "IOMMU should be enabled for SR-IOV to work correctly\n");

if (accel_dev->pf.vf_info) {
--
2.28.0.dirty


2022-04-11 00:38:10

by Giovanni Cabiddu

[permalink] [raw]
Subject: Re: [PATCH] crypto: qat - stop using iommu_present()

On Tue, Apr 05, 2022 at 01:25:11PM +0100, Robin Murphy wrote:
> Even if an IOMMU might be present for some PCI segment in the system,
> that doesn't necessarily mean it provides translation for the device
> we care about. Replace iommu_present() with a more appropriate check.
>
> Signed-off-by: Robin Murphy <[email protected]>
> ---
> drivers/crypto/qat/qat_common/adf_sriov.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/crypto/qat/qat_common/adf_sriov.c b/drivers/crypto/qat/qat_common/adf_sriov.c
> index b960bca1f9d2..7f9c18dc4540 100644
> --- a/drivers/crypto/qat/qat_common/adf_sriov.c
> +++ b/drivers/crypto/qat/qat_common/adf_sriov.c
> @@ -3,7 +3,6 @@
> #include <linux/workqueue.h>
> #include <linux/pci.h>
> #include <linux/device.h>
> -#include <linux/iommu.h>
> #include "adf_common_drv.h"
> #include "adf_cfg.h"
> #include "adf_pfvf_pf_msg.h"
> @@ -176,7 +175,7 @@ int adf_sriov_configure(struct pci_dev *pdev, int numvfs)
> return -EFAULT;
> }
>
> - if (!iommu_present(&pci_bus_type))
> + if (!device_iommu_mapped(&pdev->dev))
> dev_warn(&pdev->dev, "IOMMU should be enabled for SR-IOV to work correctly\n");
>
> if (accel_dev->pf.vf_info) {
> --
> 2.28.0.dirty
>
I tried this patch and it appears to work as expected.

Acked-by: Giovanni Cabiddu <[email protected]>

Regards,

--
Giovanni

2022-04-16 02:01:23

by Herbert Xu

[permalink] [raw]
Subject: Re: [PATCH] crypto: qat - stop using iommu_present()

On Tue, Apr 05, 2022 at 01:25:11PM +0100, Robin Murphy wrote:
> Even if an IOMMU might be present for some PCI segment in the system,
> that doesn't necessarily mean it provides translation for the device
> we care about. Replace iommu_present() with a more appropriate check.
>
> Signed-off-by: Robin Murphy <[email protected]>
> ---
> drivers/crypto/qat/qat_common/adf_sriov.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)

Patch applied. Thanks.
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt