linux/drivers/net/wireless/realtek/rtw89/debug.c

// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/* Copyright(c) 2019-2020  Realtek Corporation
 */

#include <linux/vmalloc.h>

#include "coex.h"
#include "debug.h"
#include "fw.h"
#include "mac.h"
#include "pci.h"
#include "ps.h"
#include "reg.h"
#include "sar.h"

#ifdef CONFIG_RTW89_DEBUGMSG
unsigned int rtw89_debug_mask;
EXPORT_SYMBOL();
module_param_named(debug_mask, rtw89_debug_mask, uint, 0644);
MODULE_PARM_DESC();
#endif

#ifdef CONFIG_RTW89_DEBUGFS
struct rtw89_debugfs_priv {};

struct rtw89_debugfs {};

static const u16 rtw89_rate_info_bw_to_mhz_map[] =;

static u16 rtw89_rate_info_bw_to_mhz(enum rate_info_bw bw)
{}

static int rtw89_debugfs_single_show(struct seq_file *m, void *v)
{}

static ssize_t rtw89_debugfs_single_write(struct file *filp,
					  const char __user *buffer,
					  size_t count, loff_t *loff)
{}

static ssize_t rtw89_debugfs_seq_file_write(struct file *filp,
					    const char __user *buffer,
					    size_t count, loff_t *loff)
{}

static int rtw89_debugfs_single_open(struct inode *inode, struct file *filp)
{}

static int rtw89_debugfs_close(struct inode *inode, struct file *filp)
{}

static const struct file_operations file_ops_single_r =;

static const struct file_operations file_ops_common_rw =;

static const struct file_operations file_ops_single_w =;

static ssize_t
rtw89_debug_priv_read_reg_select(struct file *filp,
				 const char __user *user_buf,
				 size_t count, loff_t *loff)
{}

static int rtw89_debug_priv_read_reg_get(struct seq_file *m, void *v)
{}

static ssize_t rtw89_debug_priv_write_reg_set(struct file *filp,
					      const char __user *user_buf,
					      size_t count, loff_t *loff)
{}

static ssize_t
rtw89_debug_priv_read_rf_select(struct file *filp,
				const char __user *user_buf,
				size_t count, loff_t *loff)
{}

static int rtw89_debug_priv_read_rf_get(struct seq_file *m, void *v)
{}

static ssize_t rtw89_debug_priv_write_rf_set(struct file *filp,
					     const char __user *user_buf,
					     size_t count, loff_t *loff)
{}

static int rtw89_debug_priv_rf_reg_dump_get(struct seq_file *m, void *v)
{}

struct txpwr_ent {};

struct txpwr_map {};

#define __GEN_TXPWR_ENT_NESTED(_e)

#define __GEN_TXPWR_ENT0(_t)

#define __GEN_TXPWR_ENT2(_t, _e0, _e1)

#define __GEN_TXPWR_ENT4(_t, _e0, _e1, _e2, _e3)

#define __GEN_TXPWR_ENT8(_t, _e0, _e1, _e2, _e3, _e4, _e5, _e6, _e7)

static const struct txpwr_ent __txpwr_ent_byr_ax[] =;

static_assert();

static const struct txpwr_map __txpwr_map_byr_ax =;

static const struct txpwr_ent __txpwr_ent_lmt_ax[] =;

static_assert();

static const struct txpwr_map __txpwr_map_lmt_ax =;

static const struct txpwr_ent __txpwr_ent_lmt_ru_ax[] =;

static_assert();

static const struct txpwr_map __txpwr_map_lmt_ru_ax =;

static const struct txpwr_ent __txpwr_ent_byr_mcs_be[] =;

static const struct txpwr_ent __txpwr_ent_byr_be[] =;

static const struct txpwr_map __txpwr_map_byr_be =;

static const struct txpwr_ent __txpwr_ent_lmt_mcs_be[] =;

static const struct txpwr_ent __txpwr_ent_lmt_be[] =;

static const struct txpwr_map __txpwr_map_lmt_be =;

static const struct txpwr_ent __txpwr_ent_lmt_ru_indexes_be[] =;

static const struct txpwr_ent __txpwr_ent_lmt_ru_be[] =;

static const struct txpwr_map __txpwr_map_lmt_ru_be =;

static unsigned int
__print_txpwr_ent(struct seq_file *m, const struct txpwr_ent *ent,
		  const s8 *buf, const unsigned int cur)
{}

static int __print_txpwr_map(struct seq_file *m, struct rtw89_dev *rtwdev,
			     const struct txpwr_map *map)
{}

