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