2 * Copyright (C) 2017 Chelsio Communications. All rights reserved.
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.
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
13 * The full GNU General Public License is included in this distribution in
14 * the file called "COPYING".
18 #ifndef __CUDBG_LIB_H__
19 #define __CUDBG_LIB_H__
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);
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 u32 cudbg_cim_obq_size(struct adapter *padap, int qid);
104 #endif /* __CUDBG_LIB_H__ */