summaryrefslogtreecommitdiffstats
path: root/drivers/crypto/cavium/nitrox
diff options
context:
space:
mode:
authorPhani Kiran Hemadri <phemadri@marvell.com>2019-09-20 08:35:19 +0200
committerHerbert Xu <herbert@gondor.apana.org.au>2019-10-04 17:06:20 +0200
commit6a97a99db848748d582d79447f7c9c330ce1688e (patch)
tree34eb510a9db470f4c22a5e53ccab930d4c3018f4 /drivers/crypto/cavium/nitrox
parentcrypto: qce - add CRYPTO_ALG_KERN_DRIVER_ONLY flag (diff)
downloadlinux-6a97a99db848748d582d79447f7c9c330ce1688e.tar.xz
linux-6a97a99db848748d582d79447f7c9c330ce1688e.zip
crypto: cavium/nitrox - fix firmware assignment to AE cores
This patch fixes assigning UCD block number of Asymmetric crypto firmware to AE cores of CNN55XX device. Fixes: a7268c4d4205 ("crypto: cavium/nitrox - Add support for loading asymmetric crypto firmware") Signed-off-by: Phani Kiran Hemadri <phemadri@marvell.com> Reviewed-by: Srikanth Jampala <jsrikanth@marvell.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/cavium/nitrox')
-rw-r--r--drivers/crypto/cavium/nitrox/nitrox_main.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/crypto/cavium/nitrox/nitrox_main.c b/drivers/crypto/cavium/nitrox/nitrox_main.c
index bc924980e10c..c4632d84c9a1 100644
--- a/drivers/crypto/cavium/nitrox/nitrox_main.c
+++ b/drivers/crypto/cavium/nitrox/nitrox_main.c
@@ -103,8 +103,7 @@ static void write_to_ucd_unit(struct nitrox_device *ndev, u32 ucode_size,
offset = UCD_UCODE_LOAD_BLOCK_NUM;
nitrox_write_csr(ndev, offset, block_num);
- code_size = ucode_size;
- code_size = roundup(code_size, 8);
+ code_size = roundup(ucode_size, 16);
while (code_size) {
data = ucode_data[i];
/* write 8 bytes at a time */
@@ -220,11 +219,11 @@ static int nitrox_load_fw(struct nitrox_device *ndev)
/* write block number and firmware length
* bit:<2:0> block number
- * bit:3 is set SE uses 32KB microcode
- * bit:3 is clear SE uses 64KB microcode
+ * bit:3 is set AE uses 32KB microcode
+ * bit:3 is clear AE uses 64KB microcode
*/
core_2_eid_val.value = 0ULL;
- core_2_eid_val.ucode_blk = 0;
+ core_2_eid_val.ucode_blk = 2;
if (ucode_size <= CNN55XX_UCD_BLOCK_SIZE)
core_2_eid_val.ucode_len = 1;
else