#define case_REGD

static void __print_regd(struct seq_file *m, struct rtw89_dev *rtwdev,
			 const struct rtw89_chan *chan)
{}

#undef case_REGD

struct dbgfs_txpwr_table {};

static const struct dbgfs_txpwr_table dbgfs_txpwr_table_ax =;

static const struct dbgfs_txpwr_table dbgfs_txpwr_table_be =;

static const struct dbgfs_txpwr_table *dbgfs_txpwr_tables[RTW89_CHIP_GEN_NUM] =;

static
void rtw89_debug_priv_txpwr_table_get_regd(struct seq_file *m,
					   struct rtw89_dev *rtwdev,
					   const struct rtw89_chan *chan)
{}

static int rtw89_debug_priv_txpwr_table_get(struct seq_file *m, void *v)
{}

static ssize_t
rtw89_debug_priv_mac_reg_dump_select(struct file *filp,
				     const char __user *user_buf,
				     size_t count, loff_t *loff)
{}

#define RTW89_MAC_PAGE_SIZE

static int rtw89_debug_priv_mac_reg_dump_get(struct seq_file *m, void *v)
{}

static ssize_t
rtw89_debug_priv_mac_mem_dump_select(struct file *filp,
				     const char __user *user_buf,
				     size_t count, loff_t *loff)
{}

static void rtw89_debug_dump_mac_mem(struct seq_file *m,
				     struct rtw89_dev *rtwdev,
				     u8 sel, u32 start_addr, u32 len)
{}

static int
rtw89_debug_priv_mac_mem_dump_get(struct seq_file *m, void *v)
{}

static ssize_t
rtw89_debug_priv_mac_dbg_port_dump_select(struct file *filp,
					  const char __user *user_buf,
					  size_t count, loff_t *loff)
{}

static int rtw89_debug_mac_dump_ss_dbg(struct rtw89_dev *rtwdev,
				       struct seq_file *m)
{}

static int rtw89_debug_mac_dump_dle_dbg(struct rtw89_dev *rtwdev,
					struct seq_file *m)
{}

static int rtw89_debug_mac_dump_dmac_dbg(struct rtw89_dev *rtwdev,
					 struct seq_file *m)
{}

static int rtw89_debug_mac_dump_cmac_err(struct rtw89_dev *rtwdev,
					 struct seq_file *m,
					 enum rtw89_mac_idx band)
{}

static int rtw89_debug_mac_dump_cmac_dbg(struct rtw89_dev *rtwdev,
					 struct seq_file *m)
{}

static const struct rtw89_mac_dbg_port_info dbg_port_ptcl_c0 =;

static const struct rtw89_mac_dbg_port_info dbg_port_ptcl_c1 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_hdt_tx0_5 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_hdt_tx6 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_hdt_tx7 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_hdt_tx8 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_hdt_tx9_C =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_hdt_txD =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_cdt_tx0 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_cdt_tx1 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_cdt_tx3 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_cdt_tx4 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_cdt_tx5_8 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_cdt_tx9 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_cdt_txA_C =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_hdt_rx0 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_hdt_rx1_2 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_hdt_rx3 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_hdt_rx4 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_hdt_rx5 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_cdt_rx_p0_0 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_cdt_rx_p0_1 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_cdt_rx_p0_2 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_cdt_rx_p1 =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_stf_ctrl =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_addr_ctrl =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_wde_intf =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_ple_intf =;

static const struct rtw89_mac_dbg_port_info dbg_port_dspt_flow_ctrl =;

static const struct rtw89_mac_dbg_port_info dbg_port_sch_c0 =;

static const struct rtw89_mac_dbg_port_info dbg_port_sch_c1 =;

static const struct rtw89_mac_dbg_port_info dbg_port_tmac_c0 =;

static const struct rtw89_mac_dbg_port_info dbg_port_tmac_c1 =;

static const struct rtw89_mac_dbg_port_info dbg_port_rmac_c0 =;

static const struct rtw89_mac_dbg_port_info dbg_port_rmac_c1 =;

static const struct rtw89_mac_dbg_port_info dbg_port_rmacst_c0 =;

static const struct rtw89_mac_dbg_port_info dbg_port_rmacst_c1 =;

static const struct rtw89_mac_dbg_port_info dbg_port_rmac_plcp_c0 =;

static const struct rtw89_mac_dbg_port_info dbg_port_rmac_plcp_c1 =;

static const struct rtw89_mac_dbg_port_info dbg_port_trxptcl_c0 =;

static const struct rtw89_mac_dbg_port_info dbg_port_trxptcl_c1 =;

