14c023b6eSSrujana Challa /* SPDX-License-Identifier: BSD-3-Clause 24c023b6eSSrujana Challa * Copyright(C) 2021 Marvell. 34c023b6eSSrujana Challa */ 44c023b6eSSrujana Challa 592cb1309SAkhil Goyal #include <cryptodev_pmd.h> 64c023b6eSSrujana Challa #include <rte_malloc.h> 74c023b6eSSrujana Challa #include <rte_security.h> 84c023b6eSSrujana Challa #include <rte_security_driver.h> 94c023b6eSSrujana Challa 1069407e79SAnoob Joseph #include "cnxk_cryptodev_capabilities.h" 114c023b6eSSrujana Challa #include "cnxk_cryptodev_sec.h" 124c023b6eSSrujana Challa 134c023b6eSSrujana Challa /* Common security ops */ 144c023b6eSSrujana Challa struct rte_security_ops cnxk_sec_ops = { 154c023b6eSSrujana Challa .session_create = NULL, 164c023b6eSSrujana Challa .session_destroy = NULL, 174c023b6eSSrujana Challa .session_get_size = NULL, 18*34d405bfSAnkur Dwivedi .session_stats_get = NULL, 194c023b6eSSrujana Challa .set_pkt_metadata = NULL, 2069407e79SAnoob Joseph .capabilities_get = cnxk_crypto_sec_capabilities_get 214c023b6eSSrujana Challa }; 224c023b6eSSrujana Challa 234c023b6eSSrujana Challa int cnxk_crypto_sec_ctx_create(struct rte_cryptodev * cdev)244c023b6eSSrujana Challacnxk_crypto_sec_ctx_create(struct rte_cryptodev *cdev) 254c023b6eSSrujana Challa { 264c023b6eSSrujana Challa struct rte_security_ctx *ctx; 274c023b6eSSrujana Challa 284c023b6eSSrujana Challa ctx = rte_malloc("cnxk_cpt_dev_sec_ctx", 294c023b6eSSrujana Challa sizeof(struct rte_security_ctx), 0); 304c023b6eSSrujana Challa 314c023b6eSSrujana Challa if (ctx == NULL) 324c023b6eSSrujana Challa return -ENOMEM; 334c023b6eSSrujana Challa 344c023b6eSSrujana Challa /* Populate ctx */ 354c023b6eSSrujana Challa ctx->device = cdev; 364c023b6eSSrujana Challa ctx->ops = &cnxk_sec_ops; 374c023b6eSSrujana Challa ctx->sess_cnt = 0; 384c023b6eSSrujana Challa 394c023b6eSSrujana Challa cdev->security_ctx = ctx; 404c023b6eSSrujana Challa 414c023b6eSSrujana Challa return 0; 424c023b6eSSrujana Challa } 434c023b6eSSrujana Challa 444c023b6eSSrujana Challa void cnxk_crypto_sec_ctx_destroy(struct rte_cryptodev * cdev)454c023b6eSSrujana Challacnxk_crypto_sec_ctx_destroy(struct rte_cryptodev *cdev) 464c023b6eSSrujana Challa { 474c023b6eSSrujana Challa rte_free(cdev->security_ctx); 484c023b6eSSrujana Challa } 49