File Index
Files and directories
Sign in
FILE

debugfs.h

File preview with syntax highlighting.

linux-6.19.14/drivers/net/wireless/ath/ath12k/debugfs.h C
  1/* SPDX-License-Identifier: BSD-3-Clause-Clear */
  2/*
  3 * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
  4 * Copyright (c) 2021-2025 Qualcomm Innovation Center, Inc. All rights reserved.
  5 */
  6
  7#ifndef _ATH12K_DEBUGFS_H_
  8#define _ATH12K_DEBUGFS_H_
  9
 10#ifdef CONFIG_ATH12K_DEBUGFS
 11void ath12k_debugfs_soc_create(struct ath12k_base *ab);
 12void ath12k_debugfs_soc_destroy(struct ath12k_base *ab);
 13void ath12k_debugfs_register(struct ath12k *ar);
 14void ath12k_debugfs_unregister(struct ath12k *ar);
 15void ath12k_debugfs_op_vif_add(struct ieee80211_hw *hw,
 16			       struct ieee80211_vif *vif);
 17void ath12k_debugfs_pdev_create(struct ath12k_base *ab);
 18
 19static inline bool ath12k_debugfs_is_extd_rx_stats_enabled(struct ath12k *ar)
 20{
 21	return ar->debug.extd_rx_stats;
 22}
 23
 24static inline int ath12k_debugfs_rx_filter(struct ath12k *ar)
 25{
 26	return ar->debug.rx_filter;
 27}
 28
 29#define ATH12K_CCK_RATES			4
 30#define ATH12K_OFDM_RATES			8
 31#define ATH12K_HT_RATES				8
 32#define ATH12K_VHT_RATES			12
 33#define ATH12K_HE_RATES				12
 34#define ATH12K_HE_RATES_WITH_EXTRA_MCS		14
 35#define ATH12K_EHT_RATES			16
 36#define HE_EXTRA_MCS_SUPPORT			GENMASK(31, 16)
 37#define ATH12K_NSS_1				1
 38#define ATH12K_NSS_4				4
 39#define ATH12K_NSS_8				8
 40#define ATH12K_HW_NSS(_rcode)			(((_rcode) >> 5) & 0x7)
 41#define TPC_STATS_WAIT_TIME			(1 * HZ)
 42#define MAX_TPC_PREAM_STR_LEN			7
 43#define TPC_INVAL				-128
 44#define TPC_MAX					127
 45#define TPC_STATS_WAIT_TIME			(1 * HZ)
 46#define TPC_STATS_TOT_ROW			700
 47#define TPC_STATS_TOT_COLUMN			100
 48#define MODULATION_LIMIT			126
 49
 50#define ATH12K_TPC_STATS_BUF_SIZE	(TPC_STATS_TOT_ROW * TPC_STATS_TOT_COLUMN)
 51
 52enum wmi_tpc_pream_bw {
 53	WMI_TPC_PREAM_CCK,
 54	WMI_TPC_PREAM_OFDM,
 55	WMI_TPC_PREAM_HT20,
 56	WMI_TPC_PREAM_HT40,
 57	WMI_TPC_PREAM_VHT20,
 58	WMI_TPC_PREAM_VHT40,
 59	WMI_TPC_PREAM_VHT80,
 60	WMI_TPC_PREAM_VHT160,
 61	WMI_TPC_PREAM_HE20,
 62	WMI_TPC_PREAM_HE40,
 63	WMI_TPC_PREAM_HE80,
 64	WMI_TPC_PREAM_HE160,
 65	WMI_TPC_PREAM_EHT20,
 66	WMI_TPC_PREAM_EHT40,
 67	WMI_TPC_PREAM_EHT60,
 68	WMI_TPC_PREAM_EHT80,
 69	WMI_TPC_PREAM_EHT120,
 70	WMI_TPC_PREAM_EHT140,
 71	WMI_TPC_PREAM_EHT160,
 72	WMI_TPC_PREAM_EHT200,
 73	WMI_TPC_PREAM_EHT240,
 74	WMI_TPC_PREAM_EHT280,
 75	WMI_TPC_PREAM_EHT320,
 76	WMI_TPC_PREAM_MAX
 77};
 78
 79enum ath12k_debug_tpc_stats_ctl_mode {
 80	ATH12K_TPC_STATS_CTL_MODE_LEGACY_5GHZ_6GHZ,
 81	ATH12K_TPC_STATS_CTL_MODE_HT_VHT20_5GHZ_6GHZ,
 82	ATH12K_TPC_STATS_CTL_MODE_HE_EHT20_5GHZ_6GHZ,
 83	ATH12K_TPC_STATS_CTL_MODE_HT_VHT40_5GHZ_6GHZ,
 84	ATH12K_TPC_STATS_CTL_MODE_HE_EHT40_5GHZ_6GHZ,
 85	ATH12K_TPC_STATS_CTL_MODE_VHT80_5GHZ_6GHZ,
 86	ATH12K_TPC_STATS_CTL_MODE_HE_EHT80_5GHZ_6GHZ,
 87	ATH12K_TPC_STATS_CTL_MODE_VHT160_5GHZ_6GHZ,
 88	ATH12K_TPC_STATS_CTL_MODE_HE_EHT160_5GHZ_6GHZ,
 89	ATH12K_TPC_STATS_CTL_MODE_HE_EHT320_5GHZ_6GHZ,
 90	ATH12K_TPC_STATS_CTL_MODE_CCK_2GHZ,
 91	ATH12K_TPC_STATS_CTL_MODE_LEGACY_2GHZ,
 92	ATH12K_TPC_STATS_CTL_MODE_HT20_2GHZ,
 93	ATH12K_TPC_STATS_CTL_MODE_HT40_2GHZ,
 94
 95	ATH12K_TPC_STATS_CTL_MODE_EHT80_SU_PUNC20 = 23,
 96	ATH12K_TPC_STATS_CTL_MODE_EHT160_SU_PUNC20,
 97	ATH12K_TPC_STATS_CTL_MODE_EHT320_SU_PUNC40,
 98	ATH12K_TPC_STATS_CTL_MODE_EHT320_SU_PUNC80,
 99	ATH12K_TPC_STATS_CTL_MODE_EHT320_SU_PUNC120
100};
101
102enum ath12k_debug_tpc_stats_support_modes {
103	ATH12K_TPC_STATS_SUPPORT_160 = 0,
104	ATH12K_TPC_STATS_SUPPORT_320,
105	ATH12K_TPC_STATS_SUPPORT_AX,
106	ATH12K_TPC_STATS_SUPPORT_AX_EXTRA_MCS,
107	ATH12K_TPC_STATS_SUPPORT_BE,
108	ATH12K_TPC_STATS_SUPPORT_BE_PUNC,
109};
110#else
111static inline void ath12k_debugfs_soc_create(struct ath12k_base *ab)
112{
113}
114
115static inline void ath12k_debugfs_soc_destroy(struct ath12k_base *ab)
116{
117}
118
119static inline void ath12k_debugfs_register(struct ath12k *ar)
120{
121}
122
123static inline void ath12k_debugfs_unregister(struct ath12k *ar)
124{
125}
126
127static inline bool ath12k_debugfs_is_extd_rx_stats_enabled(struct ath12k *ar)
128{
129	return false;
130}
131
132static inline int ath12k_debugfs_rx_filter(struct ath12k *ar)
133{
134	return 0;
135}
136
137static inline void ath12k_debugfs_op_vif_add(struct ieee80211_hw *hw,
138					     struct ieee80211_vif *vif)
139{
140}
141
142static inline void ath12k_debugfs_pdev_create(struct ath12k_base *ab)
143{
144}
145#endif /* CONFIG_ATH12K_DEBUGFS */
146
147#endif /* _ATH12K_DEBUGFS_H_ */
~/ Read-only file preview.