Go back –> iwl3945 kerneldoc
iwl3945_rate_scale_flush_windows - flush out the rate scale windows
int iwl3945_rate_scale_flush_windows (struct iwl3945_rs_sta * rs_sta)Arguments
Description
Returns the number of windows that have gathered data but were not flushed. If there were any that were not flushed, then reschedule the rate flushing routine.
iwl3945_collect_tx_data - Update the success/failure sliding window
void iwl3945_collect_tx_data (struct iwl3945_rs_sta * rs_sta, struct iwl3945_rate_scale_data * window, int success, int retries)Arguments
Description
We keep a sliding window of the last 64 packets transmitted at this rate. window->data contains the bitmask of successful packets.
rs_tx_status - Update rate control values based on Tx results
void rs_tx_status (void * priv_rate, struct ieee80211_supported_band * sband, struct ieee80211_sta * sta, void * priv_sta, struct sk_buff * skb)Arguments
NOTE
Uses iwl3945_priv->retry_rate for the # of retries attempted by the hardware for each rate.
rs_get_rate - find the rate for the requested packet
void rs_get_rate (void * priv_r, struct ieee80211_supported_band * sband, struct ieee80211_sta * sta, void * priv_sta, struct sk_buff * skb, struct rate_selection * sel)Arguments
Description
Returns the ieee80211_rate structure allocated by the driver.
The rate control algorithm has no internal mapping between hw_mode's rate ordering and the rate ordering used by the rate control algorithm.
The rate control algorithm uses a single table of rates that goes across the entire A/B/G spectrum vs. being limited to just one particular hw_mode.
As such, we can't convert the index obtained below into the hw_mode's rate table and must reference the driver allocated rate table