crypto: qat - set CIPHER capability for QAT GEN2
[ Upstream commit 547bde7bd4
]
Set the CIPHER capability for QAT GEN2 devices if the hardware supports
it. This is done if both the CIPHER and the AUTHENTICATION engines are
available on the device.
Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Signed-off-by: Marco Chiappero <marco.chiappero@intel.com>
Reviewed-by: Fiona Trahe <fiona.trahe@intel.com>
Reviewed-by: Marco Chiappero <marco.chiappero@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Родитель
99ace864e5
Коммит
69f4641ad4
|
@ -161,17 +161,23 @@ u32 adf_gen2_get_accel_cap(struct adf_accel_dev *accel_dev)
|
|||
u32 legfuses;
|
||||
u32 capabilities = ICP_ACCEL_CAPABILITIES_CRYPTO_SYMMETRIC |
|
||||
ICP_ACCEL_CAPABILITIES_CRYPTO_ASYMMETRIC |
|
||||
ICP_ACCEL_CAPABILITIES_AUTHENTICATION;
|
||||
ICP_ACCEL_CAPABILITIES_AUTHENTICATION |
|
||||
ICP_ACCEL_CAPABILITIES_CIPHER;
|
||||
|
||||
/* Read accelerator capabilities mask */
|
||||
pci_read_config_dword(pdev, ADF_DEVICE_LEGFUSE_OFFSET, &legfuses);
|
||||
|
||||
if (legfuses & ICP_ACCEL_MASK_CIPHER_SLICE)
|
||||
/* A set bit in legfuses means the feature is OFF in this SKU */
|
||||
if (legfuses & ICP_ACCEL_MASK_CIPHER_SLICE) {
|
||||
capabilities &= ~ICP_ACCEL_CAPABILITIES_CRYPTO_SYMMETRIC;
|
||||
capabilities &= ~ICP_ACCEL_CAPABILITIES_CIPHER;
|
||||
}
|
||||
if (legfuses & ICP_ACCEL_MASK_PKE_SLICE)
|
||||
capabilities &= ~ICP_ACCEL_CAPABILITIES_CRYPTO_ASYMMETRIC;
|
||||
if (legfuses & ICP_ACCEL_MASK_AUTH_SLICE)
|
||||
if (legfuses & ICP_ACCEL_MASK_AUTH_SLICE) {
|
||||
capabilities &= ~ICP_ACCEL_CAPABILITIES_AUTHENTICATION;
|
||||
capabilities &= ~ICP_ACCEL_CAPABILITIES_CIPHER;
|
||||
}
|
||||
|
||||
if ((straps | fuses) & ADF_POWERGATE_PKE)
|
||||
capabilities &= ~ICP_ACCEL_CAPABILITIES_CRYPTO_ASYMMETRIC;
|
||||
|
|
Загрузка…
Ссылка в новой задаче