linux/drivers/net/wireless/ath/ath11k/debugfs.h

/* SPDX-License-Identifier: BSD-3-Clause-Clear */
/*
 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
 * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
 */

#ifndef _ATH11K_DEBUGFS_H_
#define _ATH11K_DEBUGFS_H_

#include "hal_tx.h"

#define ATH11K_TX_POWER_MAX_VAL
#define ATH11K_TX_POWER_MIN_VAL

/* htt_dbg_ext_stats_type */
enum ath11k_dbg_htt_ext_stats_type {};

#define ATH11K_DEBUG_DBR_ENTRIES_MAX

enum ath11k_dbg_dbr_event {};

struct ath11k_dbg_dbr_entry {};

struct ath11k_dbg_dbr_data {};

struct ath11k_debug_dbr {};

struct debug_htt_stats_req {};

struct ath_pktlog_hdr {};

#define ATH11K_HTT_PEER_STATS_RESET

#define ATH11K_HTT_STATS_BUF_SIZE
#define ATH11K_FW_STATS_BUF_SIZE

enum ath11k_pktlog_filter {};

enum ath11k_pktlog_mode {};

enum ath11k_pktlog_enum {};

enum ath11k_dbg_aggr_mode {};

enum fw_dbglog_wlan_module_id {};

enum fw_dbglog_log_level {};

struct ath11k_fw_dbglog {};

#ifdef CONFIG_ATH11K_DEBUGFS
int ath11k_debugfs_soc_create(struct ath11k_base *ab);
void ath11k_debugfs_soc_destroy(struct ath11k_base *ab);
int ath11k_debugfs_pdev_create(struct ath11k_base *ab);
void ath11k_debugfs_pdev_destroy(struct ath11k_base *ab);
int ath11k_debugfs_register(struct ath11k *ar);
void ath11k_debugfs_unregister(struct ath11k *ar);
void ath11k_debugfs_fw_stats_process(struct ath11k *ar, struct ath11k_fw_stats *stats);

void ath11k_debugfs_fw_stats_init(struct ath11k *ar);
int ath11k_debugfs_get_fw_stats(struct ath11k *ar, u32 pdev_id,
				u32 vdev_id, u32 stats_id);

static inline bool ath11k_debugfs_is_pktlog_lite_mode_enabled(struct ath11k *ar)
{}

static inline bool ath11k_debugfs_is_pktlog_rx_stats_enabled(struct ath11k *ar)
{}

static inline bool ath11k_debugfs_is_pktlog_peer_valid(struct ath11k *ar, u8 *addr)
{}

static inline int ath11k_debugfs_is_extd_tx_stats_enabled(struct ath11k *ar)
{}

static inline int ath11k_debugfs_is_extd_rx_stats_enabled(struct ath11k *ar)
{}

static inline int ath11k_debugfs_rx_filter(struct ath11k *ar)
{}

void ath11k_debugfs_op_vif_add(struct ieee80211_hw *hw,
			       struct ieee80211_vif *vif);
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);

#else
static inline int ath11k_debugfs_soc_create(struct ath11k_base *ab)
{
	return 0;
}

static inline void ath11k_debugfs_soc_destroy(struct ath11k_base *ab)
{
}

static inline int ath11k_debugfs_pdev_create(struct ath11k_base *ab)
{
	return 0;
}

static inline void ath11k_debugfs_pdev_destroy(struct ath11k_base *ab)
{
}

static inline int ath11k_debugfs_register(struct ath11k *ar)
{
	return 0;
}

static inline void ath11k_debugfs_unregister(struct ath11k *ar)
{
}

static inline void ath11k_debugfs_fw_stats_process(struct ath11k *ar,
						   struct ath11k_fw_stats *stats)
{
}

static inline void ath11k_debugfs_fw_stats_init(struct ath11k *ar)
{
}

static inline int ath11k_debugfs_is_extd_tx_stats_enabled(struct ath11k *ar)
{
	return 0;
}

static inline int ath11k_debugfs_is_extd_rx_stats_enabled(struct ath11k *ar)
{
	return 0;
}

static inline bool ath11k_debugfs_is_pktlog_lite_mode_enabled(struct ath11k *ar)
{
	return false;
}

static inline bool ath11k_debugfs_is_pktlog_rx_stats_enabled(struct ath11k *ar)
{
	return false;
}

static inline bool ath11k_debugfs_is_pktlog_peer_valid(struct ath11k *ar, u8 *addr)
{
	return false;
}

static inline int ath11k_debugfs_rx_filter(struct ath11k *ar)
{
	return 0;
}

static inline int ath11k_debugfs_get_fw_stats(struct ath11k *ar,
					      u32 pdev_id, u32 vdev_id, u32 stats_id)
{
	return 0;
}

static inline 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)
{
}
#endif /* CONFIG_ATH11K_DEBUGFS*/

#endif /* _ATH11K_DEBUGFS_H_ */