Commit 264f590f authored by Giovanni Cabiddu's avatar Giovanni Cabiddu Committed by Herbert Xu
Browse files

crypto: qat - remove hardcoded bank irq clear flag mask



Replace hardcoded value of the bank interrupt clear flag mask with a
value calculated on the fly which is based on the number of rings
present in a bank. This is to support devices that have a number of
rings per bank different than 16.

Signed-off-by: default avatarGiovanni Cabiddu <giovanni.cabiddu@intel.com>
Reviewed-by: default avatarWojciech Ziemba <wojciech.ziemba@intel.com>
Reviewed-by: default avatarFiona Trahe <fiona.trahe@intel.com>
Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 02690ddc
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -374,6 +374,7 @@ static int adf_init_bank(struct adf_accel_dev *accel_dev,
	struct adf_hw_device_data *hw_data = accel_dev->hw_device;
	struct adf_hw_device_data *hw_data = accel_dev->hw_device;
	u8 num_rings_per_bank = hw_data->num_rings_per_bank;
	u8 num_rings_per_bank = hw_data->num_rings_per_bank;
	struct adf_hw_csr_ops *csr_ops = &hw_data->csr_ops;
	struct adf_hw_csr_ops *csr_ops = &hw_data->csr_ops;
	u32 irq_mask = BIT(num_rings_per_bank) - 1;
	struct adf_etr_ring_data *ring;
	struct adf_etr_ring_data *ring;
	struct adf_etr_ring_data *tx_ring;
	struct adf_etr_ring_data *tx_ring;
	u32 i, coalesc_enabled = 0;
	u32 i, coalesc_enabled = 0;
@@ -431,8 +432,7 @@ static int adf_init_bank(struct adf_accel_dev *accel_dev,
		goto err;
		goto err;
	}
	}


	csr_ops->write_csr_int_flag(csr_addr, bank_num,
	csr_ops->write_csr_int_flag(csr_addr, bank_num, irq_mask);
				    ADF_BANK_INT_FLAG_CLEAR_MASK);
	csr_ops->write_csr_int_srcsel(csr_addr, bank_num);
	csr_ops->write_csr_int_srcsel(csr_addr, bank_num);


	return 0;
	return 0;
+0 −1
Original line number Original line Diff line number Diff line
@@ -4,7 +4,6 @@
#define ADF_TRANSPORT_ACCESS_MACROS_H
#define ADF_TRANSPORT_ACCESS_MACROS_H


#include "adf_accel_devices.h"
#include "adf_accel_devices.h"
#define ADF_BANK_INT_FLAG_CLEAR_MASK 0xFFFF
#define ADF_RING_CONFIG_NEAR_FULL_WM 0x0A
#define ADF_RING_CONFIG_NEAR_FULL_WM 0x0A
#define ADF_RING_CONFIG_NEAR_EMPTY_WM 0x05
#define ADF_RING_CONFIG_NEAR_EMPTY_WM 0x05
#define ADF_COALESCING_MIN_TIME 0x1FF
#define ADF_COALESCING_MIN_TIME 0x1FF