1 /*
2 * Copyright (c) 2020 HiSilicon (Shanghai) Technologies CO., LIMITED.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 * Description: vap / user common info for host and device
15 */
16
17 #ifndef __ALG_COMMON_MACROS_ROM_H__
18 #define __ALG_COMMON_MACROS_ROM_H__
19
20 #include "td_type.h"
21 #include "alg_autorate_common_rom.h"
22 #include "osal_types.h"
23
24 #ifdef __cplusplus
25 #if __cplusplus
26 extern "C" {
27 #endif
28 #endif
29 /*
30 * 是否支持VHT协议的宏,针对一些只有VHT支持的场景下使用
31 * #define _PRE_WLAN_SUPPORT_VHT
32 *
33 * 串口打印宏,仅在宏开启时串口打印
34 * #define _PRE_WLAN_ALG_UART_PRINT
35 *
36 * 资源获取宏,多芯片场景下使用
37 * #define _PRE_ALG_RESOURCE_ACQUIRE_CHECK
38 */
39 /******************************************************************************
40 1.1 aggr宏定义
41 ******************************************************************************/
42 #define ALG_AGGR_DEFAULT_AGING_TIME_MS 10000 /* 默认per统计老化的时间门限(单位:ms) */
43 #define ALG_AGGR_PROBE_INTVL_NUM 16 /* 聚合时间探测对应的间隔包数目 */
44 #define ALG_AGGR_STAT_NUM 16 /* 聚合时间探测的统计delta PER的包数目 */
45 #define ALG_AGGR_STAT_SHIFT 4 /* 聚合时间探测的统计delta PER的平滑移位值 */
46 #define ALG_AGGR_INTF_STAT_SHIFT 2 /* 叠频场景, 减少delta PER平滑移位值,加快判决 */
47 #define ALG_AGGR_INTF_DOWN_STAT_NUM 4 /* 干扰场景聚合时间向下探测的统计delta PER的包数目 */
48 #define ALG_AGGR_INTF_UP_STAT_NUM 32 /* 干扰场景聚合时间向上探测的统计delta PER的包数目 */
49 #define ALG_AGGR_INTF_DOWN_UPDATE_STAT_NUM 3 /* 干扰场景聚合时间向下探测的开始更新state num数目 */
50 #define ALG_AGGR_INTF_UP_UPDATE_STAT_NUM 8 /* 干扰场景聚合时间向上探测的开始更新state num数目 */
51
52 #define ALG_AGGR_TIME_LIST_NUM 6 /* 聚合传输时间列表的元素个数 */
53 #define ALG_AGGR_INIT_AVG_STAT_NUM 4 /* 聚合初始per统计的包数目 */
54 #define ALG_AGGR_MAX_PROBE_WAIT_COUNT 3 /* 等待探测结果的最大发送完成中断次数(避免中断丢失导致状态异常) */
55 #define ALG_AGGR_NON_PROBE_PKT_NUM 6 /* 最优速率发生变化时,不进行包探测的个数 */
56 #define ALG_AGGR_DBAC_DEFAULT_TIME_IDX (ALG_AGGR_TIME_LIST_NUM - 1) /* DBAC聚合传输时间对应的数组下标(4ms) */
57
58 /******************************************************************************
59 1.2 DBAC 宏定义
60 ******************************************************************************/
61 #define CFG_DBAC_TBTT_OFFSET 10000 /* 使用定时器延时后 OFFSET为 0us */
62 #define CFG_DBAC_PROTECT_TIME_OUT_MIN 4096 /* us */
63 #define DBAC_ONE_PACKET_SW_WAIT_TIME 500
64 #define DBAC_VIP_PROTECT_THRESHOLD 1
65 #define CFG_DBAC_TIMER_OFFSET 10 /* 右移10位 */
66 #define CFG_DBAC_DESIRED_TBTT_ADJUST 0 /* us */
67 #define CFG_DBAC_START_NOA_OFFSET 0 /* us */
68 #define CFG_DBAC_TSF_THRESHOLD 20 /* us */
69 #define CFG_DBAC_RESV_NETBUF_THRESHOLD 5 /* 预留5个netbuf */
70 #define CFG_DBAC_PROTECT_GC_SLOT_PERIOD 1
71
72 /*****************************************************************************
73 1.3 COMMON 宏定义
74 *****************************************************************************/
75 #define ALG_LOCK_TIMES_TH 2048
76 #define ALG_LOCK_TIMESTAMP_TH 300000
77 /*****************************************************************************
78 1.4 RTS 宏定义
79 *****************************************************************************/
80 #define ALG_RTS_TOLERANT_RTS_ALL_FAIL_CNT 3 /* 可容忍的RTS All fail次数 */
81
82 #define ALG_RTS_PER_MULTIPLE 1024 /* PER扩大的倍数,默认扩大1024倍 */
83 #define ALG_RTS_LOSS_RATIO_MAX_NUM 350 /* 首包错误率最大门限,大于该门限清零 */
84 #define ALG_RTS_LOSS_RATIO_RTS_RETRY_NUM 2 /* 首包错误率统计重传次数门限,小于该重传次数时,保持1024 */
85 #define ALG_RTS_LOSS_RATIO_STAT_RETRY_NUM 4 /* 首包错误率统计重传次数门限,小于该重传次数时,统计值减半 */
86
87 #define ALG_RTS_PER_STAT_FAR_RSSI_THR (-82) /* 更新PER时判定当前是否为强信号的门限 */
88 #define ALG_RTS_PER_STAT_NORMAL_RSSI_THR (-60) /* 更新PER时判定当前是否为强信号的门限 */
89
90 #define ALG_RTS_FIRST_PKT_STAT_SHIFT 6 /* 首包错误率的默认统计除2位移值(只针对最优速率) */
91 #define ALG_RTS_FIRST_PKT_STAT_INTVL 32 /* 默认首包错误率的统计间隔包数目 */
92 #define ALG_RTS_LEGACY_1ST_LOSS_RATIO_TH 160 /* LEGACY帧的默认首包错误率(单位:千分数) */
93 #define ALG_RTS_HT_VHT_1ST_LOSS_RATIO_TH 130 /* HT/VHT帧的默认首包错误率(单位:千分数) */
94
95 #define ALG_RTS_OPEN_RTS_RSSI_HIGH_THR (-70) /* RSSI小于该门限时,打开RTS */
96 #define ALG_RTS_OPEN_RTS_RSSI_LOW_THR (-85) /* RSSI大于该门限时,打开RTS */
97
98 #define TXOP_DURATION_RTS_THRESHOLD_MAX 1023 /* dot11TxopRTSThreshold的最大值 */
99 #define TXOP_DURATION_RTS_THRESHOLD_ON 1 /* dot11TxopRTSThreshold是否开启 */
100 #define ALG_RTS_KBPS_TO_BPUS 1000 /* kbps转换到bpus */
101
102 #define ALG_RTS_DURATION_MULTIPLE 0 /* 与rts空口相加,与ppdu空口比较,判断ppdu空口是否需要rts保护 */
103 #define ALG_RTS_DURATION_OPEN 1 /* 是否开启用ppdu空口开销决策是否开关rts */
104 #define ALG_RTS_RSSI_OPEN 0 /* 是否启用弱信号场景打开RTS的功能 */
105 #define ALG_RTS_RATE_DESCEND 0 /* RTS速率是否需要主动降档 */
106
107 #define ALG_RTS_11B_RATE_NUM 4 /* RTS 11B速率个数 */
108 #define ALG_RTS_11G_RATE_NUM 8 /* RTS 11G速率个数 */
109 #define ALG_RTS_11N_RATE_NUM 6 /* RTS 11N速率个数 */
110 #define ALG_RTS_11AX_RATE_NUM 6 /* RTS 11AX速率个数 */
111
112 /******************************************************************************
113 1.5 TPC 宏定义
114 ******************************************************************************/
115 #define HMAC_WLAN_NEAR_DISTANCE_RSSI (0) /* 默认近距离信号门限0dBm */
116 #define HMAC_WLAN_FAR_DISTANCE_RSSI (-127) /* 默认远距离信号门限-127dBm */
117 #define HMAC_WLAN_NORMAL_DISTANCE_RSSI_UP (-42) /* 信号强度小于-42dBm时,才认为非超近距离 */
118 #define HMAC_ALG_TPC_RATE_DOWN_GAP 2 /* 速率下降的间隙 */
119 #define HMAC_ALG_TPC_RATE_UP_GAP 2 /* 速率上升的间隙 */
120 #define HMAC_ALG_TPC_RATE_DOWN_WAIT_COUNT 32 /* 速率下降等待次数(避免速率突变导致超近距离误判) */
121
122 /*****************************************************************************
123 1.6 OTHER 宏定义
124 *****************************************************************************/
125 #define ALG_PER_PERCENT_MULTIPLE 1024 /* 百分比扩大倍数 */
126 #define ALG_PER_MULTIPLE_SHIFT 10 /* 百分比扩大倍数的移位值 */
127 #define ALG_FRAME_LEN 1544 /* 典型包长 */
128 #define ALG_MAX_USER_NUM_BUTT 8 /* 用户id最大7,对应数组长度 */
129 #define ALG_MAGIC_NUM 0xdeadbeef
130 #define ALG_MAX_NUM 0XFFFFFFFF
131
132 #define alg_is_null_ptr1(ptr1) \
133 (NULL == (ptr1))
134 #define alg_is_null_ptr2(ptr1, ptr2) \
135 ((NULL == (ptr1)) || (NULL == (ptr2)))
136 #define alg_is_null_ptr3(ptr1, ptr2, ptr3) \
137 ((NULL == (ptr1)) || (NULL == (ptr2)) || (NULL == (ptr3)))
138 #define alg_is_null_ptr4(ptr1, ptr2, ptr3, ptr4) \
139 ((NULL == (ptr1)) || (NULL == (ptr2)) || (NULL == (ptr3)) || (NULL == (ptr4)))
140 #define alg_is_null_ptr5(ptr1, ptr2, ptr3, ptr4, ptr5) \
141 ((NULL == (ptr1)) || (NULL == (ptr2)) || (NULL == (ptr3)) || \
142 (NULL == (ptr4)) || (NULL == (ptr5)))
143
alg_delta_count32(osal_u32 start,osal_u32 end)144 static INLINE__ osal_u32 alg_delta_count32(osal_u32 start, osal_u32 end)
145 {
146 if (start < end) {
147 return end - start;
148 } else {
149 return ((osal_u32)ALG_MAX_NUM - start) + end + 1; /* 1:加1 */
150 }
151 }
152 /*****************************************************************************
153 2 枚举
154 *****************************************************************************/
155 /* RTS速率挡位枚举 */
156 typedef enum {
157 ALG_RTS_LONG_11B_1M = 0, /* 0: RTS速率为11b1M, long preamble */
158 ALG_RTS_11B_5M5 = 1, /* 1: RTS速率为11b5.5M */
159 ALG_RTS_11B_11M = 2, /* 2: RTS速率为11b11M */
160 ALG_RTS_11G_6M = 3, /* 3: RTS速率为11g6M */
161 ALG_RTS_11G_12M = 4, /* 4: RTS速率为11g12M */
162 ALG_RTS_11G_24M = 5, /* 5: RTS速率为11g24M */
163
164 ALG_RTS_RATE_BUTT
165 } alg_rts_rate_enum;
166 typedef osal_u8 alg_rts_rate_enum_uint8;
167
168 typedef enum {
169 CH_BW_CHG_TYPE_MOVE_WORK,
170 CH_BW_CHG_TYPE_SCAN,
171 CH_BW_CHG_TYPE_REFRESH, /* 用于TPC刷新code表 */
172
173 CH_BW_CHG_TYPE_BUTT
174 } mac_alg_channel_bw_chg_type;
175 typedef osal_u8 mac_alg_channel_bw_chg_type_uint8;
176
177 typedef enum {
178 /* 业务调度算法配置参数,请添加到对应的START和END之间 */
179 MAC_ALG_CFG_SCHEDULE_START,
180
181 MAC_ALG_CFG_SCHEDULE_SCH_CYCLE_MS,
182 MAC_ALG_CFG_SCHEDULE_SCH_METHOD,
183 MAC_ALG_CFG_SCHEDULE_FIX_SCH_MODE,
184 MAC_ALG_CFG_SCHEDULE_STAT_LOG,
185 MAC_ALG_CFG_SCHEDULE_HOST_END,
186
187 MAC_ALG_CFG_SCHEDULE_DMAC_START,
188
189 MAC_ALG_CFG_SCHEDULE_TX_TIME_METHOD,
190 MAC_ALG_CFG_SCHEDULE_TX_TIME_DEBUG,
191 MAC_ALG_CFG_SCHEDULE_DMAC_STAT_LOG,
192
193 MAC_ALG_CFG_SCHEDULE_END,
194
195 /* AUTORATE算法配置参数,请添加到对应的START和END之间 */
196 MAC_ALG_CFG_AUTORATE_START = 50,
197 MAC_ALG_CFG_AUTORATE_DMAC_START,
198 MAC_ALG_CFG_AUTORATE_RATE_MODE,
199 MAC_ALG_CFG_AUTORATE_FIX_RATE,
200 MAC_ALG_CFG_AUTORATE_DEBUG_LOG,
201 MAC_ALG_CFG_AUTORATE_AUTO_BW,
202 MAC_ALG_CFG_AUTORATE_EVENT_TRIG_DESCEND_BW,
203 MAC_ALG_CFG_AUTORATE_AUTO_PROTOCOL,
204 MAC_ALG_CFG_AUTORATE_IS_ENABLE,
205
206 MAC_ALG_CFG_AUTORATE_END,
207
208 /* AUTOAGGR算法配置参数,请添加到对应的START和END之间 */
209 MAC_ALG_CFG_AGGR_START,
210
211 MAC_ALG_CFG_AGGR_ENABLE,
212 MAC_ALG_CFG_AGGR_MODE,
213 MAC_ALG_CFG_AGGR_FIXED_TIME_IDX,
214 MAC_ALG_CFG_AGGR_MAX_AGGR_NUM,
215 MAC_ALG_CFG_AGGR_MIN_TIME_IDX,
216 MAC_ALG_CFG_AGGR_DBG_LOG,
217 MAC_ALG_CFG_AGGR_SERIAL_LOG,
218 MAC_ALG_CFG_AGGR_VO_EN,
219 MAC_ALG_CFG_AGGR_PROBE_INTVL_NUM,
220 MAC_ALG_CFG_AGGR_NON_PROBE_PCK_NUM,
221 MAC_ALG_CFG_AGGR_STAT_SHIFT,
222
223 MAC_ALG_CFG_AGGR_END,
224
225 /* temp protect算法配置 */
226 MAC_ALG_CFG_TEMP_PROTECT_START,
227 MAC_ALG_CFG_TEMP_PROTECT_GET,
228 MAC_ALG_CFG_TEMP_PROTECT_SAFE_TH_SET,
229 MAC_ALG_CFG_TEMP_PROTECT_OVER_TH_SET,
230 MAC_ALG_CFG_TEMP_PROTECT_PAOFF_TH_SET,
231 MAC_ALG_CFG_TEMP_PROTECT_TIMES,
232 MAC_ALG_CFG_TEMP_PROTECT_DEBUG,
233 MAC_ALG_CFG_TEMP_PROTECT_TEMP_SET,
234 MAC_ALG_CFG_TEMP_PROTECT_END,
235 /* 抗干扰算法配置参数,请添加到对应的START和END之间 */
236 MAC_ALG_CFG_ANTI_INTF_START,
237
238 MAC_ALG_CFG_ANTI_INTF_IMM_ENABLE,
239 MAC_ALG_CFG_ANTI_INTF_UNLOCK_ENABLE,
240 MAC_ALG_CFG_ANTI_INTF_RSSI_STAT_CYCLE,
241 MAC_ALG_CFG_ANTI_INTF_UNLOCK_CYCLE,
242 MAC_ALG_CFG_ANTI_INTF_UNLOCK_DUR_TIME,
243 MAC_ALG_CFG_ANTI_INTF_NAV_IMM_ENABLE,
244 MAC_ALG_CFG_ANTI_INTF_GOODPUT_FALL_TH,
245 MAC_ALG_CFG_ANTI_INTF_KEEP_CYC_MAX_NUM,
246 MAC_ALG_CFG_ANTI_INTF_KEEP_CYC_MIN_NUM,
247 MAC_ALG_CFG_ANTI_INTF_TX_TIME_FALL_TH,
248 MAC_ALG_CFG_ANTI_INTF_PER_PROBE_EN,
249 MAC_ALG_CFG_ANTI_INTF_PER_FALL_TH,
250 MAC_ALG_CFG_ANTI_INTF_GOODPUT_JITTER_TH,
251 MAC_ALG_CFG_ANTI_INTF_DEBUG_MODE,
252 MAC_ALG_CFG_ANTI_INTF_NAV_IMM_ENQUIRY,
253
254 MAC_ALG_CFG_ANTI_INTF_END,
255
256 /* 干扰检测算法配置参数,请添加到对应的START和END之间 */
257 MAC_ALG_CFG_INTF_DET_START,
258
259 MAC_ALG_CFG_INTF_DET_CYCLE,
260 MAC_ALG_CFG_INTF_DET_MODE,
261 MAC_ALG_CFG_INTF_DET_DEBUG,
262 MAC_ALG_CFG_INTF_DET_COCH_THR_STA,
263 MAC_ALG_CFG_INTF_DET_COCH_NOINTF_STA,
264 MAC_ALG_CFG_INTF_DET_COCH_THR_UDP,
265 MAC_ALG_CFG_INTF_DET_COCH_THR_TCP,
266 MAC_ALG_CFG_INTF_DET_ADJCH_SCAN_CYC,
267 MAC_ALG_CFG_INTF_DET_ADJRATIO_THR,
268 MAC_ALG_CFG_INTF_DET_SYNC_THR,
269 MAC_ALG_CFG_INTF_DET_AVE_RSSI,
270 MAC_ALG_CFG_INTF_DET_NO_ADJRATIO_TH,
271 MAC_ALG_CFG_INTF_DET_NO_ADJCYC_TH,
272 MAC_ALG_CFG_INTF_DET_GET_INTF_TYPE,
273 MAC_ALG_CFG_INTF_DET_SET_PK_MODE,
274
275 MAC_ALG_CFG_INTF_DET_END,
276
277 /* EDCA优化算法配置参数,请添加到对应的START和END之间 */
278 MAC_ALG_CFG_EDCA_OPT_START,
279
280 MAC_ALG_CFG_EDCA_OPT_AP_EN_MODE,
281 MAC_ALG_CFG_EDCA_OPT_STA_EN,
282 MAC_ALG_CFG_TXOP_LIMIT_STA_EN,
283 MAC_ALG_CFG_EDCA_OPT_STA_WEIGHT,
284 MAC_ALG_CFG_EDCA_OPT_PK_DEBUG_MODE,
285 MAC_ALG_CFG_EDCA_OPT_INTF_DEBUG_MODE,
286 MAC_ALG_CFG_EDCA_DET_COLLISION_TH,
287 MAC_ALG_CFG_EDCA_NEG_DET_NONPROBE_TH,
288 MAC_ALG_CFG_EDCA_ONE_BE_TCP_OPT,
289 MAC_ALG_CFG_EDCA_ONE_BE_TCP_DBG,
290 MAC_ALG_CFG_EDCA_ONE_BE_TCP_TH_NO_INTF,
291 MAC_ALG_CFG_EDCA_ONE_BE_TCP_TH_INTF,
292
293 MAC_ALG_CFG_EDCA_OPT_END,
294
295 /* CCA优化算法配置参数,请添加到对应的START和END之间 */
296 MAC_ALG_CFG_CCA_OPT_START,
297
298 MAC_ALG_CFG_CCA_OPT_ALG_EN_MODE,
299 MAC_ALG_CFG_CCA_OPT_DEBUG_MODE,
300 MAC_ALG_CFG_CCA_OPT_SET_CCA_TH_DEBUG,
301 MAC_ALG_CFG_CCA_OPT_SET_CCA_ED20,
302 MAC_ALG_CFG_CCA_OPT_SET_CCA_ED40,
303 MAC_ALG_CFG_CCA_OPT_SET_CCA_DSSS,
304 MAC_ALG_CFG_CCA_OPT_SET_CCA_OFDM,
305 MAC_ALG_CFG_CCA_OPT_LOG,
306
307 MAC_ALG_CFG_CCA_OPT_END,
308
309 /* 算法日志配置参数,请添加到对应的START和END之间 */
310 MAC_ALG_CFG_INTF_DET_LOG_START,
311
312 MAC_ALG_CFG_INTF_DET_STAT_LOG_START,
313 MAC_ALG_CFG_INTF_DET_STAT_LOG_WRITE,
314
315 MAC_ALG_CFG_INTF_DET_LOG_END,
316
317 /* TPC算法配置参数, 请添加到对应的START和END之间 */
318 MAC_ALG_CFG_TPC_START,
319
320 MAC_ALG_CFG_TPC_MODE,
321 MAC_ALG_CFG_TPC_DEBUG,
322 MAC_ALG_CFG_TPC_LOG,
323 MAC_ALG_CFG_TPC_QUERY,
324 MAC_ALG_CFG_TPC_OVER_TMP_TH,
325 MAC_ALG_CFG_TPC_DPD_ENABLE_RATE,
326 MAC_ALG_CFG_TPC_TARGET_RATE_11B,
327 MAC_ALG_CFG_TPC_TARGET_RATE_11AG,
328 MAC_ALG_CFG_TPC_TARGET_RATE_HT20,
329 MAC_ALG_CFG_TPC_FIX_PWR_CODE,
330 MAC_ALG_CFG_TPC_TX_PWR_OFFSET_2G,
331 MAC_ALG_CFG_TPC_RF_LIMIT_OFFSET_2G,
332
333 MAC_ALG_CFG_TPC_END,
334
335 /* TPC算法日志配置参数,请添加到对应的START和END之间 */
336 MAC_ALG_CFG_TPC_LOG_START,
337
338 MAC_ALG_CFG_TPC_STAT_LOG_START,
339 MAC_ALG_CFG_TPC_STAT_LOG_WRITE,
340 MAC_ALG_CFG_TPC_PER_PKT_LOG_START,
341 MAC_ALG_CFG_TPC_PER_PKT_LOG_WRITE,
342 MAC_ALG_CFG_TPC_GET_FRAME_POW,
343 MAC_ALG_CFG_TPC_RESET_STAT,
344 MAC_ALG_CFG_TPC_RESET_PKT,
345
346 MAC_ALG_CFG_TPC_LOG_END,
347
348 /* 多用户流量控制算法配置参数 */
349 MAC_ALG_CFG_TRAFFIC_CTL_START,
350 MAC_ALG_CFG_TRAFFIC_CTL_ENABLE,
351 MAC_ALG_CFG_TRAFFIC_CTL_TIMEOUT,
352 MAC_ALG_CFG_TRAFFIC_CTL_LOG_DEBUG,
353 MAC_ALG_CFG_TRAFFIC_CTL_RX_ENABLE,
354 MAC_ALG_CFG_TRAFFIC_CTL_TX_ENABLE,
355
356 MAC_ALG_CFG_TRAFFIC_CTL_RX_RESTORE_THRESHOLD,
357 MAC_ALG_CFG_TRAFFIC_CTL_PKT_LOW_THRESHOLD,
358 MAC_ALG_CFG_TRAFFIC_CTL_PKT_HIGH_THRESHOLD,
359 MAC_ALG_CFG_TRAFFIC_CTL_PKT_BUSY_THRESHOLD,
360 MAC_ALG_CFG_TRAFFIC_CTL_DSCR_MIN_THRESHOLD,
361 MAC_ALG_CFG_TRAFFIC_CTL_DSCR_LOW_THRESHOLD,
362 MAC_ALG_CFG_TRAFFIC_CTL_DSCR_HIGH_THRESHOLD,
363 MAC_ALG_CFG_TRAFFIC_CTL_DSCR_BUSY_THRESHOLD,
364
365 MAC_ALG_CFG_TRAFFIC_CTL_SMALL_RX_RESTORE_THRESHOLD,
366 MAC_ALG_CFG_TRAFFIC_CTL_SMALL_PKT_LOW_THRESHOLD,
367 MAC_ALG_CFG_TRAFFIC_CTL_SMALL_PKT_HIGH_THRESHOLD,
368 MAC_ALG_CFG_TRAFFIC_CTL_SMALL_PKT_BUSY_THRESHOLD,
369 MAC_ALG_CFG_TRAFFIC_CTL_SMALL_DSCR_MIN_THRESHOLD,
370 MAC_ALG_CFG_TRAFFIC_CTL_SMALL_DSCR_LOW_THRESHOLD,
371 MAC_ALG_CFG_TRAFFIC_CTL_SMALL_DSCR_HIGH_THRESHOLD,
372 MAC_ALG_CFG_TRAFFIC_CTL_SMALL_DSCR_BUSY_THRESHOLD,
373
374 MAC_ALG_CFG_TRAFFIC_CTL_TX_WINDOW_SIZE,
375 MAC_ALG_CFG_TRAFFIC_CTL_TX_NETBUF_RESV_SIZE,
376 MAC_ALG_CFG_TRAFFIC_CTL_TX_MAX_FLOWCTL_CNT,
377 MAC_ALG_CFG_TRAFFIC_CTL_INFO_DUMP,
378 MAC_ALG_CFG_TRAFFIC_CTL_INFO_CLEAR,
379
380 MAC_ALG_CFG_TRAFFIC_CTL_END,
381
382 /* MWO DET算法日志配置参数,请添加到对应的START和END之间 */
383 MAC_ALG_CFG_MWO_DET_START,
384
385 MAC_ALG_CFG_MWO_DET_ENABLE,
386 MAC_ALG_CFG_MWO_DET_END_RSSI_TH,
387 MAC_ALG_CFG_MWO_DET_START_RSSI_TH,
388 MAC_ALG_CFG_MWO_DET_DEBUG,
389
390 MAC_ALG_CFG_MWO_DET_END,
391
392 /* RTS算法使能,速率配置,rts模式选择配置参数,请添加到对应的START和END之间 */
393 MAC_ALG_CFG_RTS_START,
394
395 MAC_ALG_CFG_RTS_ENABLE,
396 MAC_ALG_CFG_RTS_MODE,
397 MAC_ALG_CFG_RTS_DEBUG,
398 MAC_ALG_CFG_RTS_RATE,
399 MAC_ALG_CFG_GET_RTS_MODE,
400 MAC_ALG_CFG_RTS_MIB,
401 MAC_ALG_CFG_RTS_HOST,
402
403 MAC_ALG_CFG_RTS_END,
404
405 MAC_ALG_CFG_DBAC_START,
406 MAC_ALG_CFG_DBAC_LOG_ON,
407 MAC_ALG_CFG_DBAC_LOG_OFF,
408 MAC_ALG_CFG_DBAC_FIX_RATIO,
409 MAC_ALG_CFG_DBAC_STATS_INFO,
410 MAC_ALG_CFG_DBAC_RUN_INFO,
411 MAC_ALG_CFG_DBAC_STATS_CLEAR,
412 MAC_ALG_CFG_DBAC_END,
413
414 MAC_ALG_CFG_GLA_START,
415 MAC_ALG_CFG_GLA_USUAL_SWITCH,
416 MAC_ALG_CFG_GET_GLA_USUAL_SWITCH,
417 MAC_ALG_CFG_GLA_OPTIONAL_SWITCH,
418 MAC_ALG_CFG_GET_GLA_OPTIONAL_SWITCH,
419 MAC_ALG_CFG_GLA_END,
420 // 预留
421 MAC_ALG_CFG_AR_PARAMETER_DEBUG,
422 MAC_ALG_CFG_RESV2,
423 MAC_ALG_CFG_RESV3,
424 MAC_ALG_CFG_RESV4,
425 MAC_ALG_CFG_RESV5,
426 MAC_ALG_CFG_RESV6,
427 MAC_ALG_CFG_RESV7,
428 MAC_ALG_CFG_RESV8,
429 MAC_ALG_CFG_RESV9,
430 MAC_ALG_CFG_RESV10,
431 MAC_ALG_CFG_RESV11,
432 MAC_ALG_CFG_RESV12,
433 MAC_ALG_CFG_RESV13,
434 MAC_ALG_CFG_RESV14,
435 MAC_ALG_CFG_RESV15,
436 MAC_ALG_CFG_RESV16,
437
438 MAC_ALG_CFG_BUTT
439 } mac_alg_cfg_enum;
440 typedef osal_u16 mac_alg_cfg_enum_uint16;
441
442 /* 距离状态通知钩子类型 */
443 typedef enum {
444 ALG_DISTANCE_NOTIFY_START = 0,
445 ALG_DISTANCE_NOTIFY_DMAC_MODULE = ALG_DISTANCE_NOTIFY_START,
446 ALG_TPC_BFEE_REPORT_POW_UPDATE_NOTIFY,
447
448 ALG_DISTANCE_NOTIFY_BUTT
449 } alg_distance_notify_enum;
450 typedef osal_u8 alg_distance_notify_enum_uint8;
451
452 /* 参数同步通知钩子类型 */
453 typedef enum {
454 ALG_PARAM_SYNC_START = 0,
455 ALG_PARAM_SYNC_TPC = ALG_PARAM_SYNC_START,
456 ALG_PARAM_SYNC_TRAFFIC_CTL,
457 ALG_PARAM_SYNC_ANTI_INTF,
458 ALG_PARAM_SYNC_DBAC,
459 ALG_PARAM_SYNC_RTS,
460 ALG_PARAM_SYNC_COMMON,
461 ALG_PARAM_SYNC_AGGR,
462 ALG_PARAM_SYNC_AUTORATE,
463 ALG_PARAM_SYNC_TX_TB,
464 ALG_PARAM_SYNC_SCH,
465 ALG_PARAM_SYNC_GLA,
466 ALG_PARAM_SYNC_NOTIFY_BUTT
467 } alg_param_sync_notify_enum;
468 typedef osal_u8 alg_param_sync_notify_enum_uint8;
469
470 /* 用户统计RSSI类别 */
471 typedef enum {
472 ALG_TPC_RSSI_ACK = 0,
473 ALG_TPC_RSSI_DATA = 1,
474 ALG_TPC_RSSI_MANAG = 2,
475
476 ALG_TPC_RSSI_BUTT
477 } alg_tpc_rssi_mode_enum;
478 typedef osal_u8 alg_tpc_rssi_mode_enum_uint8;
479
480 /* 同频干扰状态通知钩子类型 */
481 typedef enum {
482 ALG_CO_INTF_NOTIFY_START = 0,
483 ALG_CO_INTF_NOTIFY_DMAC_MODULE = ALG_CO_INTF_NOTIFY_START,
484 ALG_CO_INTF_NOTIFY_AGGR = 1,
485 ALG_CO_INTF_NOTIFY_RTS = 2,
486 ALG_CO_INTF_NOTIFY_TPC = 3,
487
488 ALG_CO_INTF_NOTIFY_BUTT
489 } alg_co_intf_notify_enum;
490 typedef osal_u8 alg_co_intf_notify_enum_uint8;
491
492 typedef enum {
493 ALG_CFG_INT8 = 0,
494 ALG_CFG_UINT8 = 1,
495 ALG_CFG_UINT16 = 2,
496 ALG_CFG_UINT32 = 3,
497 ALG_CFG_UINT64 = 4,
498 ALG_CFG_TYPE_BUTT
499 } alg_cfg_param_type_enum;
500 typedef osal_u8 alg_cfg_param_type_enum_uint8;
501 typedef enum {
502 ALG_MEM_AUTORATE = 0,
503 ALG_MEM_AGGR,
504 ALG_MEM_TPC,
505 ALG_MEM_RTS,
506 ALG_MEM_CCA,
507 ALG_MEM_DBAC,
508 ALG_MEM_EDCA,
509 ALG_MEM_INTF_DET,
510 ALG_MEM_SCHEDULE,
511 ALG_MEM_SMARTANT,
512 ALG_MEM_TXBF,
513 ALG_MEM_TEMP_PROT,
514 ALG_MEM_ANTI_INTF,
515 ALG_MEM_COMMON,
516 ALG_MEM_BUTT
517 } alg_mem_enum;
518 typedef osal_u8 alg_mem_enum_uint8;
519
520 typedef enum {
521 ALG_INTF_DET_COCH = 0, /* 同频干扰检测 */
522 ALG_INTF_DET_ADJCH = 1, /* 邻频干扰检测 */
523 ALG_INTF_DET_TX_TIME = 2, /* 发送时间 */
524
525 ALG_INTF_DET_TYPE_BUTT
526 } alg_intf_det_type_enum;
527 typedef osal_u8 alg_intf_det_type_enum_uint8;
528
529 #ifdef _PRE_WLAN_FEATURE_NEGTIVE_DET
530 /* 与hal_alg_intf_det_mode_enum_uint8的区别 */
531 typedef enum {
532 ALG_INTF_DET_STATE_NOINTF = 0, /* 无干扰状态 */
533 ALG_INTF_DET_STATE_DETINTF, /* 检测到干扰状态 */
534 ALG_INTF_DET_STATE_PKADJ, /* PK参数调整状态 */
535 ALG_INTF_DET_STATE_PK, /* PK状态 */
536
537 ALG_INTF_DET_STATE_BUTT
538 } alg_intf_det_state_enum;
539 typedef osal_u8 alg_intf_det_state_enum_uint8;
540 #endif
541
542 #ifdef _PRE_WLAN_FEATURE_INTRF_MODE
543 typedef enum {
544 MAC_ALG_INTRF_MODE_11B_SWITCH,
545 MAC_ALG_INTRF_MODE_CCA_SWITCH,
546 MAC_ALG_INTRF_MODE_EDCA_SWITCH,
547 MAC_ALG_INTRF_MODE_11N_SWITCH,
548 MAC_ALG_INTRF_MODE_NO_11B_SWITCH,
549 MAC_ALG_INTRF_MODE_LONG_RANGE_INTRF_SWITCH,
550
551 MAC_ALG_INTRF_MODE_CFG_BUTT
552 } mac_alg_intrf_mode_cfg_enum;
553 typedef osal_u8 mac_alg_intrf_mode_cfg_enum_uint8;
554 #endif
555
556 /* GLA开关枚举类型 常驻/可选 */
557 typedef enum {
558 ALG_GLA_USUAL_SWITCH,
559 ALG_GLA_OPTIONAL_SWITCH,
560
561 ALG_GLA_SWITCH_TYPE_BUTT
562 } alg_gla_switch_type_enum;
563 typedef osal_u8 alg_gla_switch_type_enum_uint8;
564
565 #ifdef __cplusplus
566 #if __cplusplus
567 }
568 #endif
569 #endif
570
571 #endif /* end of alg_common_macros_rom.h */
572