6#ifndef ALG_AGGR_PROBE_ROM_H
7#define ALG_AGGR_PROBE_ROM_H
9#ifdef _PRE_WLAN_FEATURE_AUTOAGGR
17#include "dmac_alg_if_part_rom.h"
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))
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))
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)))
45 ALG_AGGR_PROBE_UP = 0,
46 ALG_AGGR_PROBE_DOWN = 1,
47 ALG_AGGR_PROBE_DIRECT_BUTT
48} alg_aggr_direct_enum;
52 ALG_AGGR_PROBE_STATE_IDLE = 0,
53 ALG_AGGR_PROBE_STATE_START = 1,
55 ALG_AGGR_PROBE_STATE_BUTT
56} alg_aggr_probe_state_enum;
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);
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,
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);
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