A_UINT32 bestThruput, thisThruput;
A_UINT32 nowMsec;
A_UINT8 rate, nextRate, bestRate;
- A_RSSI rssiLast, rssiReduce = 0;
A_UINT8 maxIndex, minIndex;
A_INT8 index;
TX_RATE_CTRL *pRc = NULL;
struct atheros_node *asn = ATH_NODE_ATHEROS(an);
A_UINT8 rix, nrix;
A_UINT8 dot11Rate;
- A_UINT8 rateCode;
WLAN_PHY phy;
rix = rcRateFind_ht(sc, asn, pRateTable, (rcflag & ATH_RC_PROBE_ALLOWED) ? 1 : 0,
{
TX_RATE_CTRL *pRc;
A_UINT32 nowMsec = A_MS_TICKGET();
- A_BOOL stateChange = FALSE;
A_UINT8 lastPer;
int rate,count;
struct atheros_node *pSib = ATH_NODE_ATHEROS(an);
struct atheros_softc *asc = (struct atheros_softc*)sc->sc_rc;
RATE_TABLE_11N *pRateTable = (RATE_TABLE_11N *)asc->hwRateTable[sc->sc_curmode];
- u_int32_t txRateKbps;
static A_UINT32 nRetry2PerLookup[10] = {
100 * 0 / 1, // 0
struct ath_rc_series series[],
int *isProbe)
{
- struct ieee80211vap *vap = an->ni.ni_vap;
- struct atheros_node *oan = ATH_NODE_ATHEROS(an);
- struct atheros_softc *asc = (struct atheros_softc *) sc->sc_rc;
- RATE_TABLE *pRateTable = (RATE_TABLE *)asc->hwRateTable[sc->sc_curmode];
- u_int32_t *retrySched;
-
*isProbe = 0;
if (!numRates || !numTries) {
struct ath_rc_series rcs[],
int nframes, int nbad)
{
- struct atheros_softc *asc = (struct atheros_softc *) sc->sc_rc;
- const RATE_TABLE *pRateTable = (RATE_TABLE *)asc->hwRateTable[sc->sc_curmode];
- u_int8_t txRate = ds->ds_txstat.ts_rate &~ HAL_TXSTAT_ALTRATE;
-
ath_rate_tx_complete_11n(sc, an, ds, rcs, nframes, nbad);
}
struct ath_rc_series series[],
int *isProbe)
{
- struct ieee80211vap *vap = an->ni.ni_vap;
- struct atheros_node *oan = ATH_NODE_ATHEROS(an);
-
*isProbe = 0;
if (!numRates || !numTries) {
return;
ath_rate_newassoc_11n(struct ath_softc_tgt *sc, struct ath_node_target *an, int isnew,
unsigned int capflag, struct ieee80211_rate *rs)
{
- struct ieee80211vap *vap = an->ni.ni_vap;
-
if (isnew) {
struct atheros_node *oan = ATH_NODE_ATHEROS(an);