Add support to get microcode information in VF from PF via mailbox
message.

Signed-off-by: Nagadheeraj Rottela <rnagadhee...@marvell.com>
Reviewed-by: Srikanth Jampala <jsrika...@marvell.com>
---
 drivers/crypto/cavium/nitrox/nitrox_dev.h | 15 +++++++++++++++
 drivers/crypto/cavium/nitrox/nitrox_mbx.c |  8 ++++++++
 2 files changed, 23 insertions(+)

diff --git a/drivers/crypto/cavium/nitrox/nitrox_dev.h 
b/drivers/crypto/cavium/nitrox/nitrox_dev.h
index 2217a2736c8e..c2d0c23fb81b 100644
--- a/drivers/crypto/cavium/nitrox/nitrox_dev.h
+++ b/drivers/crypto/cavium/nitrox/nitrox_dev.h
@@ -109,6 +109,13 @@ struct nitrox_q_vector {
        };
 };
 
+enum mcode_type {
+       MCODE_TYPE_INVALID,
+       MCODE_TYPE_AE,
+       MCODE_TYPE_SE_SSL,
+       MCODE_TYPE_SE_IPSEC,
+};
+
 /**
  * mbox_msg - Mailbox message data
  * @type: message type
@@ -128,6 +135,14 @@ union mbox_msg {
                u64 chipid: 8;
                u64 vfid: 8;
        } id;
+       struct {
+               u64 type: 2;
+               u64 opcode: 6;
+               u64 count: 4;
+               u64 info: 40;
+               u64 next_se_grp: 3;
+               u64 next_ae_grp: 3;
+       } mcode_info;
 };
 
 /**
diff --git a/drivers/crypto/cavium/nitrox/nitrox_mbx.c 
b/drivers/crypto/cavium/nitrox/nitrox_mbx.c
index 02ee95064841..b51b0449b478 100644
--- a/drivers/crypto/cavium/nitrox/nitrox_mbx.c
+++ b/drivers/crypto/cavium/nitrox/nitrox_mbx.c
@@ -25,6 +25,7 @@ enum mbx_msg_opcode {
        MSG_OP_VF_UP,
        MSG_OP_VF_DOWN,
        MSG_OP_CHIPID_VFID,
+       MSG_OP_MCODE_INFO = 11,
 };
 
 struct pf2vf_work {
@@ -73,6 +74,13 @@ static void pf2vf_send_response(struct nitrox_device *ndev,
                vfdev->nr_queues = 0;
                atomic_set(&vfdev->state, __NDEV_NOT_READY);
                break;
+       case MSG_OP_MCODE_INFO:
+               msg.data = 0;
+               msg.mcode_info.count = 2;
+               msg.mcode_info.info = MCODE_TYPE_SE_SSL | (MCODE_TYPE_AE << 5);
+               msg.mcode_info.next_se_grp = 1;
+               msg.mcode_info.next_ae_grp = 1;
+               break;
        default:
                msg.type = MBX_MSG_TYPE_NOP;
                break;
-- 
2.13.6

Reply via email to