static const struct rtw89_mac_dbg_port_info dbg_port_tx_infol_c0 =;

static const struct rtw89_mac_dbg_port_info dbg_port_tx_infoh_c0 =;

static const struct rtw89_mac_dbg_port_info dbg_port_tx_infol_c1 =;

static const struct rtw89_mac_dbg_port_info dbg_port_tx_infoh_c1 =;

static const struct rtw89_mac_dbg_port_info dbg_port_txtf_infol_c0 =;

static const struct rtw89_mac_dbg_port_info dbg_port_txtf_infoh_c0 =;

static const struct rtw89_mac_dbg_port_info dbg_port_txtf_infol_c1 =;

static const struct rtw89_mac_dbg_port_info dbg_port_txtf_infoh_c1 =;

static const struct rtw89_mac_dbg_port_info dbg_port_wde_bufmgn_freepg =;

static const struct rtw89_mac_dbg_port_info dbg_port_wde_bufmgn_quota =;

static const struct rtw89_mac_dbg_port_info dbg_port_wde_bufmgn_pagellt =;

static const struct rtw89_mac_dbg_port_info dbg_port_wde_bufmgn_pktinfo =;

static const struct rtw89_mac_dbg_port_info dbg_port_wde_quemgn_prepkt =;

static const struct rtw89_mac_dbg_port_info dbg_port_wde_quemgn_nxtpkt =;

static const struct rtw89_mac_dbg_port_info dbg_port_wde_quemgn_qlnktbl =;

static const struct rtw89_mac_dbg_port_info dbg_port_wde_quemgn_qempty =;

static const struct rtw89_mac_dbg_port_info dbg_port_ple_bufmgn_freepg =;

static const struct rtw89_mac_dbg_port_info dbg_port_ple_bufmgn_quota =;

static const struct rtw89_mac_dbg_port_info dbg_port_ple_bufmgn_pagellt =;

static const struct rtw89_mac_dbg_port_info dbg_port_ple_bufmgn_pktinfo =;

static const struct rtw89_mac_dbg_port_info dbg_port_ple_quemgn_prepkt =;

static const struct rtw89_mac_dbg_port_info dbg_port_ple_quemgn_nxtpkt =;

static const struct rtw89_mac_dbg_port_info dbg_port_ple_quemgn_qlnktbl =;

static const struct rtw89_mac_dbg_port_info dbg_port_ple_quemgn_qempty =;

static const struct rtw89_mac_dbg_port_info dbg_port_pktinfo =;

static const struct rtw89_mac_dbg_port_info dbg_port_pcie_txdma =;

static const struct rtw89_mac_dbg_port_info dbg_port_pcie_rxdma =;

static const struct rtw89_mac_dbg_port_info dbg_port_pcie_cvt =;

static const struct rtw89_mac_dbg_port_info dbg_port_pcie_cxpl =;

static const struct rtw89_mac_dbg_port_info dbg_port_pcie_io =;

static const struct rtw89_mac_dbg_port_info dbg_port_pcie_misc =;

static const struct rtw89_mac_dbg_port_info dbg_port_pcie_misc2 =;

static const struct rtw89_mac_dbg_port_info *
rtw89_debug_mac_dbg_port_sel(struct seq_file *m,
			     struct rtw89_dev *rtwdev, u32 sel)
{}

static bool is_dbg_port_valid(struct rtw89_dev *rtwdev, u32 sel)
{}

static int rtw89_debug_mac_dbg_port_dump(struct rtw89_dev *rtwdev,
					 struct seq_file *m, u32 sel)
{}

static int rtw89_debug_mac_dump_dbg_port(struct rtw89_dev *rtwdev,
					 struct seq_file *m)
{}

static int
rtw89_debug_priv_mac_dbg_port_dump_get(struct seq_file *m, void *v)
{
	struct rtw89_debugfs_priv *debugfs_priv = m->private;
	struct rtw89_dev *rtwdev = debugfs_priv->rtwdev;

	if (debugfs_priv->dbgpkg_en.ss_dbg)
		rtw89_debug_mac_dump_ss_dbg(rtwdev, m);
	if (debugfs_priv->dbgpkg_en.dle_dbg)
		rtw89_debug_mac_dump_dle_dbg(rtwdev, m);
	if (debugfs_priv->dbgpkg_en.dmac_dbg)
		rtw89_debug_mac_dump_dmac_dbg(rtwdev, m);
	if (debugfs_priv->dbgpkg_en.cmac_dbg)
		rtw89_debug_mac_dump_cmac_dbg(rtwdev, m);
	if (debugfs_priv->dbgpkg_en.dbg_port)
		rtw89_debug_mac_dump_dbg_port(rtwdev, m);

	return 0;
};

