2024-01-19 16:32:35

by Damian Muszynski

[permalink] [raw]
Subject: [PATCH] crypto: qat - fix arbiter mapping generation algorithm for QAT 402xx

The commit "crypto: qat - generate dynamically arbiter mappings"
introduced a regression on qat_402xx devices.
This is reported when the driver probes the device, as indicated by
the following error messages:

4xxx 0000:0b:00.0: enabling device (0140 -> 0142)
4xxx 0000:0b:00.0: Generate of the thread to arbiter map failed
4xxx 0000:0b:00.0: Direct firmware load for qat_402xx_mmp.bin failed with error -2

The root cause of this issue was the omission of a necessary function
pointer required by the mapping algorithm during the implementation.
Fix it by adding the missing function pointer.

Fixes: 5da6a2d5353e ("crypto: qat - generate dynamically arbiter mappings")
Signed-off-by: Damian Muszynski <[email protected]>
Reviewed-by: Giovanni Cabiddu <[email protected]>
---
drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c b/drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c
index 479062aa5e6b..94a0ebb03d8c 100644
--- a/drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c
+++ b/drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c
@@ -463,6 +463,7 @@ void adf_init_hw_data_4xxx(struct adf_hw_device_data *hw_data, u32 dev_id)
hw_data->fw_name = ADF_402XX_FW;
hw_data->fw_mmp_name = ADF_402XX_MMP;
hw_data->uof_get_name = uof_get_name_402xx;
+ hw_data->get_ena_thd_mask = get_ena_thd_mask;
break;
case ADF_401XX_PCI_DEVICE_ID:
hw_data->fw_name = ADF_4XXX_FW;

base-commit: 71518f53f4c3c3fadafdf3af86c98fa4c6ca1abc
--
2.43.0



2024-01-19 16:57:46

by Cabiddu, Giovanni

[permalink] [raw]
Subject: Re: [PATCH] crypto: qat - fix arbiter mapping generation algorithm for QAT 402xx

Hi Herbert,

would it be possible to send this as a fix for 6.8?

Thanks,

--
Giovanni

On Fri, Jan 19, 2024 at 05:12:38PM +0100, Damian Muszynski wrote:
> The commit "crypto: qat - generate dynamically arbiter mappings"
> introduced a regression on qat_402xx devices.
> This is reported when the driver probes the device, as indicated by
> the following error messages:
>
> 4xxx 0000:0b:00.0: enabling device (0140 -> 0142)
> 4xxx 0000:0b:00.0: Generate of the thread to arbiter map failed
> 4xxx 0000:0b:00.0: Direct firmware load for qat_402xx_mmp.bin failed with error -2
>
> The root cause of this issue was the omission of a necessary function
> pointer required by the mapping algorithm during the implementation.
> Fix it by adding the missing function pointer.
>
> Fixes: 5da6a2d5353e ("crypto: qat - generate dynamically arbiter mappings")
> Signed-off-by: Damian Muszynski <[email protected]>
> Reviewed-by: Giovanni Cabiddu <[email protected]>
> ---
> drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c b/drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c
> index 479062aa5e6b..94a0ebb03d8c 100644
> --- a/drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c
> +++ b/drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c
> @@ -463,6 +463,7 @@ void adf_init_hw_data_4xxx(struct adf_hw_device_data *hw_data, u32 dev_id)
> hw_data->fw_name = ADF_402XX_FW;
> hw_data->fw_mmp_name = ADF_402XX_MMP;
> hw_data->uof_get_name = uof_get_name_402xx;
> + hw_data->get_ena_thd_mask = get_ena_thd_mask;
> break;
> case ADF_401XX_PCI_DEVICE_ID:
> hw_data->fw_name = ADF_4XXX_FW;
>
> base-commit: 71518f53f4c3c3fadafdf3af86c98fa4c6ca1abc
> --
> 2.43.0
>

2024-01-26 10:03:59

by Herbert Xu

[permalink] [raw]
Subject: Re: [PATCH] crypto: qat - fix arbiter mapping generation algorithm for QAT 402xx

On Fri, Jan 19, 2024 at 05:12:38PM +0100, Damian Muszynski wrote:
> The commit "crypto: qat - generate dynamically arbiter mappings"
> introduced a regression on qat_402xx devices.
> This is reported when the driver probes the device, as indicated by
> the following error messages:
>
> 4xxx 0000:0b:00.0: enabling device (0140 -> 0142)
> 4xxx 0000:0b:00.0: Generate of the thread to arbiter map failed
> 4xxx 0000:0b:00.0: Direct firmware load for qat_402xx_mmp.bin failed with error -2
>
> The root cause of this issue was the omission of a necessary function
> pointer required by the mapping algorithm during the implementation.
> Fix it by adding the missing function pointer.
>
> Fixes: 5da6a2d5353e ("crypto: qat - generate dynamically arbiter mappings")
> Signed-off-by: Damian Muszynski <[email protected]>
> Reviewed-by: Giovanni Cabiddu <[email protected]>
> ---
> drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c b/drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c
> index 479062aa5e6b..94a0ebb03d8c 100644
> --- a/drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c
> +++ b/drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c
> @@ -463,6 +463,7 @@ void adf_init_hw_data_4xxx(struct adf_hw_device_data *hw_data, u32 dev_id)
> hw_data->fw_name = ADF_402XX_FW;
> hw_data->fw_mmp_name = ADF_402XX_MMP;
> hw_data->uof_get_name = uof_get_name_402xx;
> + hw_data->get_ena_thd_mask = get_ena_thd_mask;
> break;
> case ADF_401XX_PCI_DEVICE_ID:
> hw_data->fw_name = ADF_4XXX_FW;
>
> base-commit: 71518f53f4c3c3fadafdf3af86c98fa4c6ca1abc
> --
> 2.43.0

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

2024-01-26 10:12:03

by Herbert Xu

[permalink] [raw]
Subject: Re: [PATCH] crypto: qat - fix arbiter mapping generation algorithm for QAT 402xx

On Fri, Jan 19, 2024 at 04:57:11PM +0000, Cabiddu, Giovanni wrote:
> Hi Herbert,
>
> would it be possible to send this as a fix for 6.8?

Yes I will push it along.

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

2024-02-20 16:40:28

by Cabiddu, Giovanni

[permalink] [raw]
Subject: Re: [PATCH] crypto: qat - fix arbiter mapping generation algorithm for QAT 402xx

Hi Herbert,

On Tue, Feb 20, 2024 at 04:49:43PM +0800, Herbert Xu wrote:
> On Fri, Jan 19, 2024 at 04:57:11PM +0000, Cabiddu, Giovanni wrote:
> > Hi Herbert,
> >
> > would it be possible to send this as a fix for 6.8?
>
> Hi Giovanni:
>
> The firmware file qat_402xx_mmp.bin does not appear in linux-firmware.
> Is it supposed to be there?
The firmware is published to linux-firmware as soon as a new device is
released. QAT 402xx is not released yet.

A version of the firmware for 402xx can be obtained contacting
[email protected] as reported in our documentation [1].

Regards,

[1] https://intel.github.io/quickassist/RN/In-Tree/in_tree_firmware_RN.html#qat-2-0-in-tree-kernel-requirements

--
Giovanni