xref: /dpdk/drivers/common/cnxk/cnxk_telemetry.h (revision 349cca75f6e0ed15cccaf8a4e30c1a4745c2b2e6)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2021 Marvell.
3  */
4 
5 #ifndef __CNXK_TELEMETRY_H_
6 #define __CNXK_TELEMETRY_H_
7 
8 #define CNXK_TEL_STR(s)		  #s
9 #define CNXK_TEL_STR_PREFIX(s, p) CNXK_TEL_STR(p##s)
10 #define CNXK_TEL_DICT_INT(d, p, s, ...)                                        \
11 	plt_tel_data_add_dict_int(d, CNXK_TEL_STR_PREFIX(s, __VA_ARGS__),      \
12 				  (p)->s)
13 #define CNXK_TEL_DICT_PTR(d, p, s, ...)                                        \
14 	plt_tel_data_add_dict_ptr(d, CNXK_TEL_STR_PREFIX(s, __VA_ARGS__),      \
15 				  (void *)(p)->s)
16 #define CNXK_TEL_DICT_BF_PTR(d, p, s, ...)                                     \
17 	plt_tel_data_add_dict_ptr(d, CNXK_TEL_STR_PREFIX(s, __VA_ARGS__),      \
18 				  (void *)(uint64_t)(p)->s)
19 #define CNXK_TEL_DICT_U64(d, p, s, ...)                                        \
20 	plt_tel_data_add_dict_u64(d, CNXK_TEL_STR_PREFIX(s, __VA_ARGS__),      \
21 				  (p)->s)
22 #define CNXK_TEL_DICT_STR(d, p, s, ...)                                        \
23 	plt_tel_data_add_dict_string(d, CNXK_TEL_STR_PREFIX(s, __VA_ARGS__),   \
24 				     (p)->s)
25 
26 #endif /* __CNXK_TELEMETRY_H_ */
27