xref: /linux/drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.h (revision 83a37b3292f4aca799b355179ad6fbdd78a08e10)
1 /*
2  *  Copyright (C) 2017 Chelsio Communications.  All rights reserved.
3  *
4  *  This program is free software; you can redistribute it and/or modify it
5  *  under the terms and conditions of the GNU General Public License,
6  *  version 2, as published by the Free Software Foundation.
7  *
8  *  This program is distributed in the hope it will be useful, but WITHOUT
9  *  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10  *  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
11  *  more details.
12  *
13  *  The full GNU General Public License is included in this distribution in
14  *  the file called "COPYING".
15  *
16  */
17 
18 #ifndef __CUDBG_LIB_H__
19 #define __CUDBG_LIB_H__
20 
21 int cudbg_collect_reg_dump(struct cudbg_init *pdbg_init,
22 			   struct cudbg_buffer *dbg_buff,
23 			   struct cudbg_error *cudbg_err);
24 int cudbg_collect_fw_devlog(struct cudbg_init *pdbg_init,
25 			    struct cudbg_buffer *dbg_buff,
26 			    struct cudbg_error *cudbg_err);
27 int cudbg_collect_cim_ibq_tp0(struct cudbg_init *pdbg_init,
28 			      struct cudbg_buffer *dbg_buff,
29 			      struct cudbg_error *cudbg_err);
30 int cudbg_collect_cim_ibq_tp1(struct cudbg_init *pdbg_init,
31 			      struct cudbg_buffer *dbg_buff,
32 			      struct cudbg_error *cudbg_err);
33 int cudbg_collect_cim_ibq_ulp(struct cudbg_init *pdbg_init,
34 			      struct cudbg_buffer *dbg_buff,
35 			      struct cudbg_error *cudbg_err);
36 int cudbg_collect_cim_ibq_sge0(struct cudbg_init *pdbg_init,
37 			       struct cudbg_buffer *dbg_buff,
38 			       struct cudbg_error *cudbg_err);
39 int cudbg_collect_cim_ibq_sge1(struct cudbg_init *pdbg_init,
40 			       struct cudbg_buffer *dbg_buff,
41 			       struct cudbg_error *cudbg_err);
42 int cudbg_collect_cim_ibq_ncsi(struct cudbg_init *pdbg_init,
43 			       struct cudbg_buffer *dbg_buff,
44 			       struct cudbg_error *cudbg_err);
45 int cudbg_collect_cim_obq_ulp0(struct cudbg_init *pdbg_init,
46 			       struct cudbg_buffer *dbg_buff,
47 			       struct cudbg_error *cudbg_err);
48 int cudbg_collect_cim_obq_ulp1(struct cudbg_init *pdbg_init,
49 			       struct cudbg_buffer *dbg_buff,
50 			       struct cudbg_error *cudbg_err);
51 int cudbg_collect_cim_obq_ulp2(struct cudbg_init *pdbg_init,
52 			       struct cudbg_buffer *dbg_buff,
53 			       struct cudbg_error *cudbg_err);
54 int cudbg_collect_cim_obq_ulp3(struct cudbg_init *pdbg_init,
55 			       struct cudbg_buffer *dbg_buff,
56 			       struct cudbg_error *cudbg_err);
57 int cudbg_collect_cim_obq_sge(struct cudbg_init *pdbg_init,
58 			      struct cudbg_buffer *dbg_buff,
59 			      struct cudbg_error *cudbg_err);
60 int cudbg_collect_cim_obq_ncsi(struct cudbg_init *pdbg_init,
61 			       struct cudbg_buffer *dbg_buff,
62 			       struct cudbg_error *cudbg_err);
63 int cudbg_collect_edc0_meminfo(struct cudbg_init *pdbg_init,
64 			       struct cudbg_buffer *dbg_buff,
65 			       struct cudbg_error *cudbg_err);
66 int cudbg_collect_edc1_meminfo(struct cudbg_init *pdbg_init,
67 			       struct cudbg_buffer *dbg_buff,
68 			       struct cudbg_error *cudbg_err);
69 int cudbg_collect_tp_indirect(struct cudbg_init *pdbg_init,
70 			      struct cudbg_buffer *dbg_buff,
71 			      struct cudbg_error *cudbg_err);
72 int cudbg_collect_sge_indirect(struct cudbg_init *pdbg_init,
73 			       struct cudbg_buffer *dbg_buff,
74 			       struct cudbg_error *cudbg_err);
75 int cudbg_collect_obq_sge_rx_q0(struct cudbg_init *pdbg_init,
76 				struct cudbg_buffer *dbg_buff,
77 				struct cudbg_error *cudbg_err);
78 int cudbg_collect_obq_sge_rx_q1(struct cudbg_init *pdbg_init,
79 				struct cudbg_buffer *dbg_buff,
80 				struct cudbg_error *cudbg_err);
81 int cudbg_collect_pcie_indirect(struct cudbg_init *pdbg_init,
82 				struct cudbg_buffer *dbg_buff,
83 				struct cudbg_error *cudbg_err);
84 int cudbg_collect_pm_indirect(struct cudbg_init *pdbg_init,
85 			      struct cudbg_buffer *dbg_buff,
86 			      struct cudbg_error *cudbg_err);
87 int cudbg_collect_ma_indirect(struct cudbg_init *pdbg_init,
88 			      struct cudbg_buffer *dbg_buff,
89 			      struct cudbg_error *cudbg_err);
90 int cudbg_collect_up_cim_indirect(struct cudbg_init *pdbg_init,
91 				  struct cudbg_buffer *dbg_buff,
92 				  struct cudbg_error *cudbg_err);
93 int cudbg_collect_mbox_log(struct cudbg_init *pdbg_init,
94 			   struct cudbg_buffer *dbg_buff,
95 			   struct cudbg_error *cudbg_err);
96 int cudbg_collect_hma_indirect(struct cudbg_init *pdbg_init,
97 			       struct cudbg_buffer *dbg_buff,
98 			       struct cudbg_error *cudbg_err);
99 
100 struct cudbg_entity_hdr *cudbg_get_entity_hdr(void *outbuf, int i);
101 void cudbg_align_debug_buffer(struct cudbg_buffer *dbg_buff,
102 			      struct cudbg_entity_hdr *entity_hdr);
103 #endif /* __CUDBG_LIB_H__ */
104