From 880bc71de1c02fb2248adeb5d94a31819c280b44 Mon Sep 17 00:00:00 2001 From: Tejasree Kondoj Date: Fri, 31 Jul 2020 19:21:53 +0530 Subject: [PATCH] crypto/octeontx2: check cpt kernel driver version This patch checks if cpt pmd is compatible with kernel cpt driver. Signed-off-by: Ankur Dwivedi Signed-off-by: Tejasree Kondoj Acked-by: Anoob Joseph --- drivers/crypto/octeontx2/otx2_cryptodev.h | 1 + drivers/crypto/octeontx2/otx2_cryptodev_mbox.c | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/drivers/crypto/octeontx2/otx2_cryptodev.h b/drivers/crypto/octeontx2/otx2_cryptodev.h index a00f3d696e..fba7222108 100644 --- a/drivers/crypto/octeontx2/otx2_cryptodev.h +++ b/drivers/crypto/octeontx2/otx2_cryptodev.h @@ -15,6 +15,7 @@ #define OTX2_CPT_MAX_LFS 64 #define OTX2_CPT_MAX_QUEUES_PER_VF 64 +#define OTX2_CPT_PMD_VERSION 3 /** * Device private data diff --git a/drivers/crypto/octeontx2/otx2_cryptodev_mbox.c b/drivers/crypto/octeontx2/otx2_cryptodev_mbox.c index 6028439de3..75e610db5c 100644 --- a/drivers/crypto/octeontx2/otx2_cryptodev_mbox.c +++ b/drivers/crypto/octeontx2/otx2_cryptodev_mbox.c @@ -29,6 +29,13 @@ otx2_cpt_hardware_caps_get(const struct rte_cryptodev *dev, if (ret) return -EIO; + if (rsp->cpt_pf_drv_version != OTX2_CPT_PMD_VERSION) { + otx2_err("Incompatible CPT PMD version" + "(Kernel: 0x%04x DPDK: 0x%04x)", + rsp->cpt_pf_drv_version, OTX2_CPT_PMD_VERSION); + return -EPIPE; + } + memcpy(hw_caps, rsp->eng_caps, sizeof(union cpt_eng_caps) * CPT_MAX_ENG_TYPES); -- 2.20.1