GNU Linux-libre 4.14.290-gnu1
[releases.git] / drivers / net / ethernet / qlogic / qed / qed_debug.h
1 /* QLogic qed NIC Driver
2  * Copyright (c) 2015 QLogic Corporation
3  *
4  * This software is available under the terms of the GNU General Public License
5  * (GPL) Version 2, available from the file COPYING in the main directory of
6  * this source tree.
7  */
8
9 #ifndef _QED_DEBUGFS_H
10 #define _QED_DEBUGFS_H
11
12 enum qed_dbg_features {
13         DBG_FEATURE_GRC,
14         DBG_FEATURE_IDLE_CHK,
15         DBG_FEATURE_MCP_TRACE,
16         DBG_FEATURE_REG_FIFO,
17         DBG_FEATURE_IGU_FIFO,
18         DBG_FEATURE_PROTECTION_OVERRIDE,
19         DBG_FEATURE_FW_ASSERTS,
20         DBG_FEATURE_NUM
21 };
22
23 /* Forward Declaration */
24 struct qed_dev;
25
26 int qed_dbg_grc(struct qed_dev *cdev, void *buffer, u32 *num_dumped_bytes);
27 int qed_dbg_grc_size(struct qed_dev *cdev);
28 int qed_dbg_idle_chk(struct qed_dev *cdev, void *buffer,
29                      u32 *num_dumped_bytes);
30 int qed_dbg_idle_chk_size(struct qed_dev *cdev);
31 int qed_dbg_reg_fifo(struct qed_dev *cdev, void *buffer,
32                      u32 *num_dumped_bytes);
33 int qed_dbg_reg_fifo_size(struct qed_dev *cdev);
34 int qed_dbg_igu_fifo(struct qed_dev *cdev, void *buffer,
35                      u32 *num_dumped_bytes);
36 int qed_dbg_igu_fifo_size(struct qed_dev *cdev);
37 int qed_dbg_protection_override(struct qed_dev *cdev, void *buffer,
38                                 u32 *num_dumped_bytes);
39 int qed_dbg_protection_override_size(struct qed_dev *cdev);
40 int qed_dbg_fw_asserts(struct qed_dev *cdev, void *buffer,
41                        u32 *num_dumped_bytes);
42 int qed_dbg_fw_asserts_size(struct qed_dev *cdev);
43 int qed_dbg_mcp_trace(struct qed_dev *cdev, void *buffer,
44                       u32 *num_dumped_bytes);
45 int qed_dbg_mcp_trace_size(struct qed_dev *cdev);
46 int qed_dbg_all_data(struct qed_dev *cdev, void *buffer);
47 int qed_dbg_all_data_size(struct qed_dev *cdev);
48 u8 qed_get_debug_engine(struct qed_dev *cdev);
49 void qed_set_debug_engine(struct qed_dev *cdev, int engine_number);
50 int qed_dbg_feature(struct qed_dev *cdev, void *buffer,
51                     enum qed_dbg_features feature, u32 *num_dumped_bytes);
52 int qed_dbg_feature_size(struct qed_dev *cdev, enum qed_dbg_features feature);
53
54 void qed_dbg_pf_init(struct qed_dev *cdev);
55 void qed_dbg_pf_exit(struct qed_dev *cdev);
56
57 #endif