static u8 *rtw89_hex2bin_user(struct rtw89_dev *rtwdev,
			      const char __user *user_buf, size_t count)
{}

static ssize_t rtw89_debug_priv_send_h2c_set(struct file *filp,
					     const char __user *user_buf,
					     size_t count, loff_t *loff)
{}

static int
rtw89_debug_priv_early_h2c_get(struct seq_file *m, void *v)
{}

static ssize_t
rtw89_debug_priv_early_h2c_set(struct file *filp, const char __user *user_buf,
			       size_t count, loff_t *loff)
{}

static int rtw89_dbg_trigger_ctrl_error(struct rtw89_dev *rtwdev)
{}

static int
rtw89_debug_priv_fw_crash_get(struct seq_file *m, void *v)
{}

enum rtw89_dbg_crash_simulation_type {};

static ssize_t
rtw89_debug_priv_fw_crash_set(struct file *filp, const char __user *user_buf,
			      size_t count, loff_t *loff)
{}

static int rtw89_debug_priv_btc_info_get(struct seq_file *m, void *v)
{}

static ssize_t rtw89_debug_priv_btc_manual_set(struct file *filp,
					       const char __user *user_buf,
					       size_t count, loff_t *loff)
{}

static ssize_t rtw89_debug_priv_fw_log_manual_set(struct file *filp,
						  const char __user *user_buf,
						  size_t count, loff_t *loff)
{}

static void rtw89_sta_info_get_iter(void *data, struct ieee80211_sta *sta)
{}

static void
rtw89_debug_append_rx_rate(struct seq_file *m, struct rtw89_pkt_stat *pkt_stat,
			   enum rtw89_hw_rate first_rate, int len)
{}

#define FIRST_RATE_SAME(rate)
#define FIRST_RATE_ENUM(rate)
#define FIRST_RATE_GEV1(rate)

static const struct rtw89_rx_rate_cnt_info {} rtw89_rx_rate_cnt_infos[] =;

static int rtw89_debug_priv_phy_info_get(struct seq_file *m, void *v)
{}

static void rtw89_dump_addr_cam(struct seq_file *m,
				struct rtw89_dev *rtwdev,
				struct rtw89_addr_cam_entry *addr_cam)
{}

__printf(3, 4)
static void rtw89_dump_pkt_offload(struct seq_file *m, struct list_head *pkt_list,
				   const char *fmt, ...)
{}

static
void rtw89_vif_ids_get_iter(void *data, u8 *mac, struct ieee80211_vif *vif)
{}

static void rtw89_dump_ba_cam(struct seq_file *m, struct rtw89_sta *rtwsta)
{}

static void rtw89_sta_ids_get_iter(void *data, struct ieee80211_sta *sta)
{}

static int rtw89_debug_priv_stations_get(struct seq_file *m, void *v)
{}

#define DM_INFO(type)

static const struct rtw89_disabled_dm_info {} rtw89_disabled_dm_infos[] =;

static int
rtw89_debug_priv_disable_dm_get(struct seq_file *m, void *v)
{}

static ssize_t
rtw89_debug_priv_disable_dm_set(struct file *filp, const char __user *user_buf,
				size_t count, loff_t *loff)
{}

#define rtw89_debug_priv_get(name)

#define rtw89_debug_priv_set(name)

#define rtw89_debug_priv_select_and_get(name)

#define rtw89_debug_priv_set_and_get(name)

static const struct rtw89_debugfs rtw89_debugfs_templ =;

#define rtw89_debugfs_add(name, mode, fopname, parent)

#define rtw89_debugfs_add_w(name)
#define rtw89_debugfs_add_rw(name)
#define rtw89_debugfs_add_r(name)

static
void rtw89_debugfs_add_sec0(struct rtw89_dev *rtwdev, struct dentry *debugfs_topdir)
{}

static
void rtw89_debugfs_add_sec1(struct rtw89_dev *rtwdev, struct dentry *debugfs_topdir)
{}

void rtw89_debugfs_init(struct rtw89_dev *rtwdev)
{}

void rtw89_debugfs_deinit(struct rtw89_dev *rtwdev)
{}
#endif

#ifdef CONFIG_RTW89_DEBUGMSG
void rtw89_debug(struct rtw89_dev *rtwdev, enum rtw89_debug_mask mask,
		 const char *fmt, ...)
{}
EXPORT_SYMBOL();
#endif