rs_sta 135 drivers/net/wireless/intel/iwlegacy/3945-rs.c il3945_rate_scale_flush_wins(struct il3945_rs_sta *rs_sta) rs_sta 140 drivers/net/wireless/intel/iwlegacy/3945-rs.c struct il_priv *il __maybe_unused = rs_sta->il; rs_sta 148 drivers/net/wireless/intel/iwlegacy/3945-rs.c if (!rs_sta->win[i].counter) rs_sta 151 drivers/net/wireless/intel/iwlegacy/3945-rs.c spin_lock_irqsave(&rs_sta->lock, flags); rs_sta 152 drivers/net/wireless/intel/iwlegacy/3945-rs.c if (time_after(jiffies, rs_sta->win[i].stamp + RATE_WIN_FLUSH)) { rs_sta 154 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->win[i].counter, i); rs_sta 155 drivers/net/wireless/intel/iwlegacy/3945-rs.c il3945_clear_win(&rs_sta->win[i]); rs_sta 158 drivers/net/wireless/intel/iwlegacy/3945-rs.c spin_unlock_irqrestore(&rs_sta->lock, flags); rs_sta 171 drivers/net/wireless/intel/iwlegacy/3945-rs.c struct il3945_rs_sta *rs_sta = from_timer(rs_sta, t, rate_scale_flush); rs_sta 172 drivers/net/wireless/intel/iwlegacy/3945-rs.c struct il_priv *il __maybe_unused = rs_sta->il; rs_sta 179 drivers/net/wireless/intel/iwlegacy/3945-rs.c unflushed = il3945_rate_scale_flush_wins(rs_sta); rs_sta 181 drivers/net/wireless/intel/iwlegacy/3945-rs.c spin_lock_irqsave(&rs_sta->lock, flags); rs_sta 184 drivers/net/wireless/intel/iwlegacy/3945-rs.c packet_count = (rs_sta->tx_packets - rs_sta->last_tx_packets) + 1; rs_sta 186 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->last_tx_packets = rs_sta->tx_packets + 1; rs_sta 190 drivers/net/wireless/intel/iwlegacy/3945-rs.c jiffies_to_msecs(jiffies - rs_sta->last_partial_flush); rs_sta 209 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->flush_time = msecs_to_jiffies(duration); rs_sta 214 drivers/net/wireless/intel/iwlegacy/3945-rs.c mod_timer(&rs_sta->rate_scale_flush, rs_sta 215 drivers/net/wireless/intel/iwlegacy/3945-rs.c jiffies + rs_sta->flush_time); rs_sta 217 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->last_partial_flush = jiffies; rs_sta 219 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->flush_time = RATE_FLUSH; rs_sta 220 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->flush_pending = 0; rs_sta 225 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->last_flush = jiffies; rs_sta 227 drivers/net/wireless/intel/iwlegacy/3945-rs.c spin_unlock_irqrestore(&rs_sta->lock, flags); rs_sta 240 drivers/net/wireless/intel/iwlegacy/3945-rs.c il3945_collect_tx_data(struct il3945_rs_sta *rs_sta, rs_sta 246 drivers/net/wireless/intel/iwlegacy/3945-rs.c struct il_priv *il __maybe_unused = rs_sta->il; rs_sta 253 drivers/net/wireless/intel/iwlegacy/3945-rs.c spin_lock_irqsave(&rs_sta->lock, flags); rs_sta 304 drivers/net/wireless/intel/iwlegacy/3945-rs.c ((win->success_ratio * rs_sta->expected_tpt[idx] + rs_sta 312 drivers/net/wireless/intel/iwlegacy/3945-rs.c spin_unlock_irqrestore(&rs_sta->lock, flags); rs_sta 324 drivers/net/wireless/intel/iwlegacy/3945-rs.c struct il3945_rs_sta *rs_sta; rs_sta 333 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta = &psta->rs_sta; rs_sta 336 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->il = il; rs_sta 338 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->start_rate = RATE_INVALID; rs_sta 341 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->expected_tpt = il3945_expected_tpt_b; rs_sta 343 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->last_partial_flush = jiffies; rs_sta 344 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->last_flush = jiffies; rs_sta 345 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->flush_time = RATE_FLUSH; rs_sta 346 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->last_tx_packets = 0; rs_sta 349 drivers/net/wireless/intel/iwlegacy/3945-rs.c il3945_clear_win(&rs_sta->win[i]); rs_sta 358 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->last_txrate_idx = i; rs_sta 366 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->last_txrate_idx += IL_FIRST_OFDM_RATE; rs_sta 391 drivers/net/wireless/intel/iwlegacy/3945-rs.c struct il3945_rs_sta *rs_sta; rs_sta 397 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta = &psta->rs_sta; rs_sta 399 drivers/net/wireless/intel/iwlegacy/3945-rs.c spin_lock_init(&rs_sta->lock); rs_sta 400 drivers/net/wireless/intel/iwlegacy/3945-rs.c timer_setup(&rs_sta->rate_scale_flush, il3945_bg_rate_scale_flush, 0); rs_sta 403 drivers/net/wireless/intel/iwlegacy/3945-rs.c return rs_sta; rs_sta 409 drivers/net/wireless/intel/iwlegacy/3945-rs.c struct il3945_rs_sta *rs_sta = il_sta; rs_sta 416 drivers/net/wireless/intel/iwlegacy/3945-rs.c del_timer_sync(&rs_sta->rate_scale_flush); rs_sta 434 drivers/net/wireless/intel/iwlegacy/3945-rs.c struct il3945_rs_sta *rs_sta = il_sta; rs_sta 456 drivers/net/wireless/intel/iwlegacy/3945-rs.c if (!rs_sta->il) { rs_sta 461 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->tx_packets++; rs_sta 487 drivers/net/wireless/intel/iwlegacy/3945-rs.c il3945_collect_tx_data(rs_sta, &rs_sta->win[scale_rate_idx], 0, rs_sta 500 drivers/net/wireless/intel/iwlegacy/3945-rs.c il3945_collect_tx_data(rs_sta, &rs_sta->win[last_idx], rs_sta 507 drivers/net/wireless/intel/iwlegacy/3945-rs.c spin_lock_irqsave(&rs_sta->lock, flags); rs_sta 509 drivers/net/wireless/intel/iwlegacy/3945-rs.c if (!rs_sta->flush_pending && rs_sta 510 drivers/net/wireless/intel/iwlegacy/3945-rs.c time_after(jiffies, rs_sta->last_flush + rs_sta->flush_time)) { rs_sta 512 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->last_partial_flush = jiffies; rs_sta 513 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->flush_pending = 1; rs_sta 514 drivers/net/wireless/intel/iwlegacy/3945-rs.c mod_timer(&rs_sta->rate_scale_flush, rs_sta 515 drivers/net/wireless/intel/iwlegacy/3945-rs.c jiffies + rs_sta->flush_time); rs_sta 518 drivers/net/wireless/intel/iwlegacy/3945-rs.c spin_unlock_irqrestore(&rs_sta->lock, flags); rs_sta 524 drivers/net/wireless/intel/iwlegacy/3945-rs.c il3945_get_adjacent_rate(struct il3945_rs_sta *rs_sta, u8 idx, u16 rate_mask, rs_sta 529 drivers/net/wireless/intel/iwlegacy/3945-rs.c struct il_priv *il __maybe_unused = rs_sta->il; rs_sta 560 drivers/net/wireless/intel/iwlegacy/3945-rs.c if (rs_sta->tgg) rs_sta 573 drivers/net/wireless/intel/iwlegacy/3945-rs.c if (rs_sta->tgg) rs_sta 613 drivers/net/wireless/intel/iwlegacy/3945-rs.c struct il3945_rs_sta *rs_sta = il_sta; rs_sta 629 drivers/net/wireless/intel/iwlegacy/3945-rs.c if (rs_sta && !rs_sta->il) { rs_sta 643 drivers/net/wireless/intel/iwlegacy/3945-rs.c idx = min(rs_sta->last_txrate_idx & 0xffff, RATE_COUNT_3945 - 1); rs_sta 648 drivers/net/wireless/intel/iwlegacy/3945-rs.c spin_lock_irqsave(&rs_sta->lock, flags); rs_sta 653 drivers/net/wireless/intel/iwlegacy/3945-rs.c if (rs_sta->start_rate != RATE_INVALID) { rs_sta 654 drivers/net/wireless/intel/iwlegacy/3945-rs.c if (rs_sta->start_rate < idx && rs_sta 655 drivers/net/wireless/intel/iwlegacy/3945-rs.c (rate_mask & (1 << rs_sta->start_rate))) rs_sta 656 drivers/net/wireless/intel/iwlegacy/3945-rs.c idx = rs_sta->start_rate; rs_sta 657 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->start_rate = RATE_INVALID; rs_sta 666 drivers/net/wireless/intel/iwlegacy/3945-rs.c win = &(rs_sta->win[idx]); rs_sta 672 drivers/net/wireless/intel/iwlegacy/3945-rs.c spin_unlock_irqrestore(&rs_sta->lock, flags); rs_sta 678 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->expected_tpt ? "not " : ""); rs_sta 689 drivers/net/wireless/intel/iwlegacy/3945-rs.c il3945_get_adjacent_rate(rs_sta, idx, rate_mask, sband->band); rs_sta 699 drivers/net/wireless/intel/iwlegacy/3945-rs.c low_tpt = rs_sta->win[low].average_tpt; rs_sta 702 drivers/net/wireless/intel/iwlegacy/3945-rs.c high_tpt = rs_sta->win[high].average_tpt; rs_sta 704 drivers/net/wireless/intel/iwlegacy/3945-rs.c spin_unlock_irqrestore(&rs_sta->lock, flags); rs_sta 761 drivers/net/wireless/intel/iwlegacy/3945-rs.c current_tpt > 100 * rs_sta->expected_tpt[low])) rs_sta 790 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->last_txrate_idx = idx; rs_sta 793 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->last_txrate_idx = idx; rs_sta 794 drivers/net/wireless/intel/iwlegacy/3945-rs.c info->control.rates[0].idx = rs_sta->last_txrate_idx; rs_sta 884 drivers/net/wireless/intel/iwlegacy/3945-rs.c struct il3945_rs_sta *rs_sta; rs_sta 900 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta = &psta->rs_sta; rs_sta 902 drivers/net/wireless/intel/iwlegacy/3945-rs.c spin_lock_irqsave(&rs_sta->lock, flags); rs_sta 904 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->tgg = 0; rs_sta 909 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->tgg = 1; rs_sta 910 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->expected_tpt = il3945_expected_tpt_g_prot; rs_sta 912 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->expected_tpt = il3945_expected_tpt_g; rs_sta 915 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->expected_tpt = il3945_expected_tpt_a; rs_sta 922 drivers/net/wireless/intel/iwlegacy/3945-rs.c spin_unlock_irqrestore(&rs_sta->lock, flags); rs_sta 930 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->start_rate = il3945_get_rate_idx_by_rssi(rssi, il->band); rs_sta 933 drivers/net/wireless/intel/iwlegacy/3945-rs.c rs_sta->start_rate, il3945_rates[rs_sta->start_rate].plcp); rs_sta 86 drivers/net/wireless/intel/iwlegacy/3945.h struct il3945_rs_sta rs_sta;