Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

crypto: octeontx2 - Rework how engine group number is obtained

By default, otx2_cpt_get_kcrypto_eng_grp_num() returns the engine group
number of SE engine type. Add an engine type parameter to support
retrieving the engine group number for different engine types.

Since otx2_cpt_get_kcrypto_eng_grp_num() always returns the kernel crypto
engine group number, rename it to otx2_cpt_get_eng_grp_num().

Signed-off-by: Amit Singh Tomar <amitsinght@marvell.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Amit Singh Tomar and committed by
Herbert Xu
fbfe4f47 71203f68

+28 -13
+2 -1
drivers/crypto/marvell/octeontx2/otx2_cpt_reqmgr.h
··· 555 555 int otx2_cpt_do_request(struct pci_dev *pdev, struct otx2_cpt_req_info *req, 556 556 int cpu_num); 557 557 void otx2_cpt_post_process(struct otx2_cptlf_wqe *wqe); 558 - int otx2_cpt_get_kcrypto_eng_grp_num(struct pci_dev *pdev); 558 + int otx2_cpt_get_eng_grp_num(struct pci_dev *pdev, 559 + enum otx2_cpt_eng_type); 559 560 560 561 #endif /* __OTX2_CPT_REQMGR_H */
+1 -1
drivers/crypto/marvell/octeontx2/otx2_cptlf.h
··· 124 124 struct cpt_hw_ops *ops; 125 125 u8 are_lfs_attached; /* Whether CPT LFs are attached */ 126 126 u8 lfs_num; /* Number of CPT LFs */ 127 - u8 kcrypto_eng_grp_num; /* Kernel crypto engine group number */ 127 + u8 kcrypto_se_eng_grp_num; /* Crypto symmetric engine group number */ 128 128 u8 kvf_limits; /* Kernel crypto limits */ 129 129 atomic_t state; /* LF's state. started/reset */ 130 130 int blkaddr; /* CPT blkaddr: BLKADDR_CPT0/BLKADDR_CPT1 */
+4 -2
drivers/crypto/marvell/octeontx2/otx2_cptvf_algs.c
··· 384 384 req_info->req_type = OTX2_CPT_ENC_DEC_REQ; 385 385 req_info->is_enc = enc; 386 386 req_info->is_trunc_hmac = false; 387 - req_info->ctrl.s.grp = otx2_cpt_get_kcrypto_eng_grp_num(pdev); 387 + req_info->ctrl.s.grp = otx2_cpt_get_eng_grp_num(pdev, 388 + OTX2_CPT_SE_TYPES); 388 389 389 390 req_info->req.cptr = ctx->er_ctx.hw_ctx; 390 391 req_info->req.cptr_dma = ctx->er_ctx.cptr_dma; ··· 1289 1288 if (status) 1290 1289 return status; 1291 1290 1292 - req_info->ctrl.s.grp = otx2_cpt_get_kcrypto_eng_grp_num(pdev); 1291 + req_info->ctrl.s.grp = otx2_cpt_get_eng_grp_num(pdev, 1292 + OTX2_CPT_SE_TYPES); 1293 1293 1294 1294 /* 1295 1295 * We perform an asynchronous send and once
+7 -6
drivers/crypto/marvell/octeontx2/otx2_cptvf_main.c
··· 265 265 u8 eng_grp_msk; 266 266 267 267 /* Get engine group number for symmetric crypto */ 268 - cptvf->lfs.kcrypto_eng_grp_num = OTX2_CPT_INVALID_CRYPTO_ENG_GRP; 268 + cptvf->lfs.kcrypto_se_eng_grp_num = OTX2_CPT_INVALID_CRYPTO_ENG_GRP; 269 269 ret = otx2_cptvf_send_eng_grp_num_msg(cptvf, OTX2_CPT_SE_TYPES); 270 270 if (ret) 271 271 return ret; 272 272 273 - if (cptvf->lfs.kcrypto_eng_grp_num == OTX2_CPT_INVALID_CRYPTO_ENG_GRP) { 274 - dev_err(dev, "Engine group for kernel crypto not available\n"); 275 - ret = -ENOENT; 276 - return ret; 273 + if (cptvf->lfs.kcrypto_se_eng_grp_num == 274 + OTX2_CPT_INVALID_CRYPTO_ENG_GRP) { 275 + dev_err(dev, 276 + "Symmetric Engine group for crypto not available\n"); 277 + return -ENOENT; 277 278 } 278 - eng_grp_msk = 1 << cptvf->lfs.kcrypto_eng_grp_num; 279 + eng_grp_msk = 1 << cptvf->lfs.kcrypto_se_eng_grp_num; 279 280 280 281 ret = otx2_cptvf_send_kvf_limits_msg(cptvf); 281 282 if (ret)
+4 -1
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
··· 75 75 struct otx2_cpt_caps_rsp *eng_caps; 76 76 struct cpt_rd_wr_reg_msg *rsp_reg; 77 77 struct msix_offset_rsp *rsp_msix; 78 + u8 grp_num; 78 79 int i; 79 80 80 81 if (msg->id >= MBOX_MSG_MAX) { ··· 123 122 break; 124 123 case MBOX_MSG_GET_ENG_GRP_NUM: 125 124 rsp_grp = (struct otx2_cpt_egrp_num_rsp *) msg; 126 - cptvf->lfs.kcrypto_eng_grp_num = rsp_grp->eng_grp_num; 125 + grp_num = rsp_grp->eng_grp_num; 126 + if (rsp_grp->eng_type == OTX2_CPT_SE_TYPES) 127 + cptvf->lfs.kcrypto_se_eng_grp_num = grp_num; 127 128 break; 128 129 case MBOX_MSG_GET_KVF_LIMITS: 129 130 rsp_limits = (struct otx2_cpt_kvf_limits_rsp *) msg;
+10 -2
drivers/crypto/marvell/octeontx2/otx2_cptvf_reqmgr.c
··· 391 391 &wqe->lfs->lf[wqe->lf_num].pqueue); 392 392 } 393 393 394 - int otx2_cpt_get_kcrypto_eng_grp_num(struct pci_dev *pdev) 394 + int otx2_cpt_get_eng_grp_num(struct pci_dev *pdev, 395 + enum otx2_cpt_eng_type eng_type) 395 396 { 396 397 struct otx2_cptvf_dev *cptvf = pci_get_drvdata(pdev); 397 398 398 - return cptvf->lfs.kcrypto_eng_grp_num; 399 + switch (eng_type) { 400 + case OTX2_CPT_SE_TYPES: 401 + return cptvf->lfs.kcrypto_se_eng_grp_num; 402 + default: 403 + dev_err(&cptvf->pdev->dev, "Unsupported engine type"); 404 + break; 405 + } 406 + return -ENXIO; 399 407 }