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 <phema...@marvell.com>
Reviewed-by: Srikanth Jampala <jsrika...@marvell.com>

---
 drivers/crypto/cavium/nitrox/nitrox_main.c | 9 ++++-----
 1 file 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
-- 
2.17.2

Reply via email to