6#ifndef ALG_TPC_PROBE_ROM_H
7#define ALG_TPC_PROBE_ROM_H
9#ifdef _PRE_WLAN_FEATURE_TPC
10#ifdef _PRE_WLAN_TPC_DO_PROBE
29#define ALG_TPC_MIN_PROBE_INTVL_PKTNUM 8
30#define ALG_TPC_MAX_PROBE_INTVL_PKTNUM 128
31#define ALG_TPC_PROBE_INTVL_KEEP_TIMES 4
32#define ALG_TPC_AGGR_PER_SMOOTH_SCALE 3
33#define ALG_TPC_NORMAL_PER_SMOOTH_SCALE 5
34#define ALG_TPC_PER_SMOOTH_SCALE_MIN 2
35#define ALG_TPC_CUR_PER_REDUCE_TH 5
38#define ALG_TPC_INVALID_PER 0xffff
39#define ALG_TPC_BEST_RATE_PER_LIMIT_TO_DOWN (40)
40#define ALG_TPC_BEST_RATE_PER_LIMIT_TO_UP (80)
41#define ALG_TPC_PROBE_RATE_PER_LIMIT_STOP_DOWN (ALG_TPC_BEST_RATE_PER_LIMIT_TO_UP)
42#define ALG_TPC_PROBE_RATE_PER_LIMIT_STOP_UP (ALG_TPC_BEST_RATE_PER_LIMIT_TO_DOWN)
43#define ALG_TPC_PER_MARGIN (30)
44#define ALG_TPC_MAX_PROBE_WAIT_COUNT 4
51 ALG_TPC_STATE_NORMAL = 0,
52 ALG_TPC_STATE_PROBE_UP = 1,
53 ALG_TPC_STATE_PROBE_DOWN = 2,
56typedef osal_u8 alg_tpc_state_enum_uint8;
60 ALG_TPC_FRAME_BEST = 0,
61 ALG_TPC_FRAME_PROBE = 1,
62 ALG_TPC_FRAME_FIX = 2,
63 ALG_TPC_FRAME_MAX = 3,
65} alg_tpc_frame_type_enum;
66typedef osal_u8 alg_tpc_frame_type_enum_uint8;
73 osal_u8 alg_tpc_11b_bw_target_index;
74 osal_u8 alg_tpc_11g_11a_bw_target_index;
75 osal_u8 alg_tpc_11n_20mhz_target_index;
76 osal_u8 alg_tpc_11n_40mhz_target_index;
78 osal_u8 alg_tpc_11ac_20mhz_target_index;
79 osal_u8 alg_tpc_11ac_40mhz_target_index;
80 osal_u8 alg_tpc_11ac_80mhz_target_index;
81 osal_u8 alg_tpc_11ac_160mhz_target_index;
82} alg_tpc_target_rate_index_stru;
86#ifdef _PRE_WLAN_TPC_DO_PROBE
87 alg_tpc_state_enum_uint8 probe_state : 3;
95 alg_tpc_state_enum_uint8 probe_state : 3;
100#ifdef _PRE_WLAN_TPC_DO_PROBE
119} alg_tpc_probe_info_stru;
124typedef osal_u32 (*alg_tpc_probe_state_process_cb)(
const alg_tpc_user_pow_info_stru *user_pow_info,
126osal_void alg_tpc_non_probe_state_process(
const alg_tpc_user_pow_info_stru *user_pow_info,
129osal_void alg_tpc_init_all_probe_info(
const alg_tpc_user_pow_info_stru *user_pow_info);
133 alg_tpc_frame_type_enum_uint8 *frame_type);
134osal_void alg_tpc_best_rate_change_process(alg_tpc_user_pow_info_stru *user_pow_info,
osal_u8 best_rate_index);
135osal_void alg_tpc_tx_complete_probe_process(
const alg_tpc_user_pow_info_stru *user_pow_info,
136 dmac_user_stru *dmac_user, alg_tpc_probe_info_stru *probe_info,
139osal_u32 alg_tpc_get_traffic_rate_info(alg_tpc_user_pow_info_stru *user_pow_info,
141osal_void alg_tpc_update_power_per(
const alg_tpc_user_pow_info_stru *user_pow_info,
143osal_void alg_tpc_best_rate_change_process(alg_tpc_user_pow_info_stru *user_pow_info,
osal_u8 best_rate_index);
145 alg_tpc_frame_type_enum_uint8 *frame_type);
#define HAL_POW_ADJUST_LEVEL_NUM
Definition hal_commom_ops_type_rom.h:342
osal_u8 resv1
Definition oal_net.h:1
osal_u8 oal_bool_enum_uint8
Definition oal_types_device_rom.h:45
unsigned char osal_u8
Definition osal_types.h:11
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:255
Definition dmac_ext_if_device_rom.h:98
Definition hal_ops_common_rom.h:529
osal_u8 wlan_wme_ac_type_enum_uint8
Definition wlan_types_base_rom.h:59