xref: /dpdk/drivers/ml/cnxk/mvtvm_ml_dev.h (revision 48c6081ab4b34e8d5fb908716b8cd701f1da9b59)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (c) 2023 Marvell.
3  */
4 
5 #ifndef _MVTVM_ML_DEV_H_
6 #define _MVTVM_ML_DEV_H_
7 
8 #include <rte_mldev_core.h>
9 
10 /* Device status */
11 extern int cnxk_ml_dev_initialized;
12 
13 /* CNXK Device ops */
14 extern struct rte_ml_dev_ops cnxk_ml_ops;
15 
16 /* Marvell MVTVM ML PMD device name */
17 #define MLDEV_NAME_MVTVM_PMD ml_mvtvm
18 
19 /* Maximum number of descriptors per queue-pair */
20 #define ML_MVTVM_MAX_DESC_PER_QP 1024
21 
22 /* Maximum number of inputs / outputs per model */
23 #define ML_MVTVM_MAX_INPUT_OUTPUT 32
24 
25 /* Maximum number of segments for IO data */
26 #define ML_MVTVM_MAX_SEGMENTS 1
27 
28 /* Device private data */
29 struct mvtvm_ml_dev {
30 	/* Virtual device */
31 	struct rte_vdev_device *vdev;
32 
33 	/* Maximum number of queue pairs */
34 	uint16_t max_nb_qpairs;
35 
36 	/* Enable / disable model data caching */
37 	int cache_model_data;
38 };
39 
40 #endif /* _MVTVM_ML_DEV_H_ */
41