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