MCPcopy Create free account
hub / github.com/F-Stack/f-stack / mvtvm_mldev_parse_devargs

Function mvtvm_mldev_parse_devargs

dpdk/drivers/ml/cnxk/mvtvm_ml_dev.c:53–114  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

51}
52
53static int
54mvtvm_mldev_parse_devargs(const char *args, struct mvtvm_ml_dev *mvtvm_mldev)
55{
56 bool cache_model_data_set = false;
57 struct rte_kvargs *kvlist = NULL;
58 bool max_qps_set = false;
59 int ret = 0;
60
61 if (args == NULL)
62 goto check_args;
63
64 kvlist = rte_kvargs_parse(args, valid_args);
65 if (kvlist == NULL) {
66 plt_err("Error parsing %s devargs\n", "MLDEV_NAME_MVTVM_PMD");
67 return -EINVAL;
68 }
69
70 if (rte_kvargs_count(kvlist, MVTVM_ML_DEV_MAX_QPS) == 1) {
71 ret = rte_kvargs_process(kvlist, MVTVM_ML_DEV_MAX_QPS, &parse_uint_arg,
72 &mvtvm_mldev->max_nb_qpairs);
73 if (ret < 0) {
74 plt_err("Error processing arguments, key = %s\n", MVTVM_ML_DEV_MAX_QPS);
75 ret = -EINVAL;
76 goto exit;
77 }
78 max_qps_set = true;
79 }
80
81 if (rte_kvargs_count(kvlist, MVTVM_ML_DEV_CACHE_MODEL_DATA) == 1) {
82 ret = rte_kvargs_process(kvlist, MVTVM_ML_DEV_CACHE_MODEL_DATA, &parse_integer_arg,
83 &mvtvm_mldev->cache_model_data);
84 if (ret < 0) {
85 plt_err("Error processing arguments, key = %s\n",
86 MVTVM_ML_DEV_CACHE_MODEL_DATA);
87 ret = -EINVAL;
88 goto exit;
89 }
90 cache_model_data_set = true;
91 }
92
93check_args:
94 if (!max_qps_set)
95 mvtvm_mldev->max_nb_qpairs = MVTVM_ML_DEV_MAX_QPS_DEFAULT;
96 plt_ml_dbg("ML: %s = %u", MVTVM_ML_DEV_MAX_QPS, mvtvm_mldev->max_nb_qpairs);
97
98 if (!cache_model_data_set) {
99 mvtvm_mldev->cache_model_data = CN10K_ML_DEV_CACHE_MODEL_DATA_DEFAULT;
100 } else {
101 if ((mvtvm_mldev->cache_model_data < 0) || (mvtvm_mldev->cache_model_data > 1)) {
102 plt_err("Invalid argument, %s = %d\n", MVTVM_ML_DEV_CACHE_MODEL_DATA,
103 mvtvm_mldev->cache_model_data);
104 ret = -EINVAL;
105 goto exit;
106 }
107 }
108 plt_ml_dbg("ML: %s = %d", MVTVM_ML_DEV_CACHE_MODEL_DATA, mvtvm_mldev->cache_model_data);
109
110exit:

Callers 1

mvtvm_ml_vdev_probeFunction · 0.85

Calls 4

rte_kvargs_parseFunction · 0.85
rte_kvargs_countFunction · 0.85
rte_kvargs_processFunction · 0.85
rte_kvargs_freeFunction · 0.85

Tested by

no test coverage detected