1/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
2/* QLogic qed NIC Driver
3 * Copyright (c) 2015 QLogic Corporation
4 * Copyright (c) 2019-2021 Marvell International Ltd.
5 */
6
7#ifndef _QED_DEBUG_H
8#define _QED_DEBUG_H
9
10enum qed_dbg_features {
11 DBG_FEATURE_GRC,
12 DBG_FEATURE_IDLE_CHK,
13 DBG_FEATURE_MCP_TRACE,
14 DBG_FEATURE_REG_FIFO,
15 DBG_FEATURE_IGU_FIFO,
16 DBG_FEATURE_PROTECTION_OVERRIDE,
17 DBG_FEATURE_FW_ASSERTS,
18 DBG_FEATURE_ILT,
19 DBG_FEATURE_NUM
20};
21
22/* Forward Declaration */
23struct qed_dev;
24struct qed_hwfn;
25
26int qed_dbg_grc(struct qed_dev *cdev, void *buffer, u32 *num_dumped_bytes);
27int qed_dbg_grc_size(struct qed_dev *cdev);
28int qed_dbg_idle_chk(struct qed_dev *cdev, void *buffer,
29 u32 *num_dumped_bytes);
30int qed_dbg_idle_chk_size(struct qed_dev *cdev);
31int qed_dbg_reg_fifo(struct qed_dev *cdev, void *buffer,
32 u32 *num_dumped_bytes);
33int qed_dbg_reg_fifo_size(struct qed_dev *cdev);
34int qed_dbg_igu_fifo(struct qed_dev *cdev, void *buffer,
35 u32 *num_dumped_bytes);
36int qed_dbg_igu_fifo_size(struct qed_dev *cdev);
37int qed_dbg_protection_override(struct qed_dev *cdev, void *buffer,
38 u32 *num_dumped_bytes);
39int qed_dbg_protection_override_size(struct qed_dev *cdev);
40int qed_dbg_fw_asserts(struct qed_dev *cdev, void *buffer,
41 u32 *num_dumped_bytes);
42int qed_dbg_fw_asserts_size(struct qed_dev *cdev);
43int qed_dbg_ilt(struct qed_dev *cdev, void *buffer, u32 *num_dumped_bytes);
44int qed_dbg_ilt_size(struct qed_dev *cdev);
45int qed_dbg_mcp_trace(struct qed_dev *cdev, void *buffer,
46 u32 *num_dumped_bytes);
47int qed_dbg_mcp_trace_size(struct qed_dev *cdev);
48int qed_dbg_phy_size(struct qed_dev *cdev);
49int qed_dbg_all_data(struct qed_dev *cdev, void *buffer);
50int qed_dbg_all_data_size(struct qed_dev *cdev);
51u8 qed_get_debug_engine(struct qed_dev *cdev);
52void qed_set_debug_engine(struct qed_dev *cdev, int engine_number);
53int qed_dbg_feature(struct qed_dev *cdev, void *buffer,
54 enum qed_dbg_features feature, u32 *num_dumped_bytes);
55int qed_dbg_feature_size(struct qed_dev *cdev, enum qed_dbg_features feature);
56
57void qed_dbg_pf_init(struct qed_dev *cdev);
58void qed_dbg_pf_exit(struct qed_dev *cdev);
59
60#endif
61

source code of linux/drivers/net/ethernet/qlogic/qed/qed_debug.h