6#ifndef ALG_AUTORATE_BASIC_ROM_H
7#define ALG_AUTORATE_BASIC_ROM_H
21#ifdef _PRE_WLAN_FEATURE_AUTORATE
32#define alg_ar_dbg_log0(vap_id, fmt) \
34 if (g_ast_autorate_dev_info.enable_ar_log == OSAL_TRUE) { \
35 oam_warning_log0(vap_id, OAM_SF_AUTORATE, fmt); \
39#define alg_ar_dbg_log1(vap_id, fmt, p1) \
41 if (g_ast_autorate_dev_info.enable_ar_log == OSAL_TRUE) { \
42 oam_warning_log1(vap_id, OAM_SF_AUTORATE, fmt, p1); \
46#define alg_ar_dbg_log2(vap_id, fmt, p1, p2) \
48 if (g_ast_autorate_dev_info.enable_ar_log == OSAL_TRUE) { \
49 oam_warning_log2(vap_id, OAM_SF_AUTORATE, fmt, p1, p2); \
53#define alg_ar_dbg_log3(vap_id, fmt, p1, p2, p3) \
55 if (g_ast_autorate_dev_info.enable_ar_log == OSAL_TRUE) { \
56 oam_warning_log3(vap_id, OAM_SF_AUTORATE, fmt, p1, p2, p3); \
60#define alg_ar_dbg_log4(vap_id, fmt, p1, p2, p3, p4) \
62 if (g_ast_autorate_dev_info.enable_ar_log == OSAL_TRUE) { \
63 oam_warning_log4(vap_id, OAM_SF_AUTORATE, fmt, p1, p2, p3, p4); \
67#define ALG_AR_GLA_PROTOCOL_SHIFT 8
68#define ALG_AR_GLA_BW_SHIFT 4
72void alg_ar_probe_finish_update_info(alg_autorate_user_stru *user_info,
oal_bool_enum_uint8 update_bestrate);
73osal_u32 alg_ar_probe_finish_process(alg_autorate_user_stru *user_info);
75alg_autorate_vap_stru *alg_ar_get_vap_rate_info(
osal_u8 vap_id);
76alg_autorate_vap_stru *alg_ar_get_vap_rate_info_by_dmac_vap(
const dmac_vap_stru *dmac_vap);
77alg_autorate_user_stru *alg_ar_get_user_rate_info(dmac_user_stru *dmac_user);
81osal_u8 alg_ar_get_wlan_legacy_rate_by_hal_rate(
osal_u8 tx_param_mcs);
94void alg_ar_get_rate_kbps(alg_autorate_basic_rate_info_stru *rate_info,
osal_u8 rate_index,
96osal_u32 alg_ar_rate_stat_calc_goodput(
const alg_rate_table_stru *rate_item,
98osal_u32 alg_ar_get_theory_goodput(alg_autorate_basic_rate_info_stru *rate_info,
osal_u8 rate_index,
99 const alg_rate_table_stru *rate_item,
osal_u32 *theory_goodput);
102osal_bool alg_get_user_cur_protocol_bw_support_short_gi(alg_autorate_user_stru *user_info,
104void alg_autorate_notify_best_rate_change(alg_autorate_user_stru *user_info);
119osal_u32 alg_ar_set_schedule_fix_rate_info(dmac_user_stru *user, alg_autorate_user_stru *user_info,
osal_u8 tid_id);
120osal_u32 alg_ar_set_schedule_rate_info(dmac_user_stru *user, alg_autorate_user_stru *user_info,
osal_u8 tid_id);
125void alg_ar_init_user_basic_info(alg_autorate_user_stru *user_info,
127void alg_ar_init_user_legacy_rate_set_capability(alg_autorate_user_stru *user_info);
128void alg_ar_init_user_ht_rate_set_capability(alg_autorate_user_stru *user_info);
129void alg_ar_init_user_vht_rate_set_capability(alg_autorate_user_stru *user_info);
130void alg_ar_init_user_he_rate_set_capability(alg_autorate_user_stru *user_info);
131void alg_ar_init_user_rate_set_capability(alg_autorate_user_stru *user_info);
132osal_u8 alg_ar_init_user_get_start_rate_index_by_protocol(alg_autorate_user_stru *user_info,
134osal_u8 alg_ar_init_user_get_start_rate_index(alg_autorate_user_stru *user_info);
135void alg_ar_init_user_probe_info(alg_autorate_user_stru *user_info);
136void alg_ar_fill_retry_rank_with_er_base_info(alg_autorate_tx_rate_rank_stru *each_stable_rank,
137 alg_autorate_user_stru *user_rate_info);
138void alg_ar_fill_retry_rank_with_er_dcm_rate(
osal_u8 rank_index,
139 alg_autorate_tx_rate_rank_stru *stable_rank, alg_autorate_user_stru *user_rate_info);
140void alg_ar_get_user_tx_rate_rank_info(
141 alg_autorate_user_stru *user_info,
osal_u8 max_rank_index, alg_autorate_tx_rate_rank_stru *tx_rate_rank);
142osal_u32 alg_ar_init_user_rate_stat_info(alg_autorate_user_stru *user_info,
osal_bool is_same_stat);
143osal_u32 alg_ar_init_user_best_rate_info(alg_autorate_user_stru *user_info,
144 alg_autorate_basic_rate_info_stru *rate_info);
145osal_u32 alg_ar_init_user_rate_info(alg_autorate_user_stru *user_info,
146 alg_autorate_basic_rate_info_stru *rate_info);
147osal_u32 alg_ar_init_user_rate(alg_autorate_user_stru *user_info);
155 alg_autorate_basic_rate_info_stru *basic_rate_info);
osal_u8 oal_bool_enum_uint8
Definition oal_types_device_rom.h:45
@ OAL_BUTT
Definition oal_types_device_rom.h:43
unsigned char osal_u8
Definition osal_types.h:11
osal_u8 osal_bool
Definition osal_types.h:27
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 alg_autorate_common_rom.h:131
Definition alg_autorate_common_rom.h:103
Definition dmac_ext_if_rom.h:106
wlan_phy_protocol_enum
Definition wlan_spec_type_rom.h:22
osal_u8 wlan_phy_protocol_enum_uint8
Definition wlan_spec_type_rom.h:33
osal_u8 wlan_gi_type_enum_uint8
Definition wlan_types.h:668
@ WLAN_HE_GI_TYPE_BUTT
Definition wlan_types.h:666
osal_u8 wlan_legacy_ofdm_mcs_enum_uint8
Definition wlan_types.h:532
osal_u8 wlan_he_ltf_type_enum_uint8
Definition wlan_types.h:713
td_u8 wlan_protocol_enum_uint8
Definition wlan_types.h:488
osal_u8 wlan_11b_rate_index_enum_uint8
Definition wlan_types.h:519
osal_u8 wlan_nss_enum_uint8
Definition wlan_types_base_rom.h:240