X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fcrypto%2Focteontx%2Fotx_cryptodev_mbox.c;h=a884ad6fba9ddb344338c4a657b909b7c5a38101;hb=727758576714ea4de4df01bca53978f321ae323a;hp=a8e51a8e7c2d40a9837ed570d2d37bc4fd447366;hpb=ae50054152d613aecc706408137ebdafef7e4a46;p=dpdk.git diff --git a/drivers/crypto/octeontx/otx_cryptodev_mbox.c b/drivers/crypto/octeontx/otx_cryptodev_mbox.c index a8e51a8e7c..a884ad6fba 100644 --- a/drivers/crypto/octeontx/otx_cryptodev_mbox.c +++ b/drivers/crypto/octeontx/otx_cryptodev_mbox.c @@ -24,6 +24,9 @@ otx_cpt_handle_mbox_intr(struct cpt_vf *cptvf) CPT_LOG_DP_DEBUG("%s: Mailbox msg 0x%lx from PF", cptvf->dev_name, (unsigned int long)mbx.msg); switch (mbx.msg) { + case OTX_CPT_MSG_VF_UP: + cptvf->pf_acked = true; + break; case OTX_CPT_MSG_READY: { otx_cpt_chipid_vfid_t cid; @@ -39,11 +42,19 @@ otx_cpt_handle_mbox_intr(struct cpt_vf *cptvf) case OTX_CPT_MSG_QBIND_GRP: cptvf->pf_acked = true; cptvf->vftype = mbx.data; - CPT_LOG_DP_DEBUG("%s: VF %d type %s group %d", + CPT_LOG_DP_DEBUG("%s: VF %d group %d", cptvf->dev_name, cptvf->vfid, - ((mbx.data == SE_TYPE) ? "SE" : "AE"), cptvf->vfgrp); break; + case OTX_CPT_MSG_PF_TYPE: + cptvf->pf_acked = true; + if (mbx.data == OTX_CPT_PF_TYPE_AE) + cptvf->vftype = OTX_CPT_VF_TYPE_AE; + else if (mbx.data == OTX_CPT_PF_TYPE_SE) + cptvf->vftype = OTX_CPT_VF_TYPE_SE; + else + cptvf->vftype = OTX_CPT_VF_TYPE_INVALID; + break; case OTX_CPT_MBOX_MSG_TYPE_ACK: cptvf->pf_acked = true; break; @@ -116,6 +127,20 @@ otx_cpt_check_pf_ready(struct cpt_vf *cptvf) return 0; } +int +otx_cpt_get_dev_type(struct cpt_vf *cptvf) +{ + struct cpt_mbox mbx = {0, 0}; + + mbx.msg = OTX_CPT_MSG_PF_TYPE; + if (otx_cpt_send_msg_to_pf_timeout(cptvf, &mbx)) { + CPT_LOG_ERR("%s: PF didn't respond to query msg", + cptvf->dev_name); + return 1; + } + return 0; +} + int otx_cpt_send_vq_size_msg(struct cpt_vf *cptvf) {