#include <linux/module.h>
#include <linux/debugfs.h>
#include <linux/vmalloc.h>
#include <linux/crc32.h>
#include <linux/firmware.h>
#include <linux/kstrtox.h>
#include "core.h"
#include "debug.h"
#include "hif.h"
#include "wmi-ops.h"
#define ATH10K_DEBUG_HTT_STATS_INTERVAL …
#define ATH10K_DEBUG_CAL_DATA_LEN …
void ath10k_info(struct ath10k *ar, const char *fmt, ...)
{ … }
EXPORT_SYMBOL(…);
void ath10k_debug_print_hwfw_info(struct ath10k *ar)
{ … }
void ath10k_debug_print_board_info(struct ath10k *ar)
{ … }
void ath10k_debug_print_boot_info(struct ath10k *ar)
{ … }
void ath10k_print_driver_info(struct ath10k *ar)
{ … }
EXPORT_SYMBOL(…);
void ath10k_err(struct ath10k *ar, const char *fmt, ...)
{ … }
EXPORT_SYMBOL(…);
void ath10k_warn(struct ath10k *ar, const char *fmt, ...)
{ … }
EXPORT_SYMBOL(…);
#ifdef CONFIG_ATH10K_DEBUGFS
static ssize_t ath10k_read_wmi_services(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_wmi_services = …;
static void ath10k_fw_stats_pdevs_free(struct list_head *head)
{ … }
static void ath10k_fw_stats_vdevs_free(struct list_head *head)
{ … }
static void ath10k_fw_stats_peers_free(struct list_head *head)
{ … }
static void ath10k_fw_extd_stats_peers_free(struct list_head *head)
{ … }
static void ath10k_debug_fw_stats_reset(struct ath10k *ar)
{ … }
void ath10k_debug_fw_stats_process(struct ath10k *ar, struct sk_buff *skb)
{ … }
int ath10k_debug_fw_stats_request(struct ath10k *ar)
{ … }
static int ath10k_fw_stats_open(struct inode *inode, struct file *file)
{ … }
static int ath10k_fw_stats_release(struct inode *inode, struct file *file)
{ … }
static ssize_t ath10k_fw_stats_read(struct file *file, char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_fw_stats = …;
static ssize_t ath10k_debug_fw_reset_stats_read(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_fw_reset_stats = …;
static int ath10k_debug_fw_assert(struct ath10k *ar)
{ … }
static ssize_t ath10k_read_simulate_fw_crash(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath10k_write_simulate_fw_crash(struct file *file,
const char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_simulate_fw_crash = …;
static ssize_t ath10k_read_chip_id(struct file *file, char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_chip_id = …;
static ssize_t ath10k_reg_addr_read(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath10k_reg_addr_write(struct file *file,
const char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_reg_addr = …;
static ssize_t ath10k_reg_value_read(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath10k_reg_value_write(struct file *file,
const char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_reg_value = …;
static ssize_t ath10k_mem_value_read(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath10k_mem_value_write(struct file *file,
const char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_mem_value = …;
static int ath10k_debug_htt_stats_req(struct ath10k *ar)
{ … }
static void ath10k_debug_htt_stats_dwork(struct work_struct *work)
{ … }
static ssize_t ath10k_read_htt_stats_mask(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath10k_write_htt_stats_mask(struct file *file,
const char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_htt_stats_mask = …;
static ssize_t ath10k_read_htt_max_amsdu_ampdu(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath10k_write_htt_max_amsdu_ampdu(struct file *file,
const char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_htt_max_amsdu_ampdu = …;
static ssize_t ath10k_read_fw_dbglog(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath10k_write_fw_dbglog(struct file *file,
const char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const char ath10k_gstrings_stats[][ETH_GSTRING_LEN] = …;
#define ATH10K_SSTATS_LEN …
void ath10k_debug_get_et_strings(struct ieee80211_hw *hw,
struct ieee80211_vif *vif,
u32 sset, u8 *data)
{ … }
int ath10k_debug_get_et_sset_count(struct ieee80211_hw *hw,
struct ieee80211_vif *vif, int sset)
{ … }
void ath10k_debug_get_et_stats(struct ieee80211_hw *hw,
struct ieee80211_vif *vif,
struct ethtool_stats *stats, u64 *data)
{ … }
static const struct file_operations fops_fw_dbglog = …;
static int ath10k_debug_cal_data_fetch(struct ath10k *ar)
{ … }
static int ath10k_debug_cal_data_open(struct inode *inode, struct file *file)
{ … }
static ssize_t ath10k_debug_cal_data_read(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath10k_write_ani_enable(struct file *file,
const char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath10k_read_ani_enable(struct file *file, char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_ani_enable = …;
static const struct file_operations fops_cal_data = …;
static ssize_t ath10k_read_nf_cal_period(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath10k_write_nf_cal_period(struct file *file,
const char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_nf_cal_period = …;
#define ATH10K_TPC_CONFIG_BUF_SIZE …
static int ath10k_debug_tpc_stats_request(struct ath10k *ar)
{ … }
void ath10k_debug_tpc_stats_process(struct ath10k *ar,
struct ath10k_tpc_stats *tpc_stats)
{ … }
void
ath10k_debug_tpc_stats_final_process(struct ath10k *ar,
struct ath10k_tpc_stats_final *tpc_stats)
{ … }
static void ath10k_tpc_stats_print(struct ath10k_tpc_stats *tpc_stats,
unsigned int j, char *buf, size_t *len)
{ … }
static void ath10k_tpc_stats_fill(struct ath10k *ar,
struct ath10k_tpc_stats *tpc_stats,
char *buf)
{ … }
static int ath10k_tpc_stats_open(struct inode *inode, struct file *file)
{ … }
static int ath10k_tpc_stats_release(struct inode *inode, struct file *file)
{ … }
static ssize_t ath10k_tpc_stats_read(struct file *file, char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_tpc_stats = …;
int ath10k_debug_start(struct ath10k *ar)
{ … }
void ath10k_debug_stop(struct ath10k *ar)
{ … }
static ssize_t ath10k_write_simulate_radar(struct file *file,
const char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_simulate_radar = …;
#define ATH10K_DFS_STAT(s, p) …
#define ATH10K_DFS_POOL_STAT(s, p) …
static ssize_t ath10k_read_dfs_stats(struct file *file, char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_dfs_stats = …;
static ssize_t ath10k_write_pktlog_filter(struct file *file,
const char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath10k_read_pktlog_filter(struct file *file, char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_pktlog_filter = …;
static ssize_t ath10k_write_quiet_period(struct file *file,
const char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath10k_read_quiet_period(struct file *file, char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_quiet_period = …;
static ssize_t ath10k_write_btcoex(struct file *file,
const char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath10k_read_btcoex(struct file *file, char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_btcoex = …;
static ssize_t ath10k_write_enable_extd_tx_stats(struct file *file,
const char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath10k_read_enable_extd_tx_stats(struct file *file,
char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_enable_extd_tx_stats = …;
static ssize_t ath10k_write_peer_stats(struct file *file,
const char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath10k_read_peer_stats(struct file *file, char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_peer_stats = …;
static ssize_t ath10k_debug_fw_checksums_read(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_fw_checksums = …;
static ssize_t ath10k_sta_tid_stats_mask_read(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath10k_sta_tid_stats_mask_write(struct file *file,
const char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_sta_tid_stats_mask = …;
static int ath10k_debug_tpc_stats_final_request(struct ath10k *ar)
{ … }
static int ath10k_tpc_stats_final_open(struct inode *inode, struct file *file)
{ … }
static int ath10k_tpc_stats_final_release(struct inode *inode,
struct file *file)
{ … }
static ssize_t ath10k_tpc_stats_final_read(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_tpc_stats_final = …;
static ssize_t ath10k_write_warm_hw_reset(struct file *file,
const char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_warm_hw_reset = …;
static void ath10k_peer_ps_state_disable(void *data,
struct ieee80211_sta *sta)
{ … }
static ssize_t ath10k_write_ps_state_enable(struct file *file,
const char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath10k_read_ps_state_enable(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_ps_state_enable = …;
static ssize_t ath10k_write_reset_htt_stats(struct file *file,
const char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_reset_htt_stats = …;
int ath10k_debug_create(struct ath10k *ar)
{ … }
void ath10k_debug_destroy(struct ath10k *ar)
{ … }
int ath10k_debug_register(struct ath10k *ar)
{ … }
void ath10k_debug_unregister(struct ath10k *ar)
{ … }
#endif
#ifdef CONFIG_ATH10K_DEBUG
void __ath10k_dbg(struct ath10k *ar, enum ath10k_debug_mask mask,
const char *fmt, ...)
{ … }
EXPORT_SYMBOL(…);
void ath10k_dbg_dump(struct ath10k *ar,
enum ath10k_debug_mask mask,
const char *msg, const char *prefix,
const void *buf, size_t len)
{ … }
EXPORT_SYMBOL(…);
#endif