xref: /dpdk/drivers/common/cnxk/cnxk_telemetry_bphy.c (revision 7ce1032edbf5105c5538f645572def3af7d28707)
1 
2 /* SPDX-License-Identifier: BSD-3-Clause
3  * Copyright(C) 2021 Marvell.
4  */
5 
6 #include "cnxk_telemetry.h"
7 #include "roc_api.h"
8 #include "roc_priv.h"
9 
10 static int
cnxk_tel_bphy(struct plt_tel_data * d)11 cnxk_tel_bphy(struct plt_tel_data *d)
12 {
13 	struct idev_cfg *idev;
14 
15 	idev = idev_get_cfg();
16 	if (!idev || !idev->bphy)
17 		return -ENODEV;
18 
19 	plt_tel_data_add_dict_int(d, "sso_pf_func", roc_bphy_sso_pf_func_get());
20 	plt_tel_data_add_dict_int(d, "npa_pf_func", roc_bphy_npa_pf_func_get());
21 
22 	return 0;
23 }
24 
25 static int
cnxk_bphy_tel_handle_info(const char * cmd __plt_unused,const char * params __plt_unused,struct plt_tel_data * d)26 cnxk_bphy_tel_handle_info(const char *cmd __plt_unused,
27 			  const char *params __plt_unused,
28 			  struct plt_tel_data *d)
29 {
30 	plt_tel_data_start_dict(d);
31 
32 	return cnxk_tel_bphy(d);
33 }
34 
35 static int
cnxk_bphy_telemetry_register(void)36 cnxk_bphy_telemetry_register(void)
37 {
38 	if (!(roc_model->flag & ROC_MODEL_CNF9K) &&
39 	    !(roc_model->flag & ROC_MODEL_CNF10K))
40 		return 0;
41 
42 	plt_telemetry_register_cmd(
43 		"/cnxk/bphy/info", cnxk_bphy_tel_handle_info,
44 		"Returns bphy information. Takes no parameters");
45 
46 	return 0;
47 }
48 
PLT_INIT(cnxk_telemetry_bphy_init)49 PLT_INIT(cnxk_telemetry_bphy_init)
50 {
51 	roc_plt_init_cb_register(cnxk_bphy_telemetry_register);
52 }
53