Branch data Line data Source code
1 : : /* SPDX-License-Identifier: BSD-3-Clause
2 : : * Copyright(C) 2021 Marvell.
3 : : */
4 : :
5 : : #include "roc_api.h"
6 : : #include "roc_priv.h"
7 : :
8 : : static void
9 : 0 : sso_hws_dump(uintptr_t base, FILE *f)
10 : : {
11 : : fprintf(f, "SSOW_LF_GWS Base addr 0x%" PRIx64 "\n", (uint64_t)base);
12 : 0 : fprintf(f, "SSOW_LF_GWS_LINKS 0x%" PRIx64 "\n",
13 : 0 : plt_read64(base + SSOW_LF_GWS_LINKS));
14 : 0 : fprintf(f, "SSOW_LF_GWS_PENDWQP 0x%" PRIx64 "\n",
15 : 0 : plt_read64(base + SSOW_LF_GWS_PENDWQP));
16 : 0 : fprintf(f, "SSOW_LF_GWS_PENDSTATE 0x%" PRIx64 "\n",
17 : 0 : plt_read64(base + SSOW_LF_GWS_PENDSTATE));
18 : 0 : fprintf(f, "SSOW_LF_GWS_NW_TIM 0x%" PRIx64 "\n",
19 : 0 : plt_read64(base + SSOW_LF_GWS_NW_TIM));
20 : 0 : fprintf(f, "SSOW_LF_GWS_TAG 0x%" PRIx64 "\n",
21 : 0 : plt_read64(base + SSOW_LF_GWS_TAG));
22 : : fprintf(f, "SSOW_LF_GWS_WQP 0x%" PRIx64 "\n",
23 : : plt_read64(base + SSOW_LF_GWS_TAG));
24 : 0 : fprintf(f, "SSOW_LF_GWS_SWTP 0x%" PRIx64 "\n",
25 : 0 : plt_read64(base + SSOW_LF_GWS_SWTP));
26 : 0 : fprintf(f, "SSOW_LF_GWS_PENDTAG 0x%" PRIx64 "\n",
27 : 0 : plt_read64(base + SSOW_LF_GWS_PENDTAG));
28 : 0 : }
29 : :
30 : : static void
31 : 0 : sso_hwgrp_dump(uintptr_t base, FILE *f)
32 : : {
33 : : fprintf(f, "SSO_LF_GGRP Base addr 0x%" PRIx64 "\n", (uint64_t)base);
34 : 0 : fprintf(f, "SSO_LF_GGRP_QCTL 0x%" PRIx64 "\n",
35 : 0 : plt_read64(base + SSO_LF_GGRP_QCTL));
36 : 0 : fprintf(f, "SSO_LF_GGRP_XAQ_CNT 0x%" PRIx64 "\n",
37 : 0 : plt_read64(base + SSO_LF_GGRP_XAQ_CNT));
38 : 0 : fprintf(f, "SSO_LF_GGRP_INT_THR 0x%" PRIx64 "\n",
39 : 0 : plt_read64(base + SSO_LF_GGRP_INT_THR));
40 : 0 : fprintf(f, "SSO_LF_GGRP_INT_CNT 0x%" PRIX64 "\n",
41 : 0 : plt_read64(base + SSO_LF_GGRP_INT_CNT));
42 : 0 : fprintf(f, "SSO_LF_GGRP_AQ_CNT 0x%" PRIX64 "\n",
43 : 0 : plt_read64(base + SSO_LF_GGRP_AQ_CNT));
44 : 0 : fprintf(f, "SSO_LF_GGRP_AQ_THR 0x%" PRIX64 "\n",
45 : 0 : plt_read64(base + SSO_LF_GGRP_AQ_THR));
46 : 0 : fprintf(f, "SSO_LF_GGRP_MISC_CNT 0x%" PRIx64 "\n",
47 : 0 : plt_read64(base + SSO_LF_GGRP_MISC_CNT));
48 : 0 : }
49 : :
50 : : void
51 : 0 : roc_sso_dump(struct roc_sso *roc_sso, uint8_t nb_hws, uint16_t hwgrp, FILE *f)
52 : : {
53 : : struct dev *dev = &roc_sso_to_sso_priv(roc_sso)->dev;
54 : : uintptr_t base;
55 : : int i;
56 : :
57 : : /* Dump SSOW registers */
58 [ # # ]: 0 : for (i = 0; i < nb_hws; i++) {
59 : 0 : base = dev->bar2 + (RVU_BLOCK_ADDR_SSOW << 20 | i << 12);
60 : 0 : sso_hws_dump(base, f);
61 : : }
62 : :
63 : : /* Dump SSO registers */
64 [ # # ]: 0 : for (i = 0; i < hwgrp; i++) {
65 : 0 : base = dev->bar2 + (RVU_BLOCK_ADDR_SSO << 20 | i << 12);
66 : 0 : sso_hwgrp_dump(base, f);
67 : : }
68 : 0 : }
|