common/cnxk: allow building for generic arm64
[dpdk.git] / drivers / common / cnxk / cnxk_telemetry_sso.c
1
2 /* SPDX-License-Identifier: BSD-3-Clause
3  * Copyright(C) 2021 Marvell.
4  */
5
6 #include <unistd.h>
7
8 #include "cnxk_telemetry.h"
9 #include "roc_api.h"
10 #include "roc_priv.h"
11
12 static int
13 cnxk_tel_sso(struct plt_tel_data *d)
14 {
15         struct roc_sso *roc_sso;
16         struct sso *sso;
17
18         roc_sso = idev_sso_get();
19         if (roc_sso == NULL)
20                 return SSO_ERR_DEVICE_NOT_BOUNDED;
21
22         sso = roc_sso_to_sso_priv(roc_sso);
23         plt_tel_data_add_dict_ptr(d, "roc_sso", roc_sso);
24         plt_tel_data_add_dict_ptr(d, "sso", sso);
25         plt_tel_data_add_dict_int(d, "max_hws", roc_sso->max_hws);
26         plt_tel_data_add_dict_int(d, "max_hwgrp", roc_sso->max_hwgrp);
27         plt_tel_data_add_dict_int(d, "nb_hws", roc_sso->nb_hws);
28         plt_tel_data_add_dict_int(d, "nb_hwgrp", roc_sso->nb_hwgrp);
29         plt_tel_data_add_dict_int(d, "pf_func", sso->dev.pf_func);
30         plt_tel_data_add_dict_int(d, "pid", getpid());
31
32         return 0;
33 }
34
35 static int
36 cnxk_sso_tel_handle_info(const char *cmd __plt_unused,
37                          const char *params __plt_unused,
38                          struct plt_tel_data *d)
39 {
40         plt_tel_data_start_dict(d);
41         cnxk_tel_sso(d);
42         return 0;
43 }
44
45 PLT_INIT(cnxk_telemetry_sso_init)
46 {
47         plt_telemetry_register_cmd(
48                 "/cnxk/sso/info", cnxk_sso_tel_handle_info,
49                 "Returns sso information. Takes no parameters");
50 }