#include <linux/vmalloc.h>
#include "debugfs.h"
#include "core.h"
#include "debug.h"
#include "wmi.h"
#include "hal_rx.h"
#include "dp_tx.h"
#include "debugfs_htt_stats.h"
#include "peer.h"
#include "hif.h"
static const char *htt_bp_umac_ring[HTT_SW_UMAC_RING_IDX_MAX] = …;
static const char *htt_bp_lmac_ring[HTT_SW_LMAC_RING_IDX_MAX] = …;
void ath11k_debugfs_add_dbring_entry(struct ath11k *ar,
enum wmi_direct_buffer_module id,
enum ath11k_dbg_dbr_event event,
struct hal_srng *srng)
{ … }
static void ath11k_debugfs_fw_stats_reset(struct ath11k *ar)
{ … }
void ath11k_debugfs_fw_stats_process(struct ath11k *ar, struct ath11k_fw_stats *stats)
{ … }
static int ath11k_debugfs_fw_stats_request(struct ath11k *ar,
struct stats_request_params *req_param)
{ … }
int ath11k_debugfs_get_fw_stats(struct ath11k *ar, u32 pdev_id,
u32 vdev_id, u32 stats_id)
{ … }
static int ath11k_open_pdev_stats(struct inode *inode, struct file *file)
{ … }
static int ath11k_release_pdev_stats(struct inode *inode, struct file *file)
{ … }
static ssize_t ath11k_read_pdev_stats(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_pdev_stats = …;
static int ath11k_open_vdev_stats(struct inode *inode, struct file *file)
{ … }
static int ath11k_release_vdev_stats(struct inode *inode, struct file *file)
{ … }
static ssize_t ath11k_read_vdev_stats(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_vdev_stats = …;
static int ath11k_open_bcn_stats(struct inode *inode, struct file *file)
{ … }
static int ath11k_release_bcn_stats(struct inode *inode, struct file *file)
{ … }
static ssize_t ath11k_read_bcn_stats(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_bcn_stats = …;
static ssize_t ath11k_read_simulate_fw_crash(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath11k_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 ath11k_write_enable_extd_tx_stats(struct file *file,
const char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath11k_read_enable_extd_tx_stats(struct file *file,
char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_extd_tx_stats = …;
static ssize_t ath11k_write_extd_rx_stats(struct file *file,
const char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath11k_read_extd_rx_stats(struct file *file,
char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_extd_rx_stats = …;
static int ath11k_fill_bp_stats(struct ath11k_base *ab,
struct ath11k_bp_stats *bp_stats,
char *buf, int len, int size)
{ … }
static ssize_t ath11k_debugfs_dump_soc_ring_bp_stats(struct ath11k_base *ab,
char *buf, int size)
{ … }
static ssize_t ath11k_debugfs_dump_soc_dp_stats(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_soc_dp_stats = …;
static ssize_t ath11k_write_fw_dbglog(struct file *file,
const char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_fw_dbglog = …;
static int ath11k_open_sram_dump(struct inode *inode, struct file *file)
{ … }
static ssize_t ath11k_read_sram_dump(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static int ath11k_release_sram_dump(struct inode *inode, struct file *file)
{ … }
static const struct file_operations fops_sram_dump = …;
int ath11k_debugfs_pdev_create(struct ath11k_base *ab)
{ … }
void ath11k_debugfs_pdev_destroy(struct ath11k_base *ab)
{ … }
int ath11k_debugfs_soc_create(struct ath11k_base *ab)
{ … }
void ath11k_debugfs_soc_destroy(struct ath11k_base *ab)
{ … }
EXPORT_SYMBOL(…);
void ath11k_debugfs_fw_stats_init(struct ath11k *ar)
{ … }
static ssize_t ath11k_write_pktlog_filter(struct file *file,
const char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath11k_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 ath11k_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 = …;
static ssize_t ath11k_debug_dump_dbr_entries(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_debug_dump_dbr_entries = …;
static void ath11k_debugfs_dbr_dbg_destroy(struct ath11k *ar, int dbr_id)
{ … }
static int ath11k_debugfs_dbr_dbg_init(struct ath11k *ar, int dbr_id)
{ … }
static ssize_t ath11k_debugfs_write_enable_dbr_dbg(struct file *file,
const char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_dbr_debug = …;
static ssize_t ath11k_write_ps_timekeeper_enable(struct file *file,
const char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath11k_read_ps_timekeeper_enable(struct file *file,
char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_ps_timekeeper_enable = …;
static void ath11k_reset_peer_ps_duration(void *data,
struct ieee80211_sta *sta)
{ … }
static ssize_t ath11k_write_reset_ps_duration(struct file *file,
const char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations fops_reset_ps_duration = …;
static void ath11k_peer_ps_state_disable(void *data,
struct ieee80211_sta *sta)
{ … }
static ssize_t ath11k_write_ps_state_enable(struct file *file,
const char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath11k_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 = …;
int ath11k_debugfs_register(struct ath11k *ar)
{ … }
void ath11k_debugfs_unregister(struct ath11k *ar)
{ … }
static ssize_t ath11k_write_twt_add_dialog(struct file *file,
const char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath11k_write_twt_del_dialog(struct file *file,
const char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath11k_write_twt_pause_dialog(struct file *file,
const char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static ssize_t ath11k_write_twt_resume_dialog(struct file *file,
const char __user *ubuf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations ath11k_fops_twt_add_dialog = …;
static const struct file_operations ath11k_fops_twt_del_dialog = …;
static const struct file_operations ath11k_fops_twt_pause_dialog = …;
static const struct file_operations ath11k_fops_twt_resume_dialog = …;
void ath11k_debugfs_op_vif_add(struct ieee80211_hw *hw,
struct ieee80211_vif *vif)
{ … }