18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ 28c2ecf20Sopenharmony_ci/* QLogic qed NIC Driver 38c2ecf20Sopenharmony_ci * Copyright (c) 2015 QLogic Corporation 48c2ecf20Sopenharmony_ci * Copyright (c) 2019-2020 Marvell International Ltd. 58c2ecf20Sopenharmony_ci */ 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#ifndef _QED_DEBUGFS_H 88c2ecf20Sopenharmony_ci#define _QED_DEBUGFS_H 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_cienum qed_dbg_features { 118c2ecf20Sopenharmony_ci DBG_FEATURE_GRC, 128c2ecf20Sopenharmony_ci DBG_FEATURE_IDLE_CHK, 138c2ecf20Sopenharmony_ci DBG_FEATURE_MCP_TRACE, 148c2ecf20Sopenharmony_ci DBG_FEATURE_REG_FIFO, 158c2ecf20Sopenharmony_ci DBG_FEATURE_IGU_FIFO, 168c2ecf20Sopenharmony_ci DBG_FEATURE_PROTECTION_OVERRIDE, 178c2ecf20Sopenharmony_ci DBG_FEATURE_FW_ASSERTS, 188c2ecf20Sopenharmony_ci DBG_FEATURE_ILT, 198c2ecf20Sopenharmony_ci DBG_FEATURE_NUM 208c2ecf20Sopenharmony_ci}; 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci/* Forward Declaration */ 238c2ecf20Sopenharmony_cistruct qed_dev; 248c2ecf20Sopenharmony_cistruct qed_hwfn; 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ciint qed_dbg_grc(struct qed_dev *cdev, void *buffer, u32 *num_dumped_bytes); 278c2ecf20Sopenharmony_ciint qed_dbg_grc_size(struct qed_dev *cdev); 288c2ecf20Sopenharmony_ciint qed_dbg_idle_chk(struct qed_dev *cdev, void *buffer, 298c2ecf20Sopenharmony_ci u32 *num_dumped_bytes); 308c2ecf20Sopenharmony_ciint qed_dbg_idle_chk_size(struct qed_dev *cdev); 318c2ecf20Sopenharmony_ciint qed_dbg_reg_fifo(struct qed_dev *cdev, void *buffer, 328c2ecf20Sopenharmony_ci u32 *num_dumped_bytes); 338c2ecf20Sopenharmony_ciint qed_dbg_reg_fifo_size(struct qed_dev *cdev); 348c2ecf20Sopenharmony_ciint qed_dbg_igu_fifo(struct qed_dev *cdev, void *buffer, 358c2ecf20Sopenharmony_ci u32 *num_dumped_bytes); 368c2ecf20Sopenharmony_ciint qed_dbg_igu_fifo_size(struct qed_dev *cdev); 378c2ecf20Sopenharmony_ciint qed_dbg_protection_override(struct qed_dev *cdev, void *buffer, 388c2ecf20Sopenharmony_ci u32 *num_dumped_bytes); 398c2ecf20Sopenharmony_ciint qed_dbg_protection_override_size(struct qed_dev *cdev); 408c2ecf20Sopenharmony_ciint qed_dbg_fw_asserts(struct qed_dev *cdev, void *buffer, 418c2ecf20Sopenharmony_ci u32 *num_dumped_bytes); 428c2ecf20Sopenharmony_ciint qed_dbg_fw_asserts_size(struct qed_dev *cdev); 438c2ecf20Sopenharmony_ciint qed_dbg_ilt(struct qed_dev *cdev, void *buffer, u32 *num_dumped_bytes); 448c2ecf20Sopenharmony_ciint qed_dbg_ilt_size(struct qed_dev *cdev); 458c2ecf20Sopenharmony_ciint qed_dbg_mcp_trace(struct qed_dev *cdev, void *buffer, 468c2ecf20Sopenharmony_ci u32 *num_dumped_bytes); 478c2ecf20Sopenharmony_ciint qed_dbg_mcp_trace_size(struct qed_dev *cdev); 488c2ecf20Sopenharmony_ciint qed_dbg_all_data(struct qed_dev *cdev, void *buffer); 498c2ecf20Sopenharmony_ciint qed_dbg_all_data_size(struct qed_dev *cdev); 508c2ecf20Sopenharmony_ciu8 qed_get_debug_engine(struct qed_dev *cdev); 518c2ecf20Sopenharmony_civoid qed_set_debug_engine(struct qed_dev *cdev, int engine_number); 528c2ecf20Sopenharmony_ciint qed_dbg_feature(struct qed_dev *cdev, void *buffer, 538c2ecf20Sopenharmony_ci enum qed_dbg_features feature, u32 *num_dumped_bytes); 548c2ecf20Sopenharmony_ciint qed_dbg_feature_size(struct qed_dev *cdev, enum qed_dbg_features feature); 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_civoid qed_dbg_pf_init(struct qed_dev *cdev); 578c2ecf20Sopenharmony_civoid qed_dbg_pf_exit(struct qed_dev *cdev); 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci#endif 60