diff mbox series

crypto: qat - fix arbiter mapping generation algorithm for QAT 402xx

Message ID 20240119161325.12582-1-damian.muszynski@intel.com
State Accepted
Commit e1d54d153fc3e697b841999df7cbad51492def8e
Headers show
Series crypto: qat - fix arbiter mapping generation algorithm for QAT 402xx | expand

Commit Message

Damian Muszynski Jan. 19, 2024, 4:12 p.m. UTC
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 <damian.muszynski@intel.com>
Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
---
 drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c | 1 +
 1 file changed, 1 insertion(+)


base-commit: 71518f53f4c3c3fadafdf3af86c98fa4c6ca1abc

Comments

Herbert Xu Jan. 26, 2024, 9:06 a.m. UTC | #1
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 <damian.muszynski@intel.com>
> Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
> ---
>  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.
Herbert Xu Jan. 26, 2024, 9:06 a.m. UTC | #2
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,
Herbert Xu Feb. 20, 2024, 8:49 a.m. UTC | #3
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?

Thanks,
diff mbox series

Patch

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;