FreeBSD kernel ATH device code
|
Go to the source code of this file.
Data Structures | |
struct | ath_ratectrl |
struct | ath_rc_series |
Macros | |
#define | ATH_RC_NUM 4 |
#define | ATH_RC_DS_FLAG 0x01 /* dual-stream rate */ |
#define | ATH_RC_CW40_FLAG 0x02 /* use HT40 */ |
#define | ATH_RC_SGI_FLAG 0x04 /* use short-GI */ |
#define | ATH_RC_HT_FLAG 0x08 /* use HT */ |
#define | ATH_RC_RTSCTS_FLAG 0x10 /* enable RTS/CTS protection */ |
#define | ATH_RC_STBC_FLAG 0x20 /* enable STBC */ |
#define | ATH_RC_TS_FLAG 0x40 /* triple-stream rate */ |
Functions | |
struct ath_ratectrl * | ath_rate_attach (struct ath_softc *) |
void | ath_rate_detach (struct ath_ratectrl *) |
void | ath_rate_node_init (struct ath_softc *, struct ath_node *) |
void | ath_rate_node_cleanup (struct ath_softc *, struct ath_node *) |
void | ath_rate_newassoc (struct ath_softc *, struct ath_node *, int isNewAssociation) |
void | ath_rate_getxtxrates (struct ath_softc *sc, struct ath_node *an, uint8_t rix0, int is_aggr, struct ath_rc_series *rc) |
void | ath_rate_findrate (struct ath_softc *, struct ath_node *, int shortPreamble, size_t frameLen, int tid, int is_aggr, u_int8_t *rix, int *try0, u_int8_t *txrate, int *maxdur, int *maxpktlen) |
void | ath_rate_setupxtxdesc (struct ath_softc *, struct ath_node *, struct ath_desc *, int shortPreamble, u_int8_t rix) |
void | ath_rate_tx_complete (struct ath_softc *, struct ath_node *, const struct ath_rc_series *, const struct ath_tx_status *, int pktlen, int rc_framelen, int nframes, int nbad) |
void | ath_rate_update_rx_rssi (struct ath_softc *, struct ath_node *, int rssi) |
int | ath_rate_fetch_stats (struct ath_softc *sc, struct ath_rateioctl *rs) |
int | ath_rate_fetch_node_stats (struct ath_softc *sc, struct ath_node *an, struct ath_rateioctl *rs) |
#define ATH_RC_CW40_FLAG 0x02 /* use HT40 */ |
Definition at line 85 of file if_athrate.h.
#define ATH_RC_DS_FLAG 0x01 /* dual-stream rate */ |
Definition at line 84 of file if_athrate.h.
#define ATH_RC_HT_FLAG 0x08 /* use HT */ |
Definition at line 87 of file if_athrate.h.
#define ATH_RC_NUM 4 |
Definition at line 82 of file if_athrate.h.
#define ATH_RC_RTSCTS_FLAG 0x10 /* enable RTS/CTS protection */ |
Definition at line 88 of file if_athrate.h.
#define ATH_RC_SGI_FLAG 0x04 /* use short-GI */ |
Definition at line 86 of file if_athrate.h.
#define ATH_RC_STBC_FLAG 0x20 /* enable STBC */ |
Definition at line 89 of file if_athrate.h.
#define ATH_RC_TS_FLAG 0x40 /* triple-stream rate */ |
Definition at line 90 of file if_athrate.h.
struct ath_ratectrl * ath_rate_attach | ( | struct ath_softc * | sc | ) |
Definition at line 458 of file amrr.c.
References amrr_softc::arc, onoe_softc::arc, sample_softc::arc, ath_ratectrl::arc_space, ath_rate_sysctlattach(), sample_softc::max_successive_failures, sample_softc::min_switch, sample_softc::sample_rate, sample_softc::smoothing_minpackets, sample_softc::smoothing_rate, and sample_softc::stale_failure_timeout.
Referenced by ath_attach().
void ath_rate_detach | ( | struct ath_ratectrl * | arc | ) |
Definition at line 472 of file amrr.c.
References amrr_softc::arc, onoe_softc::arc, and sample_softc::arc.
Referenced by ath_detach().
int ath_rate_fetch_node_stats | ( | struct ath_softc * | sc, |
struct ath_node * | an, | ||
struct ath_rateioctl * | rs | ||
) |
Definition at line 1431 of file sample.c.
References ATH_NODE_LOCK_ASSERT, ATH_NODE_SAMPLE, ATH_RATE_TLV_RATETABLE, ATH_RATE_TLV_SAMPLENODE, ath_rateioctl::buf, HAL_RATE_TABLE::dot11Rate, HAL_RATE_TABLE::info, ath_rateioctl::len, ath_rateioctl_rt::nentries, HAL_RATE_TABLE::phy, ath_rateioctl_rt::ratecode, HAL_RATE_TABLE::rateCount, ath_softc::sc_currates, ath_softc::sc_dev, ath_rateioctl_tlv::tlv_id, and ath_rateioctl_tlv::tlv_len.
int ath_rate_fetch_stats | ( | struct ath_softc * | sc, |
struct ath_rateioctl * | rs | ||
) |
void ath_rate_findrate | ( | struct ath_softc * | sc, |
struct ath_node * | an, | ||
int | shortPreamble, | ||
size_t | frameLen, | ||
int | tid, | ||
int | is_aggr, | ||
u_int8_t * | rix, | ||
int * | try0, | ||
u_int8_t * | txrate, | ||
int * | maxdur, | ||
int * | maxpktlen | ||
) |
Definition at line 106 of file amrr.c.
References amrr_node::amn_tx_rate0, amrr_node::amn_tx_rate0sp, amrr_node::amn_tx_rix0, amrr_node::amn_tx_try0, ath_node::an_node, ATH_NODE_AMRR, ATH_NODE_ONOE, ATH_NODE_SAMPLE, ath_rate_pick_seed_rate_ht(), ath_rate_pick_seed_rate_legacy(), ath_rate_sample_find_min_pktlength(), ath_rate_update_static_rix(), ATH_SOFTC_SAMPLE, ATH_TXMAXTRY, rate_stats::average_tx_time, bin_to_size(), sample_node::currates, sample_node::current_rix, sample_node::current_sample_rix, dot11rate(), DOT11RATE, dot11rate_label(), rate_stats::ewma_pct, HAL_RATE_TABLE::info, MCS, MIN, sample_softc::min_switch, onoe_node::on_tx_rate0, onoe_node::on_tx_rate0sp, onoe_node::on_tx_rix0, onoe_node::on_tx_try0, sample_node::packets_sent, sample_node::packets_since_sample, sample_node::packets_since_switch, rate_stats::perfect_tx_time, HAL_RATE_TABLE::phy, pick_best_rate(), pick_sample_rate(), HAL_RATE_TABLE::rateCode, HAL_RATE_TABLE::rateCount, sample_softc::sample_rate, sample_node::sample_tt, ath_softc::sc_currates, ath_softc::sc_dev, ath_softc::sc_ic, ath_softc::sc_mrretry, ath_softc::sc_mrrprot, sample_node::sched, HAL_RATE_TABLE::shortPreamble, size_to_bin(), sample_node::static_rix, sample_node::stats, txschedule::t0, and sample_node::ticks_since_switch.
Referenced by ath_tx_do_ratelookup().
void ath_rate_getxtxrates | ( | struct ath_softc * | sc, |
struct ath_node * | an, | ||
uint8_t | rix0, | ||
int | is_aggr, | ||
struct ath_rc_series * | rc | ||
) |
Definition at line 130 of file amrr.c.
References amrr_node::amn_tx_rate0, amrr_node::amn_tx_rate1, amrr_node::amn_tx_rate2, amrr_node::amn_tx_rate3, amrr_node::amn_tx_try0, amrr_node::amn_tx_try1, amrr_node::amn_tx_try2, amrr_node::amn_tx_try3, ATH_NODE_AMRR, ATH_NODE_ONOE, ATH_NODE_SAMPLE, ath_rc_series::flags, onoe_node::on_tx_rate0, onoe_node::on_tx_rate1, onoe_node::on_tx_rate2, onoe_node::on_tx_rate3, onoe_node::on_tx_try0, txschedule::r0, txschedule::r1, txschedule::r2, txschedule::r3, ath_rc_series::rix, sample_node::sched, txschedule::t0, txschedule::t1, txschedule::t2, txschedule::t3, and ath_rc_series::tries.
Referenced by ath_tx_do_ratelookup().
Definition at line 195 of file amrr.c.
References ath_node::an_node, ath_rate_ctl_reset(), and ath_rate_ctl_start().
Referenced by ath_newassoc().
Definition at line 101 of file amrr.c.
Referenced by ath_node_cleanup().
Definition at line 95 of file amrr.c.
Referenced by ath_node_alloc().
void ath_rate_setupxtxdesc | ( | struct ath_softc * | sc, |
struct ath_node * | an, | ||
struct ath_desc * | ds, | ||
int | shortPreamble, | ||
u_int8_t | rix | ||
) |
Definition at line 149 of file amrr.c.
References amrr_node::amn_tx_rate1sp, amrr_node::amn_tx_rate2sp, amrr_node::amn_tx_rate3sp, amrr_node::amn_tx_try1, amrr_node::amn_tx_try2, amrr_node::amn_tx_try3, ath_hal_setupxtxdesc, ATH_NODE_AMRR, ATH_NODE_ONOE, ATH_NODE_SAMPLE, HAL_RATE_TABLE::info, onoe_node::on_tx_rate1sp, onoe_node::on_tx_rate2sp, onoe_node::on_tx_rate3sp, txschedule::r1, txschedule::r2, txschedule::r3, HAL_RATE_TABLE::rateCode, ath_softc::sc_ah, ath_softc::sc_currates, sample_node::sched, HAL_RATE_TABLE::shortPreamble, txschedule::t1, txschedule::t2, and txschedule::t3.
void ath_rate_tx_complete | ( | struct ath_softc * | sc, |
struct ath_node * | an, | ||
const struct ath_rc_series * | rc, | ||
const struct ath_tx_status * | ts, | ||
int | pktlen, | ||
int | rc_framelen, | ||
int | nframes, | ||
int | nbad | ||
) |
Definition at line 162 of file amrr.c.
References amrr_node::amn_interval, amrr_node::amn_ticks, amrr_node::amn_tx_failure_cnt, amrr_node::amn_tx_try0_cnt, amrr_node::amn_tx_try1_cnt, amrr_node::amn_tx_try2_cnt, amrr_node::amn_tx_try3_cnt, ath_node::an_node, ATH_NODE_AMRR, ATH_NODE_ONOE, ATH_NODE_SAMPLE, ath_rate_ctl(), badrate(), bin_to_size(), dot11rate(), dot11rate_label(), IS_RATE_DEFINED, onoe_node::on_interval, onoe_node::on_ticks, onoe_node::on_tx_err, onoe_node::on_tx_ok, onoe_node::on_tx_retr, HAL_RATE_TABLE::rateCodeToIndex, sample_node::ratemask, ath_softc::sc_currates, ath_softc::sc_dev, ath_softc::sc_ic, ath_softc::sc_mrretry, ath_softc::sc_mrrprot, size_to_bin(), ath_rc_series::tries, ath_tx_status::ts_finaltsi, ath_tx_status::ts_longretry, ath_tx_status::ts_rate, ath_tx_status::ts_shortretry, ath_tx_status::ts_status, and update_stats().
Referenced by ath_tx_update_ratectrl().
Definition at line 202 of file amrr.c.
Referenced by ath_rx_pkt().