DPDK  23.03.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
rte_mldev_pmd.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (c) 2022 Marvell.
3  */
4 
5 #ifndef RTE_MLDEV_PMD_H
6 #define RTE_MLDEV_PMD_H
7 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #include <stdint.h>
22 
23 #include <rte_common.h>
24 #include <rte_compat.h>
25 #include <rte_mldev.h>
26 #include <rte_mldev_core.h>
27 
33 struct rte_ml_dev_pmd_init_params {
35  uint8_t socket_id;
36 
38  uint64_t private_data_size;
39 };
40 
41 struct rte_ml_dev;
42 
54 __rte_internal
55 struct rte_ml_dev *
56 rte_ml_dev_pmd_get_dev(int16_t dev_id);
57 
69 __rte_internal
70 struct rte_ml_dev *
71 rte_ml_dev_pmd_get_named_dev(const char *name);
72 
87 __rte_internal
88 struct rte_ml_dev *
89 rte_ml_dev_pmd_allocate(const char *name, uint8_t socket_id);
90 
102 __rte_internal
103 int
104 rte_ml_dev_pmd_release(struct rte_ml_dev *dev);
105 
123 __rte_internal
124 struct rte_ml_dev *
125 rte_ml_dev_pmd_create(const char *name, struct rte_device *device,
126  struct rte_ml_dev_pmd_init_params *params);
127 
141 __rte_internal
142 int
143 rte_ml_dev_pmd_destroy(struct rte_ml_dev *mldev);
144 
145 #ifdef __cplusplus
146 }
147 #endif
148 
149 #endif /* RTE_MLDEV_PMD_H */