xref: /dpdk/lib/mldev/mldev_utils.h (revision 65282e9f8e118a4ca977d1aee2d7f51f44e9bc1b)
1fefed7a2SSrikanth Yalavarthi /* SPDX-License-Identifier: BSD-3-Clause
2fefed7a2SSrikanth Yalavarthi  * Copyright (c) 2022 Marvell.
3fefed7a2SSrikanth Yalavarthi  */
4fefed7a2SSrikanth Yalavarthi 
5fefed7a2SSrikanth Yalavarthi #ifndef RTE_MLDEV_UTILS_H
6fefed7a2SSrikanth Yalavarthi #define RTE_MLDEV_UTILS_H
7fefed7a2SSrikanth Yalavarthi 
8fefed7a2SSrikanth Yalavarthi /**
9fefed7a2SSrikanth Yalavarthi  * @file
10fefed7a2SSrikanth Yalavarthi  *
11fefed7a2SSrikanth Yalavarthi  * ML Device PMD utility API
12fefed7a2SSrikanth Yalavarthi  *
13fefed7a2SSrikanth Yalavarthi  * These APIs for the use from ML drivers, user applications shouldn't use them.
14fefed7a2SSrikanth Yalavarthi  */
15fefed7a2SSrikanth Yalavarthi 
16fefed7a2SSrikanth Yalavarthi #include <rte_compat.h>
17fefed7a2SSrikanth Yalavarthi #include <rte_mldev.h>
18fefed7a2SSrikanth Yalavarthi 
19*719834a6SMattias Rönnblom #ifdef __cplusplus
20*719834a6SMattias Rönnblom extern "C" {
21*719834a6SMattias Rönnblom #endif
22*719834a6SMattias Rönnblom 
23fefed7a2SSrikanth Yalavarthi /**
24fefed7a2SSrikanth Yalavarthi  * @internal
25fefed7a2SSrikanth Yalavarthi  *
26fefed7a2SSrikanth Yalavarthi  * Get the size an ML IO type in bytes.
27fefed7a2SSrikanth Yalavarthi  *
28fefed7a2SSrikanth Yalavarthi  * @param[in] type
29fefed7a2SSrikanth Yalavarthi  *	Enumeration of ML IO data type.
30fefed7a2SSrikanth Yalavarthi  *
31fefed7a2SSrikanth Yalavarthi  * @return
32fefed7a2SSrikanth Yalavarthi  *	- > 0, Size of the data type in bytes.
33fefed7a2SSrikanth Yalavarthi  *	- < 0, Error code on failure.
34fefed7a2SSrikanth Yalavarthi  */
35fefed7a2SSrikanth Yalavarthi __rte_internal
36fefed7a2SSrikanth Yalavarthi int
37fefed7a2SSrikanth Yalavarthi rte_ml_io_type_size_get(enum rte_ml_io_type type);
38fefed7a2SSrikanth Yalavarthi 
39fefed7a2SSrikanth Yalavarthi /**
40fefed7a2SSrikanth Yalavarthi  * @internal
41fefed7a2SSrikanth Yalavarthi  *
42fefed7a2SSrikanth Yalavarthi  * Get the name of an ML IO type.
43fefed7a2SSrikanth Yalavarthi  *
44fefed7a2SSrikanth Yalavarthi  * @param[in] type
45fefed7a2SSrikanth Yalavarthi  *	Enumeration of ML IO data type.
46fefed7a2SSrikanth Yalavarthi  * @param[in] str
47fefed7a2SSrikanth Yalavarthi  *	Address of character array.
48fefed7a2SSrikanth Yalavarthi  * @param[in] len
49fefed7a2SSrikanth Yalavarthi  *	Length of character array.
50fefed7a2SSrikanth Yalavarthi  */
51fefed7a2SSrikanth Yalavarthi __rte_internal
52fefed7a2SSrikanth Yalavarthi void
53fefed7a2SSrikanth Yalavarthi rte_ml_io_type_to_str(enum rte_ml_io_type type, char *str, int len);
54fefed7a2SSrikanth Yalavarthi 
55fefed7a2SSrikanth Yalavarthi #ifdef __cplusplus
56fefed7a2SSrikanth Yalavarthi }
57fefed7a2SSrikanth Yalavarthi #endif
58fefed7a2SSrikanth Yalavarthi 
59fefed7a2SSrikanth Yalavarthi #endif /* RTE_MLDEV_UTILS_H */
60