WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
hal_ext_if.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2020-2020. All rights reserved.
3 * Description: Header file of HAL external public interfaces .
4 * Create: 2020-7-3
5 */
6
7#ifndef __HAL_EXT_IF_H__
8#define __HAL_EXT_IF_H__
9
10/*****************************************************************************
11 1 其他头文件包含
12*****************************************************************************/
13#include "oal_ext_if.h"
14#include "oam_ext_if.h"
15#include "frw_ext_if.h"
16#include "wlan_types_common.h"
17#include "hal_common_ops.h"
18#include "dmac_common_inc_rom.h"
19#include "hal_ext_anti_intf.h"
20#include "hal_ext_txbf.h"
21#include "hal_ext_tpc.h"
22
23#include "wlan_msg.h"
24#include "hal_ext_if_device.h"
25#ifdef _PRE_WLAN_FEATURE_P2P
26#include "hal_p2p.h"
27#endif
28#include "hal_reg_opt.h"
29#ifdef _PRE_WLAN_FEATURE_WS63
30#include "hal_ext_if_rom.h"
31#endif
32#include "hal_power_save.h"
33#include "hal_coex_reg.h"
34#ifdef __cplusplus
35#if __cplusplus
36extern "C" {
37#endif
38#endif
39
40#undef THIS_FILE_ID
41#define THIS_FILE_ID OAM_FILE_ID_HAL_EXT_IF_ROM_H
42/*****************************************************************************
43 2 宏定义
44*****************************************************************************/
45#define hal_btcoex_check_sw_preempt_delba_on(_pst_handler) \
46 ((((*(osal_u8*)&((_pst_handler)->btcoex_sw_preempt.sw_preempt_mode)) & BIT1) != 0) ? OSAL_TRUE : OSAL_FALSE)
47/* 获取当前hal devcie的ps业务是否打开标记 */
48#define get_hal_device_btcoex_m2s_mode_bitmap(_pst_handler) \
49 (*(osal_u8*)&((_pst_handler)->device_btcoex_mgr.m2s_mode_bitmap)) /* 获取当前hal devcie的btcoex m2s业务bitmap */
50#define get_hal_device_btcoex_s2m_mode_bitmap(_pst_handler) \
51 (*(osal_u8*)&((_pst_handler)->device_btcoex_mgr.s2m_mode_bitmap)) /* 获取当前hal devcie的btcoex s2m业务bitmap */
52#define get_hal_device_btcoex_s2m_wait_bitmap(_pst_handler) \
53 (*(osal_u8*)&((_pst_handler)->device_btcoex_mgr.s2m_wait_bitmap))
54
55/* HAL模块和DMAC模块共用的WLAN RX结构体 */
56typedef struct {
57 oal_netbuf_stru *netbuf; /* netbuf链表一个元素 */
58 osal_u16 netbuf_num; /* netbuf链表的个数 */
59 osal_u8 auc_resv[2]; /* 2字节对齐 */
61
62typedef struct {
63 /* CCA能量门限 */
64 osal_s8 c_ed_cca_20th_high; /* CCA 主辅20M带宽 */
65 osal_s8 c_ed_cca_40th_high; /* CCA 主40M带宽 */
66
67 /* 主20M CCA协议门限 */
68 osal_s8 c_sd_cca_20th_dsss; /* CCA DSSS检测门限 */
69 osal_s8 c_sd_cca_20th_ofdm; /* CCA OFDM检测门限,主20M带宽 */
71
72#ifndef _PRE_WLAN_FEATURE_WS63 // 与device侧同名的宏和函数用63宏控住
73#define HAL_PM_DEF_TBTT_OFFSET 1000 /* tbtt提前量默认值单位us */
74#ifdef BOARD_FPGA_WIFI
75#define HAL_PM_DEF_EXT_TSF_OFFSET 30000 /* 外置tsf唤醒提前量单位us */
76#else
77#define HAL_PM_DEF_EXT_TSF_OFFSET 4500 /* 外置tsf唤醒提前量单位us */
78#endif
79#endif
80
81/* 获取当前状态机的上一个状态 */
82#define get_hal_m2s_mode_tpye(_pst_handler) (*(osal_u8*)&((_pst_handler)->hal_m2s_fsm.m2s_mode))
85#ifndef _PRE_WLAN_FEATURE_WS63 // 与device侧同名的宏和函数用63宏控住
86#define HAL_ANT_SWITCH_RSSI_MGMT_ENABLE BIT0
87#define HAL_ANT_SWITCH_RSSI_DATA_ENABLE BIT1
88/* 低功耗相关宏定义 */
89
90#ifdef _PRE_PLAT_FEATURE_CUSTOMIZE
91#define hal_cca_opt_get_default_ed_20th(_band, _cust) \
92 (((_band) == WLAN_BAND_2G) ? \
93 ((_cust)->delta_cca_ed_high_20th_2g + HAL_CCA_OPT_ED_HIGH_20TH_DEF) : \
94 ((_cust)->delta_cca_ed_high_20th_5g + HAL_CCA_OPT_ED_HIGH_20TH_DEF))
95#define hal_cca_opt_get_default_ed_40th(_band, _cust) \
96 (((_band) == WLAN_BAND_2G) ? \
97 ((_cust)->delta_cca_ed_high_40th_2g + HAL_CCA_OPT_ED_HIGH_40TH_DEF) : \
98 ((_cust)->delta_cca_ed_high_40th_5g + HAL_CCA_OPT_ED_HIGH_40TH_DEF))
99#endif
100
101/* 获取work的子状态 */
102#define get_hal_dev_current_scan_idx(_pst_hal_device) ((_pst_hal_device)->hal_scan_params.start_chan_idx + \
103 (_pst_hal_device)->hal_scan_params.scan_chan_idx)
104#define INVALID_SAR_PWR_LIMIT (0XFF) /* 当前SAR功率值 */
105#define HAL_SAR_PWR_LIMIT_THRESHOLD (15) /* SAR功率阈值,低于阈值表示正在降SAR,高于阈值表示降SAR结束 */
106#define hal_device_state_is_busy(_pst_hal_device) \
107 ((((_pst_hal_device)->hal_dev_fsm.oal_fsm.cur_state == HAL_DEVICE_WORK_STATE) \
108 || ((_pst_hal_device)->hal_dev_fsm.oal_fsm.cur_state == HAL_DEVICE_SCAN_STATE)) ? OSAL_TRUE : OSAL_FALSE)
109#define hal_device_prev_state_is_busy(_pst_hal_device) \
110 ((((_pst_hal_device)->hal_dev_fsm.oal_fsm.prev_state == HAL_DEVICE_WORK_STATE) \
111 || ((_pst_hal_device)->hal_dev_fsm.oal_fsm.prev_state == HAL_DEVICE_SCAN_STATE)) ? OSAL_TRUE : OSAL_FALSE)
112#ifdef _PRE_WLAN_FEATURE_M2S
113#define get_hal_device_m2s_mgr(_pst_handler) \
114 (&(((hal_to_dmac_device_stru *)(_pst_handler))->device_m2s_mgr))
115#define get_hal_device_m2s_switch_prot(_pst_handler) (get_hal_device_m2s_mgr(_pst_handler)->m2s_switch_protect)
116#define get_hal_device_m2s_del_swi_miso_hold(_pst_handler) (get_hal_device_m2s_mgr(_pst_handler)->delay_swi_miso_hold)
117#define get_hal_device_m2s_mss_on(_pst_handler) (get_hal_device_m2s_mgr(_pst_handler)->mss_on)
118#define get_hal_device_m2s_rssi_mgmt_single_txchain(_pst_handler) \
119 (get_hal_device_m2s_mgr(_pst_handler)->rssi_mgmt_single_txchain)
120#endif
121
122#define hal_m2s_check_fast_scan_on(_pst_handler) \
123 ((((*(osal_u8*)&((_pst_handler)->hal_m2s_fsm.m2s_mode))& WLAN_M2S_TRIGGER_MODE_FAST_SCAN) != 0) ? \
124 OSAL_TRUE : OSAL_FALSE)
125#define hal_m2s_check_rssi_on(_pst_handler) \
126 ((((*(osal_u8*)&((_pst_handler)->hal_m2s_fsm.m2s_mode))& WLAN_M2S_TRIGGER_MODE_RSSI) != 0) ? OSAL_TRUE : OSAL_FALSE)
127#define hal_m2s_check_btcoex_on(_pst_handler) \
128 ((((*(osal_u8*)&((_pst_handler)->hal_m2s_fsm.m2s_mode))& WLAN_M2S_TRIGGER_MODE_BTCOEX) != 0) ? \
129 OSAL_TRUE : OSAL_FALSE)
130#define hal_m2s_check_command_on(_pst_handler) \
131 ((((*(osal_u8*)&((_pst_handler)->hal_m2s_fsm.m2s_mode))& WLAN_M2S_TRIGGER_MODE_COMMAND) != 0) ? \
132 OSAL_TRUE : OSAL_FALSE)
133#define hal_m2s_check_test_on(_pst_handler) \
134 ((((*(osal_u8*)&((_pst_handler)->hal_m2s_fsm.m2s_mode))& WLAN_M2S_TRIGGER_MODE_TEST) != 0) ? OSAL_TRUE : OSAL_FALSE)
135#define hal_m2s_check_custom_on(_pst_handler) \
136 ((((*(osal_u8*)&((_pst_handler)->hal_m2s_fsm.m2s_mode))& WLAN_M2S_TRIGGER_MODE_CUSTOM) != 0) ? \
137 OSAL_TRUE : OSAL_FALSE)
138#define hal_m2s_check_spec_on(_pst_handler) \
139 ((((*(osal_u8*)&((_pst_handler)->hal_m2s_fsm.m2s_mode))& WLAN_M2S_TRIGGER_MODE_SPEC) != 0) ? OSAL_TRUE : OSAL_FALSE)
140#ifdef _PRE_WLAN_FEATURE_M2S
141#define get_hal_device_rx_ant_rssi_mgmt(_pst_handler) \
142 (&(((hal_to_dmac_device_stru *)(_pst_handler))->hal_rx_ant_rssi_mgmt))
143#endif
144#ifdef _PRE_WLAN_FIT_BASED_REALTIME_CALI
145 /* 获取动态校准是否未使能 */
146#define get_hal_dyn_cali_disable(_pst_handler) \
147 ((_pst_handler)->dyn_cali_val.aus_cali_en_interval[(_pst_handler)->wifi_channel_status.band] == 0)
148#endif
149
150/*****************************************************************************
151 8 UNION定义
152*****************************************************************************/
153typedef struct {
154 osal_void (* func)(hal_to_dmac_device_stru *hal_device, osal_u32 para);
155 osal_u32 param;
157
158#ifdef _PRE_WLAN_FEATURE_DAQ
159typedef enum {
160 HAL_MAC_DIAG_TEST_INIT = 0,
161 HAL_MAC_DIAG_TEST_MATCH,
162 HAL_MAC_DIAG_TEST_QUERY = 11,
163 HAL_MAC_DIAG_TEST_STOP,
164} hal_mac_diag_test_type_enum;
165typedef enum {
166 HAL_MAC_DIAG_DUG = 0,
167 HAL_MAC_DIAG_TEST1,
168 HAL_MAC_DIAG_TEST4 = 4,
169 HAL_MAC_DIAG_TEST8 = 8,
170} hal_mac_diag_test_item_enum;
171typedef enum {
172 HAL_MAC_TX_DIAG_MATCH_RA_ADDR = 0,
173 HAL_MAC_TX_DIAG_MATCH_TA_ADDR,
174 HAL_MAC_TX_DIAG_MATCH_FRM_TYPE,
175 HAL_MAC_RX_DIAG_MATCH_RA_ADDR,
176 HAL_MAC_RX_DIAG_MATCH_TA_ADDR,
177 HAL_MAC_RX_DIAG_MATCH_FRM_TYPE,
178 HAL_MAC_TX_RX_DIAG_MATCH_NUM,
179} hal_mac_diag_test_match_enum;
180typedef enum {
181 HAL_MAC_DIAG4_NODE_DBAC = 0,
182 HAL_MAC_DIAG4_NODE_FSM,
183 HAL_MAC_DIAG4_NODE_TX_AMPDU0,
184 HAL_MAC_DIAG4_NODE_TSF_VAP3 = 31,
185} hal_mac_diag4_node_enum;
186typedef enum {
187 HAL_MAC_DIAG8_NODE_H = 0,
188 HAL_MAC_DIAG8_NODE_HV,
189 HAL_MAC_DIAG8_NODE_SNR,
190 HAL_MAC_DIAG8_NODE_PHI_PSI,
191} hal_mac_diag8_node_enum;
192typedef enum {
193 HAL_MAC_DIAG_SEL_PKT_RAM_2KB = 0,
194 HAL_MAC_DIAG_SEL_PKT_RAM_4KB,
195 HAL_MAC_DIAG_SEL_PKT_RAM_6KB,
196 HAL_MAC_DIAG_SEL_PKT_RAM_8KB,
197 HAL_MAC_DIAG_SEL_PKT_RAM_10KB,
198 HAL_MAC_DIAG_SEL_PKT_RAM_12KB,
199 HAL_MAC_DIAG_SEL_PKT_RAM_14KB,
200 HAL_MAC_DIAG_SEL_PKT_RAM_16KB,
201} hal_mac_diag_sel_pkt_ram_size_enum;
202#endif
203/*****************************************************************************
204 9 OTHERS定义
205*****************************************************************************/
206/*****************************************************************************
207 10 函数声明
208*****************************************************************************/
209#ifdef _PRE_PLAT_FEATURE_CUSTOMIZE
210osal_u8 hal_get_5g_cur_rf_chn_enable(osal_u8 cur_cali_chn);
211#endif // #ifdef _PRE_PLAT_FEATURE_CUSTOMIZE
214
215/*****************************************************************************
216 10.1 芯片级别函数
217*****************************************************************************/
226 osal_u8 vap_id_self, osal_u8 *mac_vap_id);
230 osal_u8 band, hal_tx_txop_alg_stru *txop_alg);
233
236#define get_hal_dev_current_scan_idx(_pst_hal_device) ((_pst_hal_device)->hal_scan_params.start_chan_idx + \
237 (_pst_hal_device)->hal_scan_params.scan_chan_idx)
238#ifdef _PRE_WLAN_FEATURE_DAQ
239osal_void hal_set_mac_diag_param(osal_u8 vap_id, mac_cfg_mct_set_diag_stru *event_set_diag,
240 hal_to_dmac_device_mac_test_stru *hal_mac_test_device);
241osal_void hal_set_mac_diag_mode(mac_cfg_mct_set_diag_stru *event_set_diag,
242 hal_to_dmac_device_mac_test_stru *hal_mac_test_device);
243osal_void hal_set_mac_diag_test_query(hal_to_dmac_device_mac_test_stru *hal_mac_test_device);
244#endif
245/*****************************************************************************
246 10.3.2 DEVICE级别 第一个入参类型为 hal_to_dmac_device_stru
247*****************************************************************************/
249{
250 hal_public_hook_func(_rx_init_dscr_queue)(device, set_hw);
251}
252
254{
255 hal_public_hook_func(_rx_destroy_dscr_queue)(device);
256}
257
258/* 填充描述符的基本信息,包括帧长度、mac长度、安全信息 */
260 hal_tx_dscr_stru *tx_dscr, hal_tx_mpdu_stru *mpdu)
261{
262 hal_public_hook_func(_tx_fill_basic_ctrl_dscr)(hal_device, tx_dscr, mpdu);
263}
264
265/* 将两个描述符连起来 */
267 hal_tx_dscr_stru *tx_dscr_prev, hal_tx_dscr_stru *tx_dscr)
268{
269 unref_param(hal_device);
270 hal_public_hook_func(_tx_ctrl_dscr_link)(tx_dscr_prev, tx_dscr);
271}
272
273/* 从描述符的next获取下一个描述符地址 */
275 hal_tx_dscr_stru **tx_dscr_next)
276{
277 unref_param(hal_device);
278 hal_public_hook_func(_get_tx_dscr_next)(tx_dscr, tx_dscr_next);
279}
280
282 hal_tx_dscr_stru *tx_dscr)
283{
284 unref_param(hal_device);
285 hal_public_hook_func(_tx_ctrl_dscr_unlink)(tx_dscr);
286}
287
289 const hal_tx_dscr_stru * tx_dscr, osal_u8 *vap_id)
290{
291 unref_param(hal_device);
292 hal_public_hook_func(_tx_get_vap_id)(tx_dscr, vap_id);
293}
294
295/*****************************************************************************
296 功能描述 : 获取发送队列状态
297*****************************************************************************/
299{
300 return hal_public_hook_func(_get_tx_q_status)(qnum);
301}
302
303#ifdef _PRE_WLAN_FIT_BASED_REALTIME_CALI
304/*****************************************************************************
305 函 数 名 : 动态校准配置恢复
306*****************************************************************************/
307static INLINE__ osal_void hal_rf_init_dyn_cali_reg_conf(hal_to_dmac_device_stru *hal_device)
308{
309 hal_public_hook_func(_rf_init_dyn_cali_reg_conf)(hal_device);
310}
311
312static INLINE__ osal_void hal_tx_set_pdet_en(const hal_to_dmac_device_stru *hal_device, hal_tx_dscr_stru *tx_dscr,
313 oal_bool_enum_uint8 pdet_en_flag)
314{
315 hal_public_hook_func(_tx_set_pdet_en)(hal_device, tx_dscr, pdet_en_flag);
316}
317
318#endif
319
320/*****************************************************************************
321 函 数 名 : hal_set_ana_dbb_ch_sel
322 功能描述 : 设置天线和phy通道对应关系
323*****************************************************************************/
324static INLINE__ osal_void hal_set_ana_dbb_ch_sel(hal_to_dmac_device_stru *hal_device)
325{
326 hal_public_hook_func(_set_ana_dbb_ch_sel)(hal_device);
327}
328
329/*****************************************************************************
330 函 数 名 : hal_update_ext_lna_cfg
331 功能描述 : 更新EXT LNA
332*****************************************************************************/
333static INLINE__ osal_void hal_update_cbb_cfg(hal_to_dmac_device_stru *hal_device)
334{
335 hal_public_hook_func(_update_cbb_cfg)(hal_device);
336}
337
338static INLINE__ osal_void hal_get_hal_vap(const hal_to_dmac_device_stru * hal_device, osal_u8 vap_id,
339 hal_to_dmac_vap_stru **hal_vap)
340{
341 hal_public_hook_func(_get_hal_vap)(hal_device, vap_id, hal_vap);
342}
343
344/*****************************************************************************
345 功能描述 : 按bit读取32位寄存器的值,寄存器值右移offset后取后bits位
346*****************************************************************************/
347static INLINE__ osal_u32 hal_reg_read_bit(osal_u32 addr, osal_u8 offset, osal_u8 bits)
348{
349 osal_u32 value = hal_reg_read(addr);
350
351 return (value >> offset) & (((osal_u32)1 << bits) - 1);
352}
353
354/*****************************************************************************
355 功能描述 : 写32位寄存器对应bits位的值
356*****************************************************************************/
357static INLINE__ osal_void hal_reg_write_bits(osal_u32 reg_addr, osal_u8 offset, osal_u8 bits, osal_u32 reg_val)
358{
359 osal_u32 value = hal_reg_read(reg_addr);
360 value &= ~((((osal_u32)1 << bits) - 1) << offset); /* 先将对应bits位的值清0 */
361 value |= ((reg_val & (((osal_u32)1 << bits) - 1)) << offset); /* 将对应bits值改写为配置值 */
362 hal_reg_write(reg_addr, value);
363}
364
365/*****************************************************************************
366 功能描述 : 写16位寄存器对应bits位的值
367*****************************************************************************/
368static INLINE__ osal_void hal_reg_write16_bits(osal_u32 reg_addr, osal_u8 offset, osal_u8 bits, osal_u32 reg_val)
369{
370 osal_u16 value = hal_reg_read16(reg_addr);
371 value &= ~((((osal_u16)1 << bits) - 1) << offset); /* 先将对应bits位的值清0 */
372 value |= ((reg_val & (((osal_u16)1 << bits) - 1)) << offset); /* 将对应bits值改写为配置值 */
373 hal_reg_write16(reg_addr, value);
374}
375
376static INLINE__ osal_void hal_reg_write16_or_bits(osal_u32 reg_addr, osal_u32 or_val)
377{
378 osal_u16 value = hal_reg_read16(reg_addr);
379 value |= or_val;
380 hal_reg_write16(reg_addr, value);
381}
382
383/*****************************************************************************
384 功能描述 : 读取表寄存器的值
385*****************************************************************************/
386static INLINE__ osal_void hal_reg_write_tbl(const hal_reg32_cfg_stru *reg_tbl, osal_u8 tbl_len)
387{
388 osal_u8 index;
389 for (index = 0; index < tbl_len; index++) {
390 hal_reg_write(reg_tbl[index].address, reg_tbl[index].value);
391 }
392}
393
394static INLINE__ osal_void hal_reg_write16_tbl(const hal_reg16_cfg_stru *reg_tbl, osal_u8 tbl_len)
395{
396 osal_u8 index;
397 for (index = 0; index < tbl_len; index++) {
398 hal_reg_write16(reg_tbl[index].address, reg_tbl[index].value);
399 }
400}
401
402/*****************************************************************************
403 功能描述 : 写表寄存器的值
404*****************************************************************************/
405static INLINE__ osal_void hal_reg_read_tbl(hal_reg32_cfg_stru *reg_tbl, osal_u8 tbl_len)
406{
407 osal_u8 index;
408 for (index = 0; index < tbl_len; index++) {
409 reg_tbl[index].value = hal_reg_read(reg_tbl[index].address);
410 }
411}
412
413static INLINE__ osal_void hal_reg_read16_tbl(hal_reg16_cfg_stru *reg_tbl, osal_u8 tbl_len)
414{
415 osal_u8 index;
416 for (index = 0; index < tbl_len; index++) {
417 reg_tbl[index].value = hal_reg_read(reg_tbl[index].address);
418 }
419}
420
421/*****************************************************************************
422 hal初始化/退出/复位相关接口
423*****************************************************************************/
424/*****************************************************************************
425 功能描述 : 停止PA和PHY的工作
426*****************************************************************************/
428{
429 hal_public_hook_func(_disable_machw_phy_and_pa)();
430}
431
432/*****************************************************************************
433 功能描述 : 停止PA和PHY的工作
434*****************************************************************************/
436{
437 hal_public_hook_func(_enable_machw_phy_and_pa)(hal_device);
438}
439
440/*****************************************************************************
441 函 数 名 : hal_recover_machw_phy_and_pa
442 功能描述 : 恢复hal_to_dmac_device_stru中记录的pa状态
443*****************************************************************************/
445{
446 hal_public_hook_func(_recover_machw_phy_and_pa)(hal_device);
447}
448
449/*****************************************************************************
450 hal MAC hardware初始化接口
451*****************************************************************************/
452/*****************************************************************************
453 功能描述 : MAC hardware初始化接口
454*****************************************************************************/
456
457/*****************************************************************************
458 功能描述 : MAC hardware 公共区域初始化接口
459*****************************************************************************/
461{
462 hal_public_hook_func(_initialize_machw_common)();
463}
464
465/*****************************************************************************
466 函 数 名 : hal_set_bandwidth_mode
467 功能描述 : 设置带宽
468*****************************************************************************/
471{
472 hal_public_hook_func(_set_bandwidth_mode)(hal_device, bandwidth);
473}
474
475/*****************************************************************************
476 功能描述 : 复位mac寄存器保存
477*****************************************************************************/
478static INLINE__ osal_void hal_reset_save_mac_reg(osal_void)
479{
480 hal_public_hook_func(_reset_save_mac_reg)();
481}
482
483/*****************************************************************************
484 功能描述 : 控制硬件在收到RTS时不回CTS
485*****************************************************************************/
487{
488 hal_public_hook_func(_disable_machw_cts_trans)();
489}
490
491/*****************************************************************************
492 功能描述 : 控制硬件在收到RTS时回CTS
493*****************************************************************************/
495{
496 hal_public_hook_func(_enable_machw_cts_trans)();
497}
498
499/*****************************************************************************
500 函 数 名 : hal_initialize_phy
501*****************************************************************************/
503
504#ifdef _PRE_WLAN_FEATURE_DFS
505/*****************************************************************************
506 函 数 名 : hal_radar_config_reg
507*****************************************************************************/
508static INLINE__ osal_void hal_radar_config_reg(hal_dfs_radar_type_enum_uint8 dfs_domain)
509{
510 hal_public_hook_func(_radar_config_reg)(dfs_domain);
511}
512static INLINE__ osal_void hal_radar_config_reg_bw(hal_dfs_radar_type_enum_uint8 radar_type,
514{
515 hal_public_hook_func(_radar_config_reg_bw)(radar_type, bandwidth);
516}
517static INLINE__ osal_void hal_radar_enable_chirp_det(oal_bool_enum_uint8 chirp_det)
518{
519 hal_public_hook_func(_radar_enable_chirp_det)(chirp_det);
520}
521
522#endif
523
525{
526 hal_public_hook_func(_set_rf_limit_power)(band, power);
527}
528
530
533{
534 hal_public_hook_func(_pow_set_band_spec_frame_tx_power)(hal_device, band, chan_idx);
535}
536
537static INLINE__ osal_void hal_set_resp_pow_level(osal_char near_distance_rssi, osal_char far_distance_rssi)
538{
539 hal_public_hook_func(_set_resp_pow_level)(near_distance_rssi, far_distance_rssi);
540}
541
542#ifdef _PRE_WLAN_FEATURE_USER_RESP_POWER
544 osal_u8 lut_index, osal_u8 rssi_distance)
545{
546 hal_public_hook_func(_pow_set_user_resp_frame_tx_power)(hal_device, lut_index, rssi_distance);
547}
548#endif
549
551{
552 hal_public_hook_func(_pow_get_spec_frame_data_rate_idx)(rate, rate_idx);
553}
555{
556 return hal_public_hook_func(_pow_get_pow_table_tpc_code)(band, rate, bw, pwr_lvl);
557}
558
560 osal_u8 *rate_idx)
561{
562 hal_public_hook_func(_pow_get_data_rate_idx)(protocol_mode, mcs, bw, rate_idx);
563}
564
565static INLINE__ osal_u32 hal_get_tx_vector_word6(osal_void)
566{
567 return hal_public_hook_func(_get_tx_vector_word6)();
568}
569static INLINE__ osal_u32 hal_get_rpt_tx_data_word0(osal_void)
570{
571 return hal_public_hook_func(_get_rpt_tx_data_word0)();
572}
573
574/*
575输入vap模式,hal创建vap结构,并标记vap id
576*/
578 wlan_vap_mode_enum_uint8 vap_mode, osal_u8 hal_vap_id, hal_to_dmac_vap_stru ** hal_vap)
579{
580 hal_public_hook_func(_add_vap)(hal_device, vap_mode, hal_vap_id, hal_vap);
581}
582
583/*
584输入vap模式,hal删除vap结构,并标记vap id
585*/
587{
588 hal_public_hook_func(_del_vap)(hal_device, vap_id);
589}
590
591/*****************************************************************************
592 函 数 名 : hal_clear_hw_fifo
593 功能描述 : 清除硬件发送缓冲区
594*****************************************************************************/
596{
597 /* disable PA之后、clear TX FIFO之前,增加10us延迟,期望硬件有足够时间回填描述符 */
598 osal_udelay(10);
599 hal_public_hook_func(_clear_hw_fifo)(hal_device);
600}
601
602/*****************************************************************************
603 功能描述 : 屏蔽指定中断
604*****************************************************************************/
606{
607 hal_public_hook_func(_mask_interrupt)(offset);
608}
609
610/*****************************************************************************
611 功能描述 : 恢复指定中断
612*****************************************************************************/
614{
615 hal_public_hook_func(_unmask_interrupt)(offset);
616}
617
618#ifdef _PRE_WLAN_ONLINE_DPD
619
620static INLINE__ osal_void hal_dpd_cfr_set_bw(hal_to_dmac_device_stru *hal_device,
622{
623 hal_public_hook_func(_dpd_cfr_set_bw)(hal_device, bandwidth);
624}
625
626static INLINE__ osal_void hal_dpd_cfr_set_freq(hal_to_dmac_device_stru *hal_device, osal_u8 val)
627{
628 hal_public_hook_func(_dpd_cfr_set_freq)(hal_device, val);
629}
630#endif
631
632/*****************************************************************************
633 功能描述 : 将密钥写进硬件寄存器
634*****************************************************************************/
636{
637 hal_public_hook_func(_ce_add_key)(security_key);
638}
639
640/*****************************************************************************
641 功能描述 : 读取cipher key值
642*****************************************************************************/
644{
645 hal_public_hook_func(_ce_get_key)(security_key);
646}
647
649{
650 hal_public_hook_func(_chan_measure_start)(meas);
651}
652
653/*****************************************************************************
654 功能描述 : 读取硬件MAC信道统计寄存器
655*****************************************************************************/
657{
658 hal_public_hook_func(_get_ch_statics_result)(ch_statics);
659}
660
661/*****************************************************************************
662 函 数 名 : hal_enable_radar_det
663 功能描述 : 设置硬件PHY雷达检测使能位
664*****************************************************************************/
665static INLINE__ osal_void hal_enable_radar_det(osal_u8 enable)
666{
667 hal_public_hook_func(_enable_radar_det)(enable);
668}
669
670/*****************************************************************************
671 函 数 名 : hal_get_bcn_rate
672 功能描述 : 获取某个vap的beacon datarate
673*****************************************************************************/
675{
676 hal_public_hook_func(_get_bcn_rate)(hal_vap, data_rate);
677}
678
679/*****************************************************************************
680 函 数 名 : hal_set_bcn_phy_tx_mode
681 功能描述 : 设置beacon帧的txmode
682*****************************************************************************/
684
685{
686 hal_public_hook_func(_set_bcn_phy_tx_mode)(hal_vap, pow_code);
687}
688
689#ifdef _PRE_WLAN_FEATURE_EDCA_OPT
690/*****************************************************************************
691 功能描述 : EDCA优化特性下清空部分mac统计寄存器
692*****************************************************************************/
693static INLINE__ osal_void hal_set_counter1_clear(osal_void)
694{
695 hal_public_hook_func(_set_counter1_clear)();
696}
697#endif
698
699#define HAL_VAP_LEVEL_FUNC
700/*****************************************************************************
701 函 数 名 : hal_vap_tsf_get_32bit
702 功能描述 : 获取tsf低32位值
703*****************************************************************************/
705{
706 hal_public_hook_func(_vap_tsf_get_32bit)(hal_vap, tsf_lo);
707}
708
709/*****************************************************************************
710 函 数 名 : hal_vap_tsf_get_64bit
711 功能描述 : 获取整个tsf 64位值
712*****************************************************************************/
714 osal_u32 *tsf_lo)
715{
716 hal_public_hook_func(_vap_tsf_get_64bit)(hal_vap, tsf_high, tsf_lo);
717}
718
719/*****************************************************************************
720 函 数 名 : hal_vap_beacon_suspend
721 功能描述 : 挂起beacon帧发送
722*****************************************************************************/
724{
725 hal_public_hook_func(_vap_beacon_suspend)(hal_vap);
726}
727
728/*****************************************************************************
729 函 数 名 : hal_vap_beacon_resume
730 功能描述 : 恢复beacon帧发送
731*****************************************************************************/
733{
734 hal_public_hook_func(_vap_beacon_resume)(hal_vap);
735}
736
737#ifdef _PRE_WLAN_FEATURE_AMPDU_TX_HW
738/*****************************************************************************
739 函 数 名 : hal_set_hw_en_reg_cfg
740 功能描述 : 设置硬件聚合需要配置的寄存器
741*****************************************************************************/
743{
744 hal_public_hook_func(_set_hw_en_reg_cfg)(hw_en);
745}
746#endif
747/*****************************************************************************
748 hal vap TSF参数配置相关接口
749*****************************************************************************/
750/*****************************************************************************
751 函 数 名 : hal_vap_read_tbtt_timer
752 功能描述 : 读取TBTT计数器
753*****************************************************************************/
755{
756 hal_public_hook_func(_vap_read_tbtt_timer)(hal_vap, value);
757}
758
759/*****************************************************************************
760 函 数 名 : hal_vap_set_machw_beacon_period
761 功能描述 : 设置vap的Beacon Period
762*****************************************************************************/
764{
765 hal_public_hook_func(_vap_set_machw_beacon_period)(hal_vap, beacon_period);
766}
767
768/*****************************************************************************
769 功能描述 : wlan service 去注册
770*****************************************************************************/
772{
773 hal_public_hook_func(_pm_servid_unregister)();
774}
775
777{
778 hal_public_hook_func(_pm_vote2platform)(pm_mode);
779}
780
782{
783 hal_public_hook_func(_pm_set_bcn_rf_chain)(hal_vap, bcn_rf_chain);
784}
785
786/*****************************************************************************
787 函 数 名 : hal_enable_tsf_tbtt
788 功能描述 : 打开tsf tbtt中断
789*****************************************************************************/
791{
792 hal_public_hook_func(_enable_tsf_tbtt)(hal_vap, dbac_enable);
793}
794
795/*****************************************************************************
796 功能描述 : 发送单音信号
797*****************************************************************************/
798
799/*****************************************************************************
800 函 数 名 : hal_vap_get_gtk_rx_lut_idx
801 功能描述 : hal vap获取lut idx
802*****************************************************************************/
804{
805 hal_public_hook_func(_vap_get_gtk_rx_lut_idx)(hal_vap, lut_idx);
806}
807
808#ifdef _PRE_WLAN_FEATURE_M2S
809static INLINE__ osal_void hal_update_datarate_by_chain(hal_to_dmac_device_stru *hal_device, osal_u8 resp_tx_chain)
810{
811 hal_public_hook_func(_update_datarate_by_chain)(hal_device, resp_tx_chain);
812}
813
814/*****************************************************************************
815 功能描述 : 获取he rom里指示的nss
816*****************************************************************************/
817static INLINE__ osal_void hal_get_reg_he_rom_nss(osal_u32 *peer_rom_nss)
818{
819 hal_public_hook_func(_get_reg_he_rom_nss)(peer_rom_nss);
820}
821#endif
822
823
824#ifdef _PRE_WLAN_FEATURE_FTM
825/*****************************************************************************
826 函 数 名 : hal_get_ftm_time
827 功能描述 : 获取ftm time
828*****************************************************************************/
829static INLINE__ osal_u64 hal_get_ftm_time(osal_u64 time)
830{
831 return hal_public_hook_func(_get_ftm_time)(time);
832}
833
834/*****************************************************************************
835 函 数 名 : hal_check_ftm_t4
836 功能描述 : 检查ftm time
837*****************************************************************************/
838static INLINE__ osal_u64 hal_check_ftm_t4(osal_u64 time)
839{
840 return hal_public_hook_func(_check_ftm_t4)(time);
841}
842
843/*****************************************************************************
844 函 数 名 : hal_check_ftm_t4
845 功能描述 : 检查ftm time
846*****************************************************************************/
847static INLINE__ osal_char hal_get_ftm_t4_intp(osal_u64 time)
848{
849 return hal_public_hook_func(_get_ftm_t4_intp)(time);
850}
851
852/*****************************************************************************
853 函 数 名 : hal_check_ftm_t2
854 功能描述 : 检查ftm time
855*****************************************************************************/
856static INLINE__ osal_u64 hal_check_ftm_t2(osal_u64 time)
857{
858 return hal_public_hook_func(_check_ftm_t2)(time);
859}
860
861/*****************************************************************************
862 函 数 名 : hal_check_ftm_t4
863 功能描述 : 检查ftm time
864*****************************************************************************/
865static INLINE__ osal_char hal_get_ftm_t2_intp(osal_u64 time)
866{
867 return hal_public_hook_func(_get_ftm_t2_intp)(time);
868}
869
870/*****************************************************************************
871 功能描述 : 设置ftm 总开关
872*****************************************************************************/
873static INLINE__ osal_void hal_set_ftm_enable(oal_bool_enum_uint8 ftm_status)
874{
875 hal_public_hook_func(_set_ftm_enable)(ftm_status);
876}
877
878/*****************************************************************************
879 功能描述 : 设置ftm initiator
880*****************************************************************************/
881static INLINE__ osal_void hal_set_ftm_sample(oal_bool_enum_uint8 ftm_status)
882{
883 hal_public_hook_func(_set_ftm_sample)(ftm_status);
884}
885
886/*****************************************************************************
887 功能描述 : 设置ftm responser
888*****************************************************************************/
889static INLINE__ osal_void hal_set_ftm_ctrl_status(oal_bool_enum_uint8 ftm_status)
890{
891 hal_public_hook_func(_set_ftm_ctrl_status)(ftm_status);
892}
893
894/*****************************************************************************
895 函 数 名 : hal_get_ftm_cali_rx_time
896*****************************************************************************/
897static INLINE__ osal_void hal_get_ftm_cali_rx_time(osal_u32 *ftm_cali_rx_time)
898{
899 hal_public_hook_func(_get_ftm_cali_rx_time)(ftm_cali_rx_time);
900}
901
902/*****************************************************************************
903 函 数 名 : hal_get_ftm_cali_rx_intp_time
904*****************************************************************************/
905static INLINE__ osal_void hal_get_ftm_cali_rx_intp_time(osal_u32 *ftm_cali_rx_intp_time)
906{
907 hal_public_hook_func(_get_ftm_cali_rx_intp_time)(ftm_cali_rx_intp_time);
908}
909
910/*****************************************************************************
911 函 数 名 : hal_get_ftm_cali_tx_time
912*****************************************************************************/
913osal_void hal_get_ftm_cali_tx_time(osal_u32 *ftm_cali_tx_time);
914
915/*****************************************************************************
916 函 数 名 : hal_set_ftm_cali
917 功能描述 : 设置ftm 环回
918*****************************************************************************/
919osal_void hal_set_ftm_cali(hal_to_dmac_device_stru *hal_device,
920 hal_tx_dscr_stru *tx_dscr, oal_bool_enum_uint8 ftm_cali);
921
922/*****************************************************************************
923 函 数 名 : hal_set_ftm_tx_cnt
924 功能描述 : 设置FTM帧 硬件重传次数
925*****************************************************************************/
926osal_void hal_set_ftm_tx_cnt(hal_tx_dscr_stru *tx_dscr, osal_u8 ftm_tx_cnt);
927
928/*****************************************************************************
929 函 数 名 : hal_set_ftm_bandwidth
930 功能描述 : 设置发送描述符中的tx_desc_freq_bandwidth_mode
931*****************************************************************************/
932osal_void hal_set_ftm_bandwidth(hal_tx_dscr_stru *tx_dscr, wlan_bw_cap_enum_uint8 band_cap);
933
934/*****************************************************************************
935 函 数 名 : hal_set_ftm_protocol
936*****************************************************************************/
937osal_void hal_set_ftm_protocol(hal_tx_dscr_stru *tx_dscr, wlan_phy_protocol_enum_uint8 prot_format);
938
939/*****************************************************************************
940 函 数 名 : hal_set_ftm_m2s
941*****************************************************************************/
942osal_void hal_set_ftm_m2s(hal_tx_dscr_stru *tx_dscr, osal_u8 tx_chain_selection);
943
944/*****************************************************************************
945 函 数 名 : hal_get_ftm_rtp_reg
946*****************************************************************************/
947osal_void hal_get_ftm_rtp_reg(osal_u32 *reg0, osal_u32 *reg1, osal_u32 *reg2, osal_u32 *reg3, osal_u32 *reg4);
948
949/*****************************************************************************
950 函 数 名 : hal_set_ftm_m2s_phy
951*****************************************************************************/
952osal_void hal_set_ftm_m2s_phy( oal_bool_enum_uint8 is_mimo, osal_u8 tx_chain_selection);
953
954/*****************************************************************************
955 函 数 名 : hal_get_ftm_intp_status
956 功能描述 : 获取ftm intp开关状态
957*****************************************************************************/
958osal_void hal_get_ftm_intp_status(osal_u32 *ftm_status);
959
960/*****************************************************************************
961 函 数 名 : hal_get_ftm_new_status
962 功能描述 : 获取ftm 同步特性开关状态
963*****************************************************************************/
964osal_void hal_get_ftm_new_status(osal_u32 *ftm_status);
965
966/*****************************************************************************
967 函 数 名 : hal_get_ftm_cnt_status
968 功能描述 : 获取ftm 计数器开关状态
969*****************************************************************************/
970osal_void hal_get_ftm_cnt_status(osal_u32 *ftm_status);
971
972/*****************************************************************************
973 函 数 名 : hal_get_ftm_pluse_enabne_status
974 功能描述 : 获取ftm 脉冲开关状态
975*****************************************************************************/
976osal_void hal_get_ftm_pulse_enable_status(osal_u32 *ftm_status);
977
978/*****************************************************************************
979 函 数 名 : hal_get_ftm_crystal_oscillator_offset_update_status
980 功能描述 : 获取ftm 更新晶振偏差开关状态
981*****************************************************************************/
982osal_void hal_get_ftm_crystal_oscillator_offset_update_status(osal_u32 *ftm_status);
983
984/*****************************************************************************
985 函 数 名 : hal_get_ftm_clock_offset_update_status
986 功能描述 : 获取ftm 更新时钟偏差开关状态
987*****************************************************************************/
988osal_void hal_get_ftm_clock_offset_update_status(osal_u32 *ftm_status);
989
990/*****************************************************************************
991 功能描述 : 获取FTM时钟频率
992*****************************************************************************/
993osal_void hal_get_ftm_phy_bw_mode(osal_u32 *ftm_status);
994
995/*****************************************************************************
996 功能描述 : 获取FTM 插值上报频率
997*****************************************************************************/
998osal_void hal_get_ftm_intp_freq(osal_u32 *ftm_status);
999
1000/*****************************************************************************
1001 函 数 名 : hal_get_ftm_pulse_offset
1002 功能描述 : 获取ftm脉冲偏差值
1003*****************************************************************************/
1004osal_u64 hal_get_ftm_pulse_offset(osal_void);
1005
1006/*****************************************************************************
1007 函 数 名 : hal_get_ftm_pulse_freq
1008 功能描述 : 获取ftm脉冲周期值
1009*****************************************************************************/
1010osal_u64 hal_get_ftm_pulse_freq(osal_void);
1011
1012/*****************************************************************************
1013 函 数 名 : hal_get_ftm_crystal_oscillator_offset
1014 功能描述 : 获取ftm晶振偏差值
1015*****************************************************************************/
1016osal_u32 hal_get_ftm_crystal_oscillator_offset(osal_void);
1017
1018/*****************************************************************************
1019 函 数 名 : hal_get_ftm_clock_offset
1020 功能描述 : 获取ftm时钟偏差值
1021*****************************************************************************/
1022osal_u64 hal_get_ftm_clock_offset(osal_void);
1023
1024/*****************************************************************************
1025 函 数 名 : hal_set_ftm_new_status
1026 功能描述 : 设置ftm 同步特性开关状态
1027*****************************************************************************/
1028static INLINE__ osal_void hal_set_ftm_new_status(osal_u32 ftm_status)
1029{
1030 hal_public_hook_func(_set_ftm_intp_status)(ftm_status);
1031}
1032
1033/*****************************************************************************
1034 函 数 名 : hal_set_ftm_new_status
1035 功能描述 : 设置ftm 同步计数步长复位状态
1036*****************************************************************************/
1037osal_void hal_set_ftm_step_count_status(osal_u32 ftm_status);
1038
1039/*****************************************************************************
1040 函 数 名 : hal_set_ftm_cnt_status
1041 功能描述 : 设置ftm 计数器开关状态
1042*****************************************************************************/
1043osal_void hal_set_ftm_cnt_status(osal_u32 ftm_status);
1044
1045/*****************************************************************************
1046 函 数 名 : hal_set_ftm_crystal_oscillator_offset_update_status
1047 功能描述 : 设置ftm 更新晶振偏差开关状态
1048*****************************************************************************/
1049osal_void hal_set_ftm_crystal_oscillator_offset_update_status(osal_u32 ftm_status);
1050
1051/*****************************************************************************
1052 函 数 名 : hal_set_ftm_clock_offset_update_status
1053 功能描述 : 设置ftm 更新时钟偏差开关状态
1054*****************************************************************************/
1055static INLINE__ osal_void hal_set_ftm_clock_offset_update_status(osal_u32 ftm_status)
1056{
1057 hal_public_hook_func(_set_ftm_clock_offset_update_status)(ftm_status);
1058}
1059
1060/*****************************************************************************
1061 函 数 名 : hal_set_ftm_crystal_oscillator_offset
1062 功能描述 : 设置ftm晶振偏差值
1063*****************************************************************************/
1064osal_void hal_set_ftm_crystal_oscillator_offset(osal_u32 time);
1065
1066/*****************************************************************************
1067 函 数 名 : hal_set_ftm_clock_offset
1068 功能描述 : 设置ftm时钟偏差值
1069*****************************************************************************/
1070osal_void hal_set_ftm_clock_offset(osal_u64 time);
1071
1072/*****************************************************************************
1073 函 数 名 : hal_sat_crystal_oscillator_offset
1074 功能描述 : 晶振偏差处理
1075*****************************************************************************/
1076osal_s64 hal_sat_crystal_oscillator_offset(osal_s64 clock_offset, osal_s64 delta);
1077/*****************************************************************************
1078 功能描述 : hal_get_rx_digital_scaling_bypass
1079*****************************************************************************/
1080osal_void hal_get_rx_digital_scaling_bypass(osal_u32 *bypass);
1081/*****************************************************************************
1082 功能描述 : hal_get_rx_lpf1_bypass
1083*****************************************************************************/
1084osal_void hal_get_rx_lpf1_bypass(osal_u32 *bypass);
1085/*****************************************************************************
1086 功能描述 : hal_get_rxiq_filter_force_bypass
1087*****************************************************************************/
1088osal_void hal_get_rxiq_filter_force_bypass(osal_u32 *bypass);
1089
1090#endif
1091
1093
1094/*****************************************************************************
1095 功能描述 : FPGA单板根据协议模式配置phy的11ax ctl位
1096*****************************************************************************/
1098
1099/************************************ *****************************************
1100 功能描述 : 用户功率信息初始化
1101*****************************************************************************/
1104
1105/************************************ *****************************************
1106 功能描述 : 校准维测信息
1107*****************************************************************************/
1112
1113/* 设置除基本信息外的所有其他描述符字段 */
1115 hal_tx_dscr_stru *tx_dscr, hal_tx_txop_feature_stru *txop_feature,
1116 hal_tx_txop_alg_stru *txop_alg, hal_tx_ppdu_feature_stru *ppdu_feature)
1117{
1118 hal_public_hook_func(_tx_ucast_data_set_dscr)(hal_device, tx_dscr, txop_feature, txop_alg, ppdu_feature);
1119}
1120/*****************************************************************************
1121 函 数 名 : hal_vap_get_machw_txop_limit_vivo
1122 功能描述 : 获取VI、VO的TXOP上限(单位: 微秒)
1123*****************************************************************************/
1124static INLINE__ osal_void hal_vap_get_machw_txop_limit_ac(osal_u8 ac, osal_u16 *txop)
1125{
1126 hal_public_hook_func(_vap_get_machw_txop_limit_ac)(ac, txop);
1127}
1128#endif // #ifndef _PRE_WLAN_FEATURE_WS63
1131
1132#ifdef _PRE_WLAN_FEATURE_CCA_OPT
1133/*****************************************************************************
1134 函 数 名 : hal_set_ed_high_th
1135 功能描述 : CCA优化下设置cca的20/40M检测门限
1136*****************************************************************************/
1137static INLINE__ osal_void hal_set_ed_high_th(osal_s8 ed_high_20_reg_val, osal_s8 ed_high_40_reg_val,
1138 oal_bool_enum_uint8 is_default_th)
1139{
1140 hal_public_hook_func(_set_ed_high_th)(ed_high_20_reg_val, ed_high_40_reg_val, is_default_th);
1141}
1142
1143static INLINE__ osal_void hal_set_cca_prot_th(osal_s8 sd_cca_20th_dsss_val, osal_s8 sd_cca_20th_ofdm_val)
1144{
1145 hal_public_hook_func(_set_cca_prot_th)(sd_cca_20th_dsss_val, sd_cca_20th_ofdm_val);
1146}
1147
1148/*****************************************************************************
1149 函 数 名 : hal_enable_sync_error_counter
1150 功能描述 : CCA优化特性下使能sync error统计寄存器
1151*****************************************************************************/
1152static INLINE__ osal_void hal_enable_sync_error_counter(osal_s32 enable_cnt_reg_val)
1153{
1154 hal_public_hook_func(_enable_sync_error_counter)(enable_cnt_reg_val);
1155}
1156
1157/*****************************************************************************
1158 函 数 名 : hal_get_sync_error_cnt
1159 功能描述 : CCA优化特性下获取sync error的统计计数值
1160*****************************************************************************/
1161static INLINE__ osal_void hal_get_sync_error_cnt(osal_u32 *reg_val)
1162{
1163 hal_public_hook_func(_get_sync_error_cnt)(reg_val);
1164}
1165
1166/*****************************************************************************
1167 函 数 名 : hal_set_sync_err_counter_clear
1168 功能描述 : CCA优化特性下清空sync error统计寄存器
1169*****************************************************************************/
1170static INLINE__ osal_void hal_set_sync_err_counter_clear(osal_void)
1171{
1172 hal_public_hook_func(_set_sync_err_counter_clear)();
1173}
1174#endif
1175
1176#ifdef _PRE_WLAN_FEATURE_TEMP_PROTECT
1177/*****************************************************************************
1178 函 数 名 : hal_read_max_temperature
1179 功能描述 : 读取硬件MAC信道统计寄存器
1180*****************************************************************************/
1181static INLINE__ osal_u32 hal_read_max_temperature(osal_s16 *ps_temperature)
1182{
1183 return hal_public_hook_func(_read_max_temperature)(ps_temperature);
1184}
1185
1186#ifdef _PRE_WLAN_FEATURE_TEMP_PROTECT_CLDO_MODE
1187/*****************************************************************************
1188 函 数 名 : hal_chip_is_cldo_mode
1189 功能描述 : 读取芯片是否为CLDO模式
1190*****************************************************************************/
1191static INLINE__ oal_bool_enum_uint8 hal_chip_is_cldo_mode(osal_void)
1192{
1193 return hal_public_hook_func(_chip_is_cldo_mode)();
1194}
1195#endif
1196#endif
1197
1198#ifdef _PRE_PM_TBTT_OFFSET_PROBE
1199static INLINE__ osal_void hal_tbtt_offset_probe_init(hal_to_dmac_vap_stru *hal_vap)
1200{
1201 hal_public_hook_func(_tbtt_offset_probe_init)(hal_vap);
1202}
1203#endif
1204
1205/*****************************************************************************
1206 函 数 名 : hal_tx_get_dscr_msdu_num
1207 功能描述 : 获取描述符中的msdunum
1208*****************************************************************************/
1209static INLINE__ osal_void hal_tx_get_dscr_msdu_num(hal_tx_dscr_stru *tx_dscr, osal_u16 *msdu_num)
1210{
1211 hal_public_hook_func(_tx_get_dscr_msdu_num)(tx_dscr, msdu_num);
1212}
1213
1214/*****************************************************************************
1215 功能描述 : 配置long/short slottime
1216*****************************************************************************/
1217static INLINE__ osal_void hal_cfg_slottime_type(osal_u32 slottime_type)
1218{
1219 hal_public_hook_func(_cfg_slottime_type)(slottime_type);
1220}
1221
1222/*****************************************************************************
1223 功能描述 : 设置次信道带宽
1224*****************************************************************************/
1225static INLINE__ osal_void hal_set_sec_bandwidth_offset(osal_u8 bandwidth)
1226{
1227 hal_public_hook_func(_set_sec_bandwidth_offset)(bandwidth);
1228}
1229
1230#ifdef _PRE_PLAT_FEATURE_CUSTOMIZE
1231/*****************************************************************************
1232 函 数 名 : hal_config_custom_rf
1233 功能描述 : 更新rf定制化参数
1234*****************************************************************************/
1235static INLINE__ osal_void hal_config_custom_rf(const osal_u8 *param)
1236{
1237 hal_public_hook_func(_config_custom_rf)(param);
1238}
1239
1240/*****************************************************************************
1241 函 数 名 : hal_config_rssi_for_loss
1242 功能描述 : 设置RSSI插损值
1243*****************************************************************************/
1244static INLINE__ osal_void hal_config_rssi_for_loss(osal_u8 chanel_num, osal_s8 *rssi)
1245{
1246 hal_public_hook_func(_config_rssi_for_loss)(chanel_num, rssi);
1247}
1248
1249static INLINE__ osal_void hal_config_get_cus_cca_param(hal_cfg_custom_cca_stru **cfg_cca)
1250{
1251 hal_public_hook_func(_config_get_cus_cca_param)(cfg_cca);
1252}
1253static INLINE__ osal_void hal_set_custom_rx_insert_loss(osal_u8 band, osal_u8 *insert_loss, osal_u8 len)
1254{
1255 hal_public_hook_func(_set_custom_rx_insert_loss)(band, insert_loss, len);
1256}
1257static INLINE__ osal_u8 hal_get_custom_rx_insert_loss(osal_u8 band, osal_u8 ch_idx)
1258{
1259 return hal_public_hook_func(_get_custom_rx_insert_loss)(band, ch_idx);
1260}
1261static INLINE__ osal_void hal_set_custom_power(osal_u8 band, osal_u8 *power, osal_u16 len)
1262{
1263 hal_public_hook_func(_set_custom_power)(band, power, len);
1264}
1265#endif // #ifdef _PRE_PLAT_FEATURE_CUSTOMIZE
1266static INLINE__ osal_u8 hal_get_rf_subband_idx(osal_u8 band, osal_u8 ch_idx)
1267{
1268 return hal_public_hook_func(_get_rf_subband_idx)(band, ch_idx);
1269}
1270/*****************************************************************************
1271 功能描述 : 将密钥写进硬件寄存器
1272*****************************************************************************/
1273static INLINE__ osal_void hal_ce_del_key(hal_security_key_stru *security_key)
1274{
1275 hal_public_hook_func(_ce_del_key)(security_key);
1276}
1277
1278/*****************************************************************************
1279 函 数 名 : hal_disable_tsf_tbtt
1280 功能描述 : 关闭tsf tbtt中断
1281*****************************************************************************/
1282static INLINE__ osal_void hal_disable_tsf_tbtt(const hal_to_dmac_vap_stru *hal_vap)
1283{
1284 hal_public_hook_func(_disable_tsf_tbtt)(hal_vap);
1285}
1286
1287static INLINE__ hmac_pps_value_stru hal_get_auto_adjust_freq_pps(osal_void)
1288{
1289 return hal_public_hook_func(_get_auto_adjust_freq_pps)();
1290}
1291
1292static INLINE__ osal_void hal_tx_init_dscr_queue(hal_to_dmac_device_stru *device)
1293{
1294 hal_public_hook_func(_tx_init_dscr_queue)(device);
1295}
1296
1297/*****************************************************************************
1298 函 数 名 : hal_get_tx_q_status
1299 功能描述 : 获取发送队列状态
1300*****************************************************************************/
1301static INLINE__ osal_void hal_set_bcn_timeout_multi_q_enable(hal_to_dmac_vap_stru * hal_vap, osal_u8 enable)
1302{
1303 hal_public_hook_func(_set_bcn_timeout_multi_q_enable)(hal_vap, enable);
1304}
1305
1306static inline osal_void hal_get_sr_info(osal_u8 param)
1307{
1308 hal_public_hook_func(_get_sr_info)(param);
1309}
1310
1311static inline osal_void hal_set_psr_vfs_get(dmac_sr_sta_vfs_stru *hmac_sr_sta_vfs)
1312{
1313 hal_public_hook_func(_set_psr_vfs_get)(hmac_sr_sta_vfs);
1314}
1315
1316static inline osal_void hal_set_sr_vfs_get(dmac_sr_sta_vfs_stru *hmac_sr_sta_vfs)
1317{
1318 hal_public_hook_func(_set_sr_vfs_get)(hmac_sr_sta_vfs);
1319}
1320
1321static inline osal_void hal_set_sr_statistics_get(dmac_sr_sta_srg_stru *sr_sta_srg,
1322 dmac_sr_sta_non_srg_stru *sr_sta_non_srg)
1323{
1324 hal_public_hook_func(_set_sr_statistics_get)(sr_sta_srg, sr_sta_non_srg);
1325}
1326
1327static inline osal_void hal_set_psr_statistics_end(osal_void)
1328{
1329 hal_public_hook_func(_set_psr_statistics_end)();
1330}
1331
1332static inline osal_void hal_set_sr_vfs_end(osal_void)
1333{
1334 hal_public_hook_func(_set_sr_vfs_end)();
1335}
1336
1337static inline osal_void hal_set_sr_statistics_end(osal_void)
1338{
1339 hal_public_hook_func(_set_sr_statistics_end)();
1340}
1341
1342static inline osal_void hal_set_psr_statistics_start(osal_void)
1343{
1344 hal_public_hook_func(_set_psr_statistics_start)();
1345}
1346
1347static inline osal_void hal_set_sr_vfs_start(osal_void)
1348{
1349 hal_public_hook_func(_set_sr_vfs_start)();
1350}
1351
1352static inline osal_void hal_set_sr_statistics_start(osal_void)
1353{
1354 hal_public_hook_func(_set_sr_statistics_start)();
1355}
1356
1357static inline osal_void hal_set_psr_statistics_continue(osal_void)
1358{
1359 hal_public_hook_func(_set_psr_statistics_continue)();
1360}
1361
1362static inline osal_void hal_set_sr_statistics_continue(osal_void)
1363{
1364 hal_public_hook_func(_set_sr_statistics_continue)();
1365}
1366static inline osal_void hal_set_psr_statistics_stop(osal_void)
1367{
1368 hal_public_hook_func(_set_psr_statistics_stop)();
1369}
1370
1371static inline osal_void hal_set_sr_statistics_stop(osal_void)
1372{
1373 hal_public_hook_func(_set_sr_statistics_stop)();
1374}
1375
1376static inline osal_void hal_set_psr_statistics_clear(osal_void)
1377{
1378 hal_public_hook_func(_set_psr_statistics_clear)();
1379}
1380
1381static inline osal_void hal_set_sr_vfs_clear(osal_void)
1382{
1383 hal_public_hook_func(_set_sr_vfs_clear)();
1384}
1385
1386static inline osal_void hal_set_sr_statistics_clear(osal_void)
1387{
1388 hal_public_hook_func(_set_sr_statistics_clear)();
1389}
1390
1391static INLINE__ osal_void hal_set_psr_ctrl(oal_bool_enum_uint8 flag)
1392{
1393 hal_public_hook_func(_set_psr_ctrl)(flag);
1394}
1395
1396static INLINE__ osal_void hal_set_psrt_htc(osal_void)
1397{
1398 hal_public_hook_func(_set_psrt_htc)();
1399}
1400
1401static INLINE__ osal_void hal_set_psr_offset(osal_s32 offset)
1402{
1403 hal_public_hook_func(_set_psr_offset)(offset);
1404}
1405
1406static INLINE__ osal_void hal_set_srg_pd_etc(osal_u32 pd, osal_u32 pw)
1407{
1408 hal_public_hook_func(_set_srg_pd_etc)(pd, pw);
1409}
1410
1411static INLINE__ osal_void hal_set_non_pd(osal_u32 pd, osal_u32 pw)
1412{
1413 hal_public_hook_func(_set_non_pd)(pd, pw);
1414}
1415
1416static INLINE__ osal_void hal_set_srg_ctrl(osal_void)
1417{
1418 hal_public_hook_func(_set_srg_ctrl)();
1419}
1420
1421static INLINE__ osal_void hal_set_srg_partial_bssid_bitmap(osal_u32 bitmap_low, osal_u32 bitmap_high)
1422{
1423 hal_public_hook_func(_set_srg_partial_bssid_bitmap)(bitmap_low, bitmap_high);
1424}
1425
1426static INLINE__ osal_void hal_set_srg_bss_color_bitmap(osal_u32 bitmap_low, osal_u32 bitmap_high)
1427{
1428 hal_public_hook_func(_set_srg_bss_color_bitmap)(bitmap_low, bitmap_high);
1429}
1430#ifdef _PRE_WLAN_FEATURE_BSRP
1431/*****************************************************************************
1432 功能描述 : 设置NFRP反馈的buff状态
1433*****************************************************************************/
1434static INLINE__ osal_void hal_set_ndp_status(osal_u8 status)
1435{
1436 hal_public_hook_func(_set_ndp_status)(status);
1437}
1438#endif
1439
1440static INLINE__ osal_void hal_set_srg_ele_off(osal_void)
1441{
1442 hal_public_hook_func(_set_srg_ele_off)();
1443}
1444
1445static INLINE__ osal_void hal_set_sr_ctrl(oal_bool_enum_uint8 flag)
1446{
1447 hal_public_hook_func(_set_sr_ctrl)(flag);
1448}
1449
1450static inline osal_void hal_color_rpt_clr(osal_void)
1451{
1452 hal_public_hook_func(_color_rpt_clr)();
1453}
1454
1455static inline osal_void hal_color_rpt_en(oal_bool_enum_uint8 flag)
1456{
1457 hal_public_hook_func(_color_rpt_en)(flag);
1458}
1459
1460static inline osal_void hal_color_area_get(mac_color_area_stru *color_area)
1461{
1462 hal_public_hook_func(_color_area_get)(color_area);
1463}
1464
1465static INLINE__ osal_void hal_set_dev_support_11ax(hal_to_dmac_device_stru *hal_device, osal_u8 reg_value)
1466{
1467 hal_public_hook_func(_set_dev_support_11ax)(hal_device, reg_value);
1468}
1469
1470static INLINE__ osal_void hal_set_mu_edca_lifetime(osal_u8 bk, osal_u8 be, osal_u8 vi, osal_u8 vo)
1471{
1472 hal_public_hook_func(_set_mu_edca_lifetime)(bk, be, vi, vo);
1473}
1474
1475static INLINE__ osal_void hal_set_mu_edca_aifsn(osal_u8 bk, osal_u8 be, osal_u8 vi, osal_u8 vo)
1476{
1477 hal_public_hook_func(_set_mu_edca_aifsn)(bk, be, vi, vo);
1478}
1479
1480static INLINE__ osal_void hal_set_mu_edca_cw(osal_u8 ac_type, osal_u8 cwmax, osal_u8 cwmin)
1481{
1482 hal_public_hook_func(_set_mu_edca_cw)(ac_type, cwmax, cwmin);
1483}
1484
1485static INLINE__ osal_void hal_set_affected_acs(osal_u8 affected_acs)
1486{
1487 hal_public_hook_func(_set_affected_acs)(affected_acs);
1488}
1489
1490static INLINE__ osal_void hal_set_mu_edca_func_en(osal_u8 bk, osal_u8 be, osal_u8 vi, osal_u8 vo)
1491{
1492 hal_public_hook_func(_set_mu_edca_func_en)(bk, be, vi, vo);
1493}
1494
1495static INLINE__ osal_void hal_close_mu_edca_func(osal_void)
1496{
1497 hal_public_hook_func(_close_mu_edca_func)();
1498}
1499
1500static INLINE__ osal_void hal_set_mac_backoff_delay(osal_u32 back_off_time)
1501{
1502 hal_public_hook_func(_set_mac_backoff_delay)(back_off_time);
1503}
1504
1505static INLINE__ osal_void hal_set_bss_color(hal_to_dmac_vap_stru *hal_vap, osal_u8 bss_color)
1506{
1507 hal_public_hook_func(_set_bss_color)(hal_vap, bss_color);
1508}
1509
1510static INLINE__ osal_void hal_set_partial_bss_color(hal_to_dmac_vap_stru *hal_vap, osal_u8 partial_bss_color)
1511{
1512 hal_public_hook_func(_set_partial_bss_color)(hal_vap, partial_bss_color);
1513}
1514
1515static INLINE__ osal_void hal_set_bss_color_enable(oal_bool_enum_uint8 flag)
1516{
1517 hal_public_hook_func(_set_bss_color_enable)(flag);
1518}
1519
1520static inline osal_void hal_set_phy_aid(osal_u16 aid)
1521{
1522 hal_public_hook_func(_set_phy_aid)(aid);
1523}
1524
1525static inline osal_void hal_set_he_rom_en(oal_bool_enum_uint8 rx_om)
1526{
1527 hal_public_hook_func(_set_he_rom_en)(rx_om);
1528}
1529
1530static inline osal_void hal_set_queue_size_in_ac(osal_u32 queue_size, osal_u8 vap_id, osal_u16 ac_order)
1531{
1532 hal_public_hook_func(_set_queue_size_in_ac)(queue_size, vap_id, ac_order);
1533}
1534
1535/*****************************************************************************
1536 功能描述 : 设置硬件接收描述符队列首地址
1537*****************************************************************************/
1538static INLINE__ osal_void hal_set_machw_rx_buff_addr(osal_u32 rx_dscr, hal_rx_dscr_queue_id_enum_uint8 queue_num)
1539{
1540 hal_public_hook_func(_set_machw_rx_buff_addr)(rx_dscr, queue_num);
1541}
1542
1543/*****************************************************************************
1544 功能描述 : 挂起硬件发送
1545*****************************************************************************/
1546static INLINE__ osal_void hal_set_machw_tx_suspend(osal_void)
1547{
1548 hal_public_hook_func(_set_machw_tx_suspend)();
1549}
1550
1551/*****************************************************************************
1552 功能描述 : 复位MAC 和 PHY
1553*****************************************************************************/
1554static INLINE__ osal_void hal_reset_phy_machw(hal_reset_hw_type_enum_uint8 type, osal_u8 sub_mod,
1555 osal_u8 reset_phy_reg, osal_u8 reset_mac_reg)
1556{
1557 hal_public_hook_func(_reset_phy_machw)(type, sub_mod, reset_phy_reg, reset_mac_reg);
1558}
1560/*****************************************************************************
1561 RA LUT操作相关接口
1562*****************************************************************************/
1563/*****************************************************************************
1564 功能描述 : 设置TX SEQUENCE NUM
1565*****************************************************************************/
1566static INLINE__ osal_void hal_set_tx_sequence_num(machw_tx_sequence_stru tx_seq, osal_u32 val_write, osal_u8 vap_index)
1567{
1568 hal_public_hook_func(_set_tx_sequence_num)(tx_seq, val_write, vap_index);
1569}
1570
1571/*****************************************************************************
1572 功能描述 : 控制硬件在收到单播帧时不回ACK
1573*****************************************************************************/
1574static INLINE__ osal_void hal_disable_machw_ack_trans(osal_void)
1575{
1576 hal_public_hook_func(_disable_machw_ack_trans)();
1577}
1578
1579/*****************************************************************************
1580 功能描述 : 控制硬件在收到单播帧时回ACK
1581*****************************************************************************/
1582static INLINE__ osal_void hal_enable_machw_ack_trans(osal_void)
1583{
1584 hal_public_hook_func(_enable_machw_ack_trans)();
1585}
1586
1587/*****************************************************************************
1588 RF相关接口
1589*****************************************************************************/
1590/*****************************************************************************
1591 函 数 名 : hal_initialize_rf_sys
1592*****************************************************************************/
1593static INLINE__ osal_void hal_initialize_rf_sys(hal_to_dmac_device_stru * hal_device)
1594{
1595 hal_public_hook_func(_initialize_rf_sys)(hal_device);
1596}
1597
1598/*****************************************************************************
1599函 数 名 : hal_adjust_tx_power
1600功能描述 : 调整tx power
1601*****************************************************************************/
1602static INLINE__ osal_void hal_adjust_tx_power(osal_u8 ch, osal_s8 power)
1603{
1604 hal_public_hook_func(_adjust_tx_power)(ch, power);
1605}
1606
1607/*****************************************************************************
1608函 数 名 : hal_get_tpc_code
1609功能描述 : 获取tpc_code的值
1610*****************************************************************************/
1611static INLINE__ osal_u8 hal_get_tpc_code(osal_void)
1612{
1613 return hal_public_hook_func(_get_tpc_code)();
1614}
1615
1616/*****************************************************************************
1617函 数 名 : hal_restore_tx_power
1618功能描述 : 恢复tx power
1619*****************************************************************************/
1620static INLINE__ osal_void hal_restore_tx_power(osal_u8 ch)
1621{
1622 hal_public_hook_func(_restore_tx_power)(ch);
1623}
1624
1625static INLINE__ osal_void hal_cfg_txop_cycle(osal_u16 ch)
1626{
1627 hal_public_hook_func(_cfg_txop_cycle)(ch);
1628}
1629
1630static INLINE__ osal_void hal_cfg_lifetime(osal_u8 ac, osal_u16 lifetime)
1631{
1632 hal_public_hook_func(_cfg_lifetime)(ac, lifetime);
1633}
1634
1635static INLINE__ osal_void hal_bl_sifs_en(osal_u8 en)
1636{
1637 hal_public_hook_func(_bl_sifs_en)(en);
1638}
1639
1640static INLINE__ osal_void hal_rts_info(osal_u32 rate, osal_u32 phy_mode, osal_u8 *addr1)
1641{
1642 hal_public_hook_func(_rts_info)(rate, phy_mode, addr1);
1643}
1644
1645static INLINE__ osal_void hal_cfg_txop_en(osal_u8 en)
1646{
1647 hal_public_hook_func(_bl_cfg_txop_en)(en);
1648}
1649
1650static INLINE__ osal_void hal_pow_initialize_tx_power(hal_to_dmac_device_stru * hal_device)
1651{
1652 hal_public_hook_func(_pow_initialize_tx_power)(hal_device);
1653}
1654
1655#ifdef _PRE_WLAN_FEATURE_11AX
1656static INLINE__ osal_void hal_tb_mcs_tx_power(wlan_channel_band_enum_uint8 band)
1657{
1658 hal_public_hook_func(_tb_mcs_tx_power)(band);
1659}
1660
1661static INLINE__ osal_void hal_tb_tx_power_init(wlan_channel_band_enum_uint8 band)
1662{
1663 hal_public_hook_func(_tb_tx_power_init)(band);
1664}
1665#endif /* #ifdef _PRE_WLAN_FEATURE_11AX */
1666
1667static INLINE__ osal_void hal_pow_set_rf_regctl_enable(hal_to_dmac_device_stru *hal_device,
1668 oal_bool_enum_uint8 rf_linectl)
1669{
1670 hal_public_hook_func(_pow_set_rf_regctl_enable)(hal_device, rf_linectl);
1671}
1672
1673#ifdef _PRE_WLAN_FEATURE_USER_RESP_POWER
1674static INLINE__ osal_void hal_pow_del_machw_resp_power_lut_entry(osal_u8 lut_index)
1675{
1676 hal_public_hook_func(_pow_del_machw_resp_power_lut_entry)(lut_index);
1677}
1678#endif
1679
1680#ifdef _PRE_WLAN_FIT_BASED_REALTIME_CALI
1681/*****************************************************************************
1682 功能描述 : hal层动态校准描述符间隔数参数配置
1683*****************************************************************************/
1684static INLINE__ osal_void hal_config_set_dyn_cali_dscr_interval(hal_to_dmac_device_stru *hal_device,
1685 wlan_channel_band_enum_uint8 band, osal_u16 param_val)
1686{
1687 hal_public_hook_func(_config_set_dyn_cali_dscr_interval)(hal_device, band, param_val);
1688 return;
1689}
1690
1691#endif
1692
1693/*****************************************************************************
1694 SoC相关接口
1695*****************************************************************************/
1696/*****************************************************************************
1697 函 数 名 : hal_initialize_soc
1698 功能描述 : SoC上电初始化接口
1699*****************************************************************************/
1700static INLINE__ osal_void hal_initialize_soc(hal_to_dmac_device_stru * hal_device)
1701{
1702 hal_public_hook_func(_initialize_soc)(hal_device);
1703}
1704
1705/*****************************************************************************
1706 函 数 名 : hal_clear_mac_int_status
1707*****************************************************************************/
1708static INLINE__ osal_void hal_clear_mac_int_status(osal_u32 status)
1709{
1710 hal_public_hook_func(_clear_mac_int_status)(status);
1711}
1712
1713#ifdef _PRE_WLAN_DFR_STAT
1714/*****************************************************************************
1715 函 数 名 : hal_clear_mac_error_int_status
1716*****************************************************************************/
1717static INLINE__ osal_void hal_clear_mac_error_int_status(hal_error_state_stru *status)
1718{
1719 hal_public_hook_func(_clear_mac_error_int_status)(status);
1720}
1721#endif
1722
1723static INLINE__ osal_void hal_show_irq_info(hal_to_dmac_device_stru * hal_device, osal_u8 param)
1724{
1725 hal_public_hook_func(_show_irq_info)(hal_device, param);
1726}
1727
1728static INLINE__ osal_void hal_clear_irq_stat(hal_to_dmac_device_stru * hal_device)
1729{
1730 hal_public_hook_func(_clear_irq_stat)(hal_device);
1731}
1732
1733static INLINE__ osal_void hal_cali_send_func(hal_to_dmac_device_stru *hal_device, osal_u8* cal_data_write,
1734 osal_u16 frame_len, osal_u16 remain)
1735{
1736 hal_public_hook_func(_cali_send_func)(hal_device, cal_data_write, frame_len, remain);
1737}
1738
1739
1740/*****************************************************************************
1741 功能描述 : 配置EIFS_TIME 寄存器
1742*****************************************************************************/
1743static INLINE__ osal_void hal_config_eifs_time(wlan_protocol_enum_uint8 protocol)
1744{
1745 hal_public_hook_func(_config_eifs_time)(protocol);
1746}
1747
1748#ifdef _PRE_WLAN_ONLINE_DPD
1749static INLINE__ osal_void hal_dpd_cfr_set_11b(hal_to_dmac_device_stru *hal_device, osal_u8 is_11b)
1750{
1751 hal_public_hook_func(_dpd_cfr_set_11b)(hal_device, is_11b);
1752}
1753#endif
1754
1755/*****************************************************************************
1756 函 数 名 : hal_get_dieid
1757 功能描述 : 获取芯片dieid
1758*****************************************************************************/
1759static INLINE__ osal_void hal_get_dieid(hal_to_dmac_device_stru * hal_device, osal_u32 *dieid, osal_u32 *length)
1760{
1761 hal_public_hook_func(_get_dieid)(hal_device, dieid, length);
1762}
1763
1764/*****************************************************************************
1765 功能描述 : 不过滤beacon帧
1766*****************************************************************************/
1767static INLINE__ osal_void hal_disable_beacon_filter(osal_void)
1768{
1769 hal_public_hook_func(_disable_beacon_filter)();
1770}
1771
1772/*****************************************************************************
1773 功能描述 : 使能non frame filter
1774*****************************************************************************/
1775static INLINE__ osal_void hal_enable_non_frame_filter(osal_void)
1776{
1777 hal_public_hook_func(_enable_non_frame_filter)();
1778}
1779
1780#ifdef _PRE_WLAN_FEATURE_PMF
1781/*****************************************************************************
1782 函 数 名 : hal_set_pmf_crypto
1783 功能描述 : 设置pmf加解密使能位
1784*****************************************************************************/
1785static INLINE__ osal_void hal_set_pmf_crypto(hal_to_dmac_vap_stru *hal_vap, oal_bool_enum_uint8 crypto)
1786{
1787 hal_public_hook_func(_set_pmf_crypto)(hal_vap, crypto);
1788}
1789#endif /* #ifdef _PRE_WLAN_FEATURE_PMF */
1790
1791
1792/*****************************************************************************
1793 功能描述 : 关闭硬件加密
1794*****************************************************************************/
1795static INLINE__ osal_void hal_disable_ce(osal_void)
1796{
1797 hal_public_hook_func(_disable_ce)();
1798}
1799
1800/*****************************************************************************
1801 功能描述 : 将指定的MAC 地址添加到硬件Lut表
1802*****************************************************************************/
1803static INLINE__ osal_void hal_ce_add_peer_macaddr(osal_u8 lut_idx, osal_u8 * addr)
1804{
1805 hal_public_hook_func(_ce_add_peer_macaddr)(lut_idx, addr);
1806}
1807
1808/*****************************************************************************
1809 功能描述 : 将指定的MAC 地址从硬件Lut表删除
1810*****************************************************************************/
1811static INLINE__ osal_void hal_ce_del_peer_macaddr(osal_u8 lut_idx)
1812{
1813 hal_public_hook_func(_ce_del_peer_macaddr)(lut_idx);
1814}
1815
1816/*****************************************************************************
1817 功能描述 : 获取硬件mac地址,来自eeprom或flash
1818*****************************************************************************/
1819static INLINE__ osal_void hal_get_hw_addr(osal_u8 *addr)
1820{
1821 hal_public_hook_func(_get_hw_addr)(addr);
1822}
1823
1824
1825/*****************************************************************************
1826 功能描述 : 设置rx过滤常收状态
1827*****************************************************************************/
1830
1831/*****************************************************************************
1832 功能描述 : 设置rx帧过滤配置
1833 注: 入参value:
1834 bit0=1 :上报组播(广播)数据帧使能标志
1835 bit1=1 :上报单播数据包使能标志
1836 bit2=1 :上报组播(广播)管理帧使能标志
1837 bit3=1 :上报单播管理帧使能标志
1838*****************************************************************************/
1840
1841#ifdef _PRE_WLAN_FEATURE_TXBF
1842/*****************************************************************************
1843 函 数 名 : hal_set_dl_mumimo_ctrl
1844 功能描述 : 设置MU-MIMO控制寄存器
1845*****************************************************************************/
1846static INLINE__ osal_void hal_set_dl_mumimo_ctrl(oal_bool_enum_uint8 enable)
1847{
1848 hal_public_hook_func(_set_dl_mumimo_ctrl)(enable);
1849}
1850
1851/*****************************************************************************
1852 函 数 名 : hal_set_h_matrix_timeout
1853 功能描述 : 设置TXBF 矩阵超时寄存器
1854*****************************************************************************/
1855static INLINE__ osal_void hal_set_h_matrix_timeout(osal_u32 reg_value)
1856{
1857 hal_public_hook_func(_set_h_matrix_timeout)(reg_value);
1858}
1859
1860/*****************************************************************************
1861 功能描述 : 设置mu-mimo aid以及matrix地址
1862*****************************************************************************/
1863static INLINE__ osal_void hal_set_mu_aid_matrix_info(hal_to_dmac_vap_stru *hal_vap, osal_u16 aid)
1864{
1865 hal_public_hook_func(_set_mu_aid_matrix_info)(hal_vap, aid);
1866}
1867
1868/*****************************************************************************
1869 功能描述 : 设置VHT matrix buff的地址
1870*****************************************************************************/
1871static INLINE__ osal_void hal_set_txbf_he_buff_addr(osal_u32 addr, osal_u16 buffer_len)
1872{
1873 hal_public_hook_func(_set_txbf_he_buff_addr)(addr, buffer_len);
1874}
1875
1876/*****************************************************************************
1877 函 数 名 : hal_set_bfee_bypass_clk_gating
1878 功能描述 : 异系统共存时,是否开启clk gating
1879*****************************************************************************/
1880static INLINE__ osal_void hal_set_bfee_bypass_clk_gating(osal_u8 enable)
1881{
1882 hal_public_hook_func(_set_bfee_bypass_clk_gating)(enable);
1883}
1884
1885/*****************************************************************************
1886 函 数 名 : hal_set_channel_est_for_txbfee
1887 功能描述 : 使能TXBF时启用MLD,否则使用Zero-Force
1888*****************************************************************************/
1889static INLINE__ osal_void hal_set_channel_est_for_txbfee(osal_u8 txbf,
1891{
1892 hal_public_hook_func(_set_channel_est_for_txbfee)(txbf, bandwidth, band);
1893}
1894
1895/*****************************************************************************
1896 功能描述 : 启动反馈矩阵
1897*****************************************************************************/
1898static INLINE__ osal_void hal_set_bfee_sounding_en(osal_u8 bfee_enable)
1899{
1900 hal_public_hook_func(_set_bfee_sounding_en)(bfee_enable);
1901}
1902
1903/*****************************************************************************
1904 功能描述 : 设置ht sounding的压缩V矩阵的子载波分组
1905*****************************************************************************/
1906static INLINE__ osal_void hal_set_bfee_h2v_beamforming_ng(osal_u8 user_bw)
1907{
1908 hal_public_hook_func(_set_bfee_h2v_beamforming_ng)(user_bw);
1909}
1910
1911/*****************************************************************************
1912 功能描述 : 设置ht sounding的压缩V矩阵的子载波分组,并且使能ht bfee
1913*****************************************************************************/
1914static INLINE__ osal_void hal_set_bfee_grouping_codebook(osal_u8 codebook, osal_u8 min_group)
1915{
1916 hal_public_hook_func(_set_bfee_grouping_codebook)(codebook, min_group);
1917}
1918
1919/*****************************************************************************
1920 功能描述 : 根据带宽设置计算bfer解压缩子载波分组
1921*****************************************************************************/
1922static INLINE__ osal_void hal_set_bfer_subcarrier_ng(wlan_bw_cap_enum_uint8 user_bw)
1923{
1924 hal_public_hook_func(_set_bfer_subcarrier_ng)(user_bw);
1925}
1926#endif /* _PRE_WLAN_FEATURE_TXBF */
1927
1928/*****************************************************************************
1929 功能描述 : 获取mac rx关键统计信息
1930*****************************************************************************/
1931static INLINE__ osal_void hal_get_mac_rx_statistics_data(hal_mac_rx_mpdu_statis_info_stru *mac_rx_statis)
1932{
1933 hal_public_hook_func(_get_mac_rx_statistics_data)(mac_rx_statis);
1934}
1935/*****************************************************************************
1936 功能描述 : 获取mac rx关键统计信息
1937*****************************************************************************/
1938static INLINE__ osal_void hal_get_mac_tx_statistics_data(hal_mac_tx_mpdu_statis_info_stru *mac_tx_statis)
1939{
1940 hal_public_hook_func(_get_mac_tx_statistics_data)(mac_tx_statis);
1941}
1942/*****************************************************************************
1943 功能描述 : 清除MAC统计信息
1944*****************************************************************************/
1945static INLINE__ osal_void hal_hw_stat_clear(osal_void)
1946{
1947 hal_public_hook_func(_hw_stat_clear)();
1948}
1949
1950/*****************************************************************************
1951 功能描述 : 检查mac中断状态
1952*****************************************************************************/
1953static INLINE__ oal_bool_enum_uint8 hal_check_mac_int_status(osal_void)
1954{
1955 return hal_public_hook_func(_check_mac_int_status)();
1956}
1957
1958/*****************************************************************************
1959 功能描述 : 使能EDCA寄存器
1960*****************************************************************************/
1961static INLINE__ osal_void hal_enable_machw_edca(osal_void)
1962{
1963 hal_public_hook_func(_enable_machw_edca)();
1964}
1965
1966
1967/*****************************************************************************
1968 函 数 名 : hal_set_phy_max_bw_field
1969 功能描述 : 设置phy max bw下三个功能配置
1970*****************************************************************************/
1971static INLINE__ osal_void hal_set_phy_max_bw_field(hal_to_dmac_device_stru *hal_device,
1973{
1974 hal_public_hook_func(_set_phy_max_bw_field)(hal_device, data, sect);
1975}
1976#ifdef _PRE_WLAN_FEATURE_ALWAYS_TX
1977/*****************************************************************************
1978 函 数 名 : hal_rf_test_disable_al_tx
1979 功能描述 : 禁用常发
1980*****************************************************************************/
1981static INLINE__ osal_void hal_rf_test_disable_al_tx(hal_to_dmac_device_stru *hal_device)
1982{
1983 hal_public_hook_func(_rf_test_disable_al_tx)(hal_device);
1984}
1985#endif
1986#ifndef _PRE_WLAN_FEATURE_WS63
1987/*****************************************************************************
1988 功能描述 : 配置寄存器帧过滤寄存器某些bit
1989*****************************************************************************/
1990static INLINE__ osal_void hal_set_rx_filter_reg(osal_u32 rx_filter_command)
1991{
1992 hal_public_hook_func(_set_rx_filter_reg)(rx_filter_command);
1993}
1994#endif
1995
1996/*****************************************************************************
1997 函 数 名 : hal_vap_set_beacon_rate
1998 功能描述 : 设置beacon发送速率
1999*****************************************************************************/
2000static INLINE__ osal_void hal_vap_set_beacon_rate(hal_to_dmac_vap_stru *hal_vap,
2001 osal_u32 beacon_rate)
2002{
2003 hal_public_hook_func(_vap_set_beacon_rate)(hal_vap, beacon_rate);
2004}
2005
2006/*****************************************************************************
2007 10.2 对应一套硬件MAC VAP的静态内联函数
2008*****************************************************************************/
2009static INLINE__ osal_void hal_vap_set_macaddr(hal_to_dmac_vap_stru * hal_vap, const osal_u8 *mac_addr,
2010 osal_u16 mac_addr_len)
2011{
2012 hal_public_hook_func(_vap_set_macaddr)(hal_vap, mac_addr, mac_addr_len);
2013}
2014
2015/*****************************************************************************
2016 函 数 名 : hal_vap_set_opmode
2017*****************************************************************************/
2018static INLINE__ osal_void hal_vap_set_opmode(hal_to_dmac_vap_stru *hal_vap, wlan_vap_mode_enum_uint8 vap_mode)
2019{
2020 hal_public_hook_func(_vap_set_opmode)(hal_vap, vap_mode);
2021}
2022
2023
2024/*****************************************************************************
2025 函 数 名 : hal_vap_clr_opmode
2026*****************************************************************************/
2027static INLINE__ osal_void hal_vap_clr_opmode(hal_to_dmac_vap_stru *hal_vap, wlan_vap_mode_enum_uint8 vap_mode)
2028{
2029 hal_public_hook_func(_vap_clr_opmode)(hal_vap, vap_mode);
2030}
2031
2032/*****************************************************************************
2033 hal vap EDCA参数配置相关接口
2034*****************************************************************************/
2035/*****************************************************************************
2036 函 数 名 : hal_vap_set_machw_aifsn_all_ac
2037 功能描述 : 设置所有AC的仲裁帧间距(arbitration inter-frame space, AIFS)
2038*****************************************************************************/
2039static INLINE__ osal_void hal_vap_set_machw_aifsn_all_ac(osal_u8 bk, osal_u8 be, osal_u8 vi, osal_u8 vo)
2040{
2041 hal_public_hook_func(_vap_set_machw_aifsn_all_ac)(bk, be, vi, vo);
2042}
2043
2044/*****************************************************************************
2045 函 数 名 : hal_vap_set_machw_aifsn_ac
2046*****************************************************************************/
2047static INLINE__ osal_void hal_vap_set_machw_aifsn_ac(wlan_wme_ac_type_enum_uint8 ac, osal_u8 aifs)
2048{
2049 hal_public_hook_func(_vap_set_machw_aifsn_ac)(ac, aifs);
2050}
2051/*****************************************************************************
2052 函 数 名 : hal_vap_set_machw_aifsn_ac
2053*****************************************************************************/
2054static INLINE__ osal_void hal_vap_get_machw_aifsn_ac(wlan_wme_ac_type_enum_uint8 ac, osal_u8 *aifs)
2055{
2056 hal_public_hook_func(_vap_get_machw_aifsn_ac)(ac, aifs);
2057}
2058
2059static INLINE__ osal_void hal_vap_set_machw_aifsn_ac_wfa(wlan_wme_ac_type_enum_uint8 ac,
2060 osal_u8 aifs, wlan_wme_ac_type_enum_uint8 wfa_lock)
2061{
2062 hal_public_hook_func(_vap_set_machw_aifsn_ac_wfa)(ac, aifs, wfa_lock);
2063}
2064
2065static INLINE__ osal_void hal_vap_set_edca_machw_cw_wfa(osal_u8 cwmaxmin, osal_u8 ec_type,
2067{
2068 hal_public_hook_func(_vap_set_edca_machw_cw_wfa)(cwmaxmin, ec_type, wfa_lock);
2069}
2070
2071/*****************************************************************************
2072 函 数 名 : hal_vap_set_edca_machw_cw
2073 功能描述 : 设置BE、BK、VI、VO竞争窗口的上下限(CWmin, CWmax)
2074*****************************************************************************/
2075static INLINE__ osal_void hal_vap_set_edca_machw_cw(osal_u8 cwmax, osal_u8 cwmin,
2076 osal_u8 ec_type)
2077{
2078 hal_public_hook_func(_vap_set_edca_machw_cw)(cwmax, cwmin, ec_type);
2079}
2080
2081/*****************************************************************************
2082 函 数 名 : hal_vap_get_edca_machw_cw
2083 功能描述 : 获取BE、BK、VI、VO竞争窗口的上下限(CWmin, CWmax)
2084*****************************************************************************/
2085static INLINE__ osal_void hal_vap_get_edca_machw_cw(osal_u8 *cwmax, osal_u8 *cwmin, osal_u8 ec_type)
2086{
2087 hal_public_hook_func(_vap_get_edca_machw_cw)(cwmax, cwmin, ec_type);
2088}
2089
2090/*****************************************************************************
2091 函 数 名 : hal_vap_set_machw_txop_limit_bkbe
2092 功能描述 : 设置BK、BE的TXOP上限(单位: 微秒)
2093 输入参数 : 无
2094 输出参数 : 无
2095 返 回 值 :
2096 调用函数 :
2097 被调函数 :
2098
2099 修改历史 :
2100 1.日 期 : 2013年5月11日
2101 修改内容 : 新生成函数
2102
2103*****************************************************************************/
2104static INLINE__ osal_void hal_vap_set_machw_txop_limit_bkbe(osal_u16 be, osal_u16 bk)
2105{
2106 hal_public_hook_func(_vap_set_machw_txop_limit_bkbe)(be, bk);
2107}
2108
2109/*****************************************************************************
2110 函 数 名 : hal_vap_get_machw_txop_limit_bkbe
2111 功能描述 : 获取BK、BE的TXOP上限(单位: 微秒)
2112*****************************************************************************/
2113static INLINE__ osal_void hal_vap_get_machw_txop_limit_bkbe(osal_u16 *be, osal_u16 *bk)
2114{
2115 hal_public_hook_func(_vap_get_machw_txop_limit_bkbe)(be, bk);
2116}
2117
2118/*****************************************************************************
2119 功能描述 : 设置txop_duration_threshold(单位: 32微秒)
2120*****************************************************************************/
2121static INLINE__ osal_void hal_vap_set_txop_duration_threshold(osal_u32 txop_duration_threshold, osal_u8 vap_id)
2122{
2123 hal_public_hook_func(_vap_set_txop_duration_threshold)(txop_duration_threshold, vap_id);
2124}
2125
2126/*****************************************************************************
2127 功能描述 : 设置MAC时钟频率
2128*****************************************************************************/
2129static INLINE__ osal_void hal_set_mac_freq(hal_clk_freq_enum_uint8 mac_clk_freq)
2130{
2131 hal_public_hook_func(_set_mac_freq)(mac_clk_freq);
2132}
2133
2134/*****************************************************************************
2135 功能描述 : 设置AX vap idx(单位: 32微秒)
2136*****************************************************************************/
2137static INLINE__ osal_void hal_set_11ax_vap_idx(osal_u8 hal_vap_id)
2138{
2139 hal_public_hook_func(_set_11ax_vap_idx)(hal_vap_id);
2140}
2141
2142/*****************************************************************************
2143 函 数 名 : hal_set_txop_check_cca
2144 功能描述 : 设置txop check cca。
2145*****************************************************************************/
2146static INLINE__ osal_void hal_set_txop_check_cca(osal_u8 txop_check_cca)
2147{
2148 hal_public_hook_func(_set_txop_check_cca)(txop_check_cca);
2149}
2150
2151/*****************************************************************************
2152 函 数 名 : hal_vap_set_machw_txop_limit_vivo
2153 功能描述 : 设置VI、VO的TXOP上限(单位: 微秒)
2154*****************************************************************************/
2155static INLINE__ osal_void hal_vap_set_machw_txop_limit_vivo(osal_u16 vo, osal_u16 vi)
2156{
2157 hal_public_hook_func(_vap_set_machw_txop_limit_vivo)(vo, vi);
2158}
2159
2160/*****************************************************************************
2161 函 数 名 : hal_vap_get_machw_txop_limit_vivo
2162 功能描述 : 获取VI、VO的TXOP上限(单位: 微秒)
2163*****************************************************************************/
2164static INLINE__ osal_void hal_vap_get_machw_txop_limit_vivo(osal_u16 *vo, osal_u16 *vi)
2165{
2166 hal_public_hook_func(_vap_get_machw_txop_limit_vivo)(vo, vi);
2167}
2168
2169#ifdef _PRE_WLAN_SUPPORT_CCPRIV_CMD
2170/*****************************************************************************
2171 函 数 名 : hal_vap_set_machw_edca_bkbe_lifetime
2172 功能描述 : 设置BK、BE的生存时限
2173*****************************************************************************/
2174static INLINE__ osal_void hal_vap_set_machw_edca_bkbe_lifetime(osal_u16 be, osal_u16 bk)
2175{
2176 hal_public_hook_func(_vap_set_machw_edca_bkbe_lifetime)(be, bk);
2177}
2178
2179/*****************************************************************************
2180 函 数 名 : hal_vap_get_machw_edca_bkbe_lifetime
2181 功能描述 : 获取BK、BE的生存时限
2182*****************************************************************************/
2183static INLINE__ osal_void hal_vap_get_machw_edca_bkbe_lifetime(osal_u16 *be, osal_u16 *bk)
2184{
2185 hal_public_hook_func(_vap_get_machw_edca_bkbe_lifetime)(be, bk);
2186}
2187
2188/*****************************************************************************
2189 函 数 名 : hal_vap_set_machw_edca_vivo_lifetime
2190 功能描述 : 设置VI、VO的生存时限
2191*****************************************************************************/
2192static INLINE__ osal_void hal_vap_set_machw_edca_vivo_lifetime(osal_u16 vo, osal_u16 vi)
2193{
2194 hal_public_hook_func(_vap_set_machw_edca_vivo_lifetime)(vo, vi);
2195}
2196
2197/*****************************************************************************
2198 函 数 名 : hal_vap_get_machw_edca_vivo_lifetime
2199 功能描述 : 获取VI、VO的生存时限
2200*****************************************************************************/
2201static INLINE__ osal_void hal_vap_get_machw_edca_vivo_lifetime(osal_u16 *vo, osal_u16 *vi)
2202{
2203 hal_public_hook_func(_vap_get_machw_edca_vivo_lifetime)(vo, vi);
2204}
2205#endif
2206
2207/*****************************************************************************
2208 函 数 名 : hal_set_sta_bssid
2209 功能描述 : 设置BSSID
2210*****************************************************************************/
2211static INLINE__ osal_void hal_set_sta_bssid(hal_to_dmac_vap_stru *hal_vap, osal_u8 *byte, osal_u16 byte_len)
2212{
2213 unref_param(byte_len);
2214 hal_public_hook_func(_set_sta_bssid)(hal_vap, byte);
2215}
2216
2217static INLINE__ osal_void hal_init_pm_info(hal_to_dmac_vap_stru *hal_vap)
2218{
2219 hal_public_hook_func(_init_pm_info)(hal_vap);
2220}
2221
2222static INLINE__ osal_void hal_init_pm_info_sync(hal_to_dmac_vap_stru *hal_vap)
2223{
2224 hal_public_hook_func(_init_pm_info_sync)(hal_vap);
2225}
2226
2227static INLINE__ osal_u16 *hal_pm_get_ext_inner_offset_diff(osal_void)
2228{
2229 return hal_public_hook_func(_pm_get_ext_inner_offset_diff)();
2230}
2231
2232/* 设置管理帧,组播 广播数据帧除基本信息外的所有其他描述符字段 */
2233static INLINE__ osal_void hal_tx_non_ucast_data_set_dscr(hal_to_dmac_device_stru *hal_device,
2234 hal_tx_dscr_stru *tx_dscr, hal_tx_txop_feature_stru *txop_feature, hal_tx_txop_alg_stru *txop_alg,
2235 hal_tx_ppdu_feature_stru *ppdu_feature)
2236{
2237 hal_public_hook_func(_tx_non_ucast_data_set_dscr)(hal_device, tx_dscr, txop_feature, txop_alg, ppdu_feature);
2238}
2239
2240/*****************************************************************************
2241 函 数 名 : hal_get_rate_80211g_table
2242 功能描述 : 获取80211g速率
2243*****************************************************************************/
2244static INLINE__ osal_void hal_get_rate_80211g_table(const hal_to_dmac_device_stru *hal_device,
2245 const mac_data_rate_stru **rate)
2246{
2247 unref_param(hal_device);
2248 hal_public_hook_func(_get_rate_80211g_table)(rate);
2249}
2250
2251/*****************************************************************************
2252 函 数 名 : hal_get_rate_80211g_num
2253 功能描述 : 获取80211g速率个数
2254*****************************************************************************/
2255static INLINE__ osal_void hal_get_rate_80211g_num(const hal_to_dmac_device_stru *hal_device, osal_u32 *data_num)
2256{
2257 unref_param(hal_device);
2258 hal_public_hook_func(_get_rate_80211g_num)(data_num);
2259}
2260
2264
2265#ifdef _PRE_WLAN_FIT_BASED_REALTIME_CALI
2266/************************************ *****************************************
2267 功能描述 : 动态校准统计信息
2268*****************************************************************************/
2269osal_u64 hal_get_dyn_cali_send_pack_num(osal_void);
2270osal_void hal_set_dyn_cali_send_pack_num(osal_u64 value);
2271#endif
2275#ifdef __cplusplus
2276#if __cplusplus
2277}
2278#endif
2279#endif
2280
2281#endif /* end of hal_ext_rom.h */
#define unref_param(P)
Definition dmac_misc_type.h:33
void osal_udelay(unsigned int usecs)
spinning-delay in microsecond (us).
Definition osal_task.c:208
osal_u8 hal_reset_hw_type_enum_uint8
Definition hal_commom_ops_type_rom.h:152
osal_u8 hal_dfs_radar_type_enum_uint8
Definition hal_commom_ops_type_rom.h:116
hal_device_always_rx_state_enum
Definition hal_commom_ops_type_rom.h:185
osal_u8 hal_rx_dscr_queue_id_enum_uint8
Definition hal_commom_ops_type_rom.h:125
osal_u8 hal_pm_mode_enum_uint8
Definition hal_common_ops_device_rom.h:435
osal_u8 hal_cipher_protocol_type_enum_uint8
Definition hal_common_ops_device_rom.h:483
osal_u8 hal_phy_max_bw_sect_enmu_uint8
Definition hal_common_ops_device_rom.h:242
osal_u8 hal_pow_set_type_enum_uint8
Definition hal_common_ops_device_rom.h:336
osal_void hal_set_hw_en_reg_cfg(osal_u8 hw_en)
osal_void hal_tx_ctrl_dscr_unlink(const hal_to_dmac_device_stru *hal_device, hal_tx_dscr_stru *tx_dscr)
osal_void hal_get_tx_dscr_next(const hal_to_dmac_device_stru *hal_device, hal_tx_dscr_stru *tx_dscr, hal_tx_dscr_stru **tx_dscr_next)
osal_void hal_enable_machw_cts_trans(osal_void)
osal_void hal_set_resp_pow_level(osal_s8 near_distance_rssi, osal_s8 far_distance_rssi)
osal_void hal_tx_ctrl_dscr_link(const hal_to_dmac_device_stru *hal_device, hal_tx_dscr_stru *tx_dscr_prev, hal_tx_dscr_stru *tx_dscr)
osal_void hal_disable_machw_cts_trans(osal_void)
osal_void hal_set_rx_filter_reg(osal_u32 rx_filter_command)
osal_u32 hal_get_tx_q_status(osal_u8 qnum)
osal_void hal_mac_interrupt_clear(osal_void)
osal_u8 hal_save_machw_phy_pa_status(hal_to_dmac_device_stru *hal_device_base)
osal_void hal_device_dec_assoc_user_nums(hal_to_dmac_device_stru *hal_device)
hal_to_dmac_device_stru * hal_chip_get_hal_device(osal_void)
hal_cfg_cap_info_stru * hal_device_get_cfg_custom_addr(osal_void)
osal_u32 hal_pow_read_machw_resp_power_lut_entry(osal_u8 lut_index)
osal_void hal_device_get_fix_rate_pow_code_idx(const hal_tx_ctrl_desc_rate_stru *rate_param, osal_u8 *rate_pow_idx)
osal_void hal_flush_tx_complete_irq(hal_to_dmac_device_stru *hal_dev)
osal_void hal_gp_set_dbac_vap_stop_bitmap(osal_u32 val)
osal_void hal_device_handle_event(hal_to_dmac_device_stru *hal_device, osal_u16 type, osal_u16 datalen, osal_u8 *data)
osal_u32 hal_gp_get_slp_tx_ctrl(osal_void)
osal_u8 hal_pow_get_legacy_rate(hal_tx_ctrl_desc_rate_stru *tx_dscr)
osal_u32 hal_gp_get_mpdu_count(osal_void)
osal_void hal_hmac_main_exit(osal_void)
osal_void hal_pow_sync_tpc_code_to_dmac(hal_to_dmac_device_stru *hal_device, osal_u8 vap_id)
osal_u32 hal_device_find_another_up_vap(hal_to_dmac_device_stru *hal_device, osal_u8 vap_id_self, osal_u8 *mac_vap_id)
osal_void hal_gp_clear_dbac_vap_stop_bitmap(osal_void)
osal_u32 hal_gp_get_sdp_chnl_switch_off(osal_void)
osal_void hal_dump_mac_reg(osal_void)
osal_u32 hal_device_find_one_up_vap(hal_to_dmac_device_stru *hal_device, osal_u8 *mac_vap_id)
osal_void hal_device_p2p_adjust_upc(hal_to_dmac_device_stru *hal_device, osal_u8 cur_ch_num, wlan_channel_band_enum_uint8 freq_band, wlan_channel_bandwidth_enum_uint8 bandwidth)
osal_void hal_dump_phy_reg(osal_void)
wlan_ciper_protocol_type_enum_uint8 hal_ctype_to_cipher_suite(hal_cipher_protocol_type_enum_uint8 cipher_type)
osal_u32 hal_gp_get_dbac_vap_stop_bitmap(osal_void)
osal_s32 hal_hmac_main_init(osal_void)
osal_void hal_pow_sw_initialize_tx_power(hal_to_dmac_device_stru *hal_device)
osal_u32 hal_device_find_one_up_hal_vap(hal_to_dmac_device_stru *hal_device, osal_u8 *vap_id)
osal_void hal_dump_stats(osal_void)
osal_void hal_rx_filter_set_rx_flt_en(osal_u32 value)
osal_void hal_tpc_cali_ftm_updata_channel(hal_to_dmac_device_stru *hal_device, mac_channel_stru *channel)
oal_bool_enum_uint8 hal_get_hal_device_is_work(hal_to_dmac_device_stru *hal_device)
osal_void hal_device_set_pow_al_tx(const hal_to_dmac_device_stru *hal_device, osal_u8 band, hal_tx_txop_alg_stru *txop_alg)
hal_cipher_protocol_type_enum_uint8 hal_cipher_suite_to_ctype(wlan_ciper_protocol_type_enum_uint8 cipher_suite)
osal_void hal_rx_filter_set_alrx_state(hal_device_always_rx_state_enum al_rx_flag)
osal_u8 hal_device_find_all_up_vap(const hal_to_dmac_device_stru *hal_device, osal_u8 *vap_id, osal_u8 lenth)
osal_void hal_initialize_machw(osal_void)
osal_void hal_initialize_phy(osal_void)
osal_void hal_device_inc_assoc_user_nums(hal_to_dmac_device_stru *hal_device)
osal_void hal_device_init_vap_pow_code(hal_to_dmac_device_stru *hal_device, hal_vap_pow_info_stru *vap_pow_info, hal_pow_set_type_enum_uint8 type, const mac_channel_stru *channel)
osal_void hal_set_ax_ctl_by_protocol(wlan_protocol_enum_uint8 protocol)
osal_u8 hal_clk_freq_enum_uint8
Definition hal_ext_if_device_rom.h:91
osal_u16 hal_pow_get_pow_table_tpc_code(osal_u8 band, osal_u8 rate, osal_u8 bw, osal_u8 pwr_lvl)
osal_void hal_enable_tsf_tbtt(hal_to_dmac_vap_stru *hal_vap, oal_bool_enum_uint8 dbac_enable)
osal_void hal_set_bandwidth_mode(hal_to_dmac_device_stru *hal_device, wlan_channel_bandwidth_enum_uint8 bandwidth)
osal_void hal_get_ch_statics_result(hal_ch_statics_irq_event_stru *ch_statics)
osal_void hal_clear_hw_fifo(hal_to_dmac_device_stru *hal_device)
osal_void hal_pm_set_bcn_rf_chain(hal_to_dmac_vap_stru *hal_vap, osal_u8 bcn_rf_chain)
osal_void hal_disable_machw_phy_and_pa(osal_void)
osal_void hal_enable_machw_phy_and_pa(const hal_to_dmac_device_stru *hal_device)
osal_void hal_pm_servid_unregister(osal_void)
osal_void hal_tx_ucast_data_set_dscr(hal_to_dmac_device_stru *device, hal_tx_dscr_stru *tx_dscr, hal_tx_txop_alg_stru *txop_alg)
osal_void hal_pow_set_user_resp_frame_tx_power(hal_to_dmac_device_stru *hal_device, osal_u8 lut_index, osal_u8 rssi_distance)
osal_void hal_vap_beacon_resume(const hal_to_dmac_vap_stru *hal_vap)
osal_void hal_vap_tsf_get_32bit(const hal_to_dmac_vap_stru *hal_vap, osal_u32 *tsf_lo)
osal_void hal_rx_destroy_dscr_queue(hal_to_dmac_device_stru *device)
osal_void hal_tx_get_vap_id(const hal_to_dmac_device_stru *hal_device, const hal_tx_dscr_stru *tx_dscr, osal_u8 *vap_id)
osal_void hal_set_rf_limit_power(wlan_channel_band_enum_uint8 band, osal_u8 power)
osal_void hal_vap_beacon_suspend(const hal_to_dmac_vap_stru *hal_vap)
osal_void hal_pow_get_data_rate_idx(osal_u8 protocol_mode, osal_u8 mcs, wlan_bw_cap_enum_uint8 bw, osal_u8 *rate_idx)
osal_void hal_get_bcn_rate(const hal_to_dmac_vap_stru *hal_vap, osal_u8 *data_rate)
osal_void hal_vap_tsf_get_64bit(const hal_to_dmac_vap_stru *hal_vap, osal_u32 *tsf_high, osal_u32 *tsf_lo)
osal_void hal_vap_set_machw_beacon_period(const hal_to_dmac_vap_stru *hal_vap, osal_u16 beacon_period)
osal_void hal_vap_read_tbtt_timer(const hal_to_dmac_vap_stru *hal_vap, osal_u32 *value)
osal_void hal_pow_get_spec_frame_data_rate_idx(osal_u8 rate, osal_u8 *rate_idx)
osal_void hal_pm_vote2platform(hal_pm_mode_enum_uint8 pm_mode)
osal_void hal_tx_fill_basic_ctrl_dscr(const hal_to_dmac_device_stru *hal_device, hal_tx_dscr_stru *tx_dscr, hal_tx_mpdu_stru *mpdu)
osal_void hal_vap_get_gtk_rx_lut_idx(const hal_to_dmac_vap_stru *hal_vap, osal_u8 *lut_idx)
osal_void hal_rx_init_dscr_queue(hal_to_dmac_device_stru *device, osal_u8 set_hw)
osal_void hal_ce_get_key(const hal_security_key_stru *security_key)
osal_void hal_chan_measure_start(hal_chan_measure_stru *meas)
osal_void hal_pow_set_band_spec_frame_tx_power(hal_to_dmac_device_stru *hal_device, wlan_channel_band_enum_uint8 band, osal_u8 chan_idx)
osal_void hal_ce_add_key(hal_security_key_stru *security_key)
osal_void hal_set_bcn_phy_tx_mode(const hal_to_dmac_vap_stru *hal_vap, osal_u32 pow_code)
osal_void hal_recover_machw_phy_and_pa(hal_to_dmac_device_stru *hal_device)
osal_void hal_mask_interrupt(osal_u32 offset)
osal_void hal_initialize_machw_common(osal_void)
#define hal_public_hook_func(_func)
Definition hal_ops_common_rom.h:85
osal_void hal_unmask_interrupt(osal_u32 offset)
osal_void hal_add_vap(hal_to_dmac_device_stru *hal_device_base, wlan_vap_mode_enum_uint8 vap_mode, osal_u8 hal_vap_id, hal_to_dmac_vap_stru **hal_vap)
osal_void hal_del_vap(hal_to_dmac_device_stru *hal_device, osal_u8 vap_id)
osal_void hal_get_hal_vap(const hal_to_dmac_device_stru *hal_device_base, osal_u8 vap_id, hal_to_dmac_vap_stru **hal_vap)
osal_u8 type
Definition oal_net.h:0
osal_u8 oal_bool_enum_uint8
Definition oal_types_device_rom.h:45
#define INLINE__
Definition osal_list.h:25
int osal_s32
Definition osal_types.h:19
unsigned char osal_u8
Definition osal_types.h:11
signed char osal_s8
Definition osal_types.h:17
char osal_char
Definition osal_types.h:16
unsigned long long osal_u64
Definition osal_types.h:14
short osal_s16
Definition osal_types.h:18
long long osal_s64
Definition osal_types.h:20
void osal_void
Definition osal_types.h:29
unsigned int osal_u32
Definition osal_types.h:13
unsigned short osal_u16
Definition osal_types.h:12
#define ch(x, y, z)
Definition sha256.c:18
Definition hal_common_ops_device_rom.h:1349
Definition hal_common_ops_device_rom.h:1356
Definition hal_common_ops_device_rom.h:1342
Definition hal_ext_if.h:62
osal_s8 c_sd_cca_20th_dsss
Definition hal_ext_if.h:68
osal_s8 c_sd_cca_20th_ofdm
Definition hal_ext_if.h:69
osal_s8 c_ed_cca_40th_high
Definition hal_ext_if.h:65
osal_s8 c_ed_cca_20th_high
Definition hal_ext_if.h:64
Definition hal_ext_if.h:56
osal_u16 netbuf_num
Definition hal_ext_if.h:58
oal_netbuf_stru * netbuf
Definition hal_ext_if.h:57
Definition hal_common_ops_device_rom.h:1251
Definition hal_common_ops_device_rom.h:542
Definition hal_common_ops_device_rom.h:1022
Definition hal_common_ops_device_rom.h:1039
Definition hal_ext_if_rom.h:103
Definition hal_common_ops_device_rom.h:1190
Definition hal_commom_ops_type_rom.h:232
Definition hal_commom_ops_type_rom.h:240
Definition hal_common_ops_device_rom.h:1541
osal_u16 value
Definition hal_common_ops_device_rom.h:1543
Definition hal_common_ops_device_rom.h:1536
osal_u32 value
Definition hal_common_ops_device_rom.h:1538
Definition hal_common_ops_device_rom.h:800
Definition hal_common_ops_device_rom.h:720
Definition hal_ops_common_rom.h:304
Definition hal_common_ops_device_rom.h:758
Definition hal_ops_common_rom.h:240
Definition hal_common_ops_device_rom.h:667
Definition hal_common_ops_device_rom.h:746
Definition hal_ops_common_rom.h:678
Definition wlan_types_base_rom.h:258
Definition hal_common_ops_device_rom.h:506
Definition hal_common_ops_device_rom.h:513
Definition hal_common_ops_device_rom.h:1529
Definition oal_skbuff.h:82
Definition hal_ops_common_rom.h:529
Definition hal_common_ops_device_rom.h:870
Definition hal_ops_common_rom.h:213
Definition hal_uart_v151_regs_def.h:38
osal_u8 wlan_phy_protocol_enum_uint8
Definition wlan_spec_type_rom.h:33
osal_u8 wlan_bw_cap_enum_uint8
Definition wlan_types.h:455
td_u8 wlan_protocol_enum_uint8
Definition wlan_types.h:488
osal_u8 wlan_vap_mode_enum_uint8
Definition wlan_types_base_rom.h:89
osal_u8 wlan_channel_bandwidth_enum_uint8
Definition wlan_types_base_rom.h:237
osal_u8 wlan_ciper_protocol_type_enum_uint8
Definition wlan_types_base_rom.h:152
osal_u8 wlan_channel_band_enum_uint8
Definition wlan_types_base_rom.h:97
osal_u8 wlan_wme_ac_type_enum_uint8
Definition wlan_types_base_rom.h:59