Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/contrib/dev/athk/ath12k/debugfs.h
178701 views
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
11
void ath12k_debugfs_soc_create(struct ath12k_base *ab);
12
void ath12k_debugfs_soc_destroy(struct ath12k_base *ab);
13
void ath12k_debugfs_register(struct ath12k *ar);
14
void ath12k_debugfs_unregister(struct ath12k *ar);
15
void ath12k_debugfs_op_vif_add(struct ieee80211_hw *hw,
16
struct ieee80211_vif *vif);
17
void ath12k_debugfs_pdev_create(struct ath12k_base *ab);
18
19
static inline bool ath12k_debugfs_is_extd_rx_stats_enabled(struct ath12k *ar)
20
{
21
return ar->debug.extd_rx_stats;
22
}
23
24
static 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
52
enum 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
79
enum 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
102
enum 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
111
static inline void ath12k_debugfs_soc_create(struct ath12k_base *ab)
112
{
113
}
114
115
static inline void ath12k_debugfs_soc_destroy(struct ath12k_base *ab)
116
{
117
}
118
119
static inline void ath12k_debugfs_register(struct ath12k *ar)
120
{
121
}
122
123
static inline void ath12k_debugfs_unregister(struct ath12k *ar)
124
{
125
}
126
127
static inline bool ath12k_debugfs_is_extd_rx_stats_enabled(struct ath12k *ar)
128
{
129
return false;
130
}
131
132
static inline int ath12k_debugfs_rx_filter(struct ath12k *ar)
133
{
134
return 0;
135
}
136
137
static inline void ath12k_debugfs_op_vif_add(struct ieee80211_hw *hw,
138
struct ieee80211_vif *vif)
139
{
140
}
141
142
static inline void ath12k_debugfs_pdev_create(struct ath12k_base *ab)
143
{
144
}
145
#endif /* CONFIG_ATH12K_DEBUGFS */
146
147
#endif /* _ATH12K_DEBUGFS_H_ */
148
149