1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(C) 2021 Marvell.
5 #include <rte_devargs.h>
7 #include "cnxk_cryptodev.h"
9 #define CNXK_MAX_QPS_LIMIT "max_qps_limit"
10 #define CNXK_MAX_QPS_LIMIT_MIN 1
11 #define CNXK_MAX_QPS_LIMIT_MAX (ROC_CPT_MAX_LFS - 1)
14 parse_max_qps_limit(const char *key, const char *value, void *extra_args)
21 if (val < CNXK_MAX_QPS_LIMIT_MIN || val > CNXK_MAX_QPS_LIMIT_MAX)
24 *(uint16_t *)extra_args = val;
30 cnxk_cpt_parse_devargs(struct rte_devargs *devargs, struct cnxk_cpt_vf *vf)
32 uint16_t max_qps_limit = CNXK_MAX_QPS_LIMIT_MAX;
33 struct rte_kvargs *kvlist;
39 kvlist = rte_kvargs_parse(devargs->args, NULL);
43 rc = rte_kvargs_process(kvlist, CNXK_MAX_QPS_LIMIT,
44 &parse_max_qps_limit, &max_qps_limit);
46 plt_err("max_qps_limit should in the range <%d-%d>",
47 CNXK_MAX_QPS_LIMIT_MIN, CNXK_MAX_QPS_LIMIT_MAX);
48 rte_kvargs_free(kvlist);
51 rte_kvargs_free(kvlist);
54 vf->max_qps_limit = max_qps_limit;
61 RTE_PMD_REGISTER_PARAM_STRING(crypto_cnxk, CNXK_MAX_QPS_LIMIT "=<1-63>");