WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
alg_aggr_probe_rom.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2020-2022. All rights reserved.
3 * Description: auto-aggr probe algorithm rom.
4 */
5
6#ifndef ALG_AGGR_PROBE_ROM_H
7#define ALG_AGGR_PROBE_ROM_H
8
9#ifdef _PRE_WLAN_FEATURE_AUTOAGGR
10
11/******************************************************************************
12 1 其他头文件包含
13******************************************************************************/
14#include "hal_device_rom.h"
15#include "dmac_ext_if_rom.h"
16#include "frw_msg_rom.h"
17#include "dmac_alg_if_part_rom.h"
18#include "alg_aggr_rom.h"
19
20#ifdef __cplusplus
21#if __cplusplus
22extern "C" {
23#endif
24#endif
25
26/******************************************************************************
27 2 宏定义
28******************************************************************************/
29#define alg_aggr_smooth_delta_per(_pst_aggr_dev_info, _avg_delta_per, _instant_delta_per) \
30 (((osal_s32)(_avg_delta_per) * (osal_s32)((1U << (_pst_aggr_dev_info)->aggr_stat_shift) - 1) + \
31 (_instant_delta_per)) / (osal_s32)(1U << (_pst_aggr_dev_info)->aggr_stat_shift))
32
33#define alg_aggr_average_delta_per(delta_per, stat_cnt, instant_delta_per) \
34 (((delta_per) * (stat_cnt) + (instant_delta_per)) / ((stat_cnt) + 1))
35
36#define alg_aggr_pktnum1_smaller_pktnum2(_ul_pktno1, _ul_pktno2) \
37 ((((_ul_pktno1) < (_ul_pktno2)) && ((_ul_pktno2) - (_ul_pktno1) < 0xFFF)) || \
38 (((_ul_pktno1) > (_ul_pktno2)) && ((_ul_pktno1) - (_ul_pktno2) > 0xF00U)))
39
40/******************************************************************************
41 3 枚举定义
42******************************************************************************/
43/* 聚合探测方向 */
44typedef enum {
45 ALG_AGGR_PROBE_UP = 0,
46 ALG_AGGR_PROBE_DOWN = 1,
47 ALG_AGGR_PROBE_DIRECT_BUTT
48} alg_aggr_direct_enum;
49
50/* 聚合探测状态 */
51typedef enum {
52 ALG_AGGR_PROBE_STATE_IDLE = 0, /* 聚合探测空闲状态 */
53 ALG_AGGR_PROBE_STATE_START = 1, /* 聚合探测启动状态 */
54
55 ALG_AGGR_PROBE_STATE_BUTT
56} alg_aggr_probe_state_enum;
57
58/******************************************************************************
59 4 STRUCT定义
60******************************************************************************/
61
62/******************************************************************************
63 5 函数声明
64******************************************************************************/
65osal_u32 alg_aggr_tx_probe_type_process(dmac_user_stru *user, mac_tx_ctl_stru *cb, hal_tx_txop_alg_stru *txop_param,
66 alg_aggr_user_info_stru *aggr_info);
67osal_void alg_aggr_check_probe_direction(alg_aggr_stru *aggr_dev_info, alg_aggr_user_info_stru *aggr_info);
68osal_void alg_aggr_basic_probe_sent_process(dmac_user_stru *dmac_user, alg_aggr_user_info_stru *aggr_info,
70osal_void alg_aggr_get_probe_lock(alg_aggr_user_info_stru *aggr_info, osal_u16 user_lut_idx);
71
72typedef osal_u32 (*alg_aggr_tx_probe_proc_cb)(dmac_user_stru *user, mac_tx_ctl_stru *cb,
73 hal_tx_txop_alg_stru *txop_param, alg_aggr_user_info_stru *aggr_info, osal_u32 *ret);
74typedef osal_u32 (*alg_aggr_probe_sent_cb)(dmac_user_stru *dmac_user, alg_aggr_user_info_stru *aggr_info,
76typedef osal_u32 (*alg_aggr_probe_up_bytes_cb)(alg_aggr_user_info_stru *aggr_info, alg_aggr_stru *aggr_dev_info,
78typedef osal_u32 (*alg_aggr_probe_up_updt_cb)(dmac_user_stru *dmac_user, alg_aggr_user_info_stru *aggr_info);
79typedef osal_u32 (*alg_aggr_probe_down_updt_cb)(dmac_user_stru *dmac_user, alg_aggr_user_info_stru *aggr_info,
80 alg_aggr_stru *aggr_dev_info, osal_u32 best_rate_kbps);
81typedef osal_u32 (*alg_aggr_probe_up_proc_cb)(dmac_user_stru *dmac_user, osal_u32 best_rate_kbps,
82 alg_aggr_user_info_stru *aggr_info, osal_u16 probe_per, hal_tx_dscr_ctrl_one_param *tx_dscr);
83typedef osal_u32 (*alg_aggr_probe_down_proc_cb)(dmac_user_stru *dmac_user, osal_u32 best_rate_kbps,
84 alg_aggr_user_info_stru *aggr_info, osal_u16 probe_per, alg_aggr_stru *aggr_dev_info);
85typedef osal_u32 (*alg_aggr_chk_probe_down_cb)(alg_aggr_stru *aggr_dev_info, alg_aggr_user_info_stru *aggr_info);
86
87#ifdef __cplusplus
88#if __cplusplus
89}
90#endif
91#endif
92#endif /* #ifdef _PRE_WLAN_FEATURE_AUTOAGGR */
93#endif /* end of alg_aggr_probe_rom.h */
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
Definition hal_common_ops_rom.h:56
Definition hal_ops_common_rom.h:240
Definition dmac_ext_if_device_rom.h:98