aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
authorSujith <Sujith.Manoharan@atheros.com>2009-02-12 01:08:37 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-02-27 14:51:45 -0500
commit81cb7623ad3b408f871fa36b774fc20d8dfccac0 (patch)
tree4a5f0811f0030059321858c634cf7ba5613fb78f /include/net/mac80211.h
parentb06e786d4c850515e2efdf6dc37ba9e2ffc86bab (diff)
mac80211: Extend the rate control API with an update callback
The AP can switch dynamically between 20/40 Mhz channel width, in which case we switch the local operating channel, but the rate control algorithm is not notified. This patch adds a new callback to indicate such changes to the RC algorithm. Currently, HT channel width change is notified, but this callback can be used to indicate any new requirements that might come up later on. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r--include/net/mac80211.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 31fd8bab2173..e01c63aad66c 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1975,6 +1975,16 @@ struct ieee80211_sta *ieee80211_find_sta(struct ieee80211_hw *hw,
1975/* Rate control API */ 1975/* Rate control API */
1976 1976
1977/** 1977/**
1978 * enum rate_control_changed - flags to indicate which parameter changed
1979 *
1980 * @IEEE80211_RC_HT_CHANGED: The HT parameters of the operating channel have
1981 * changed, rate control algorithm can update its internal state if needed.
1982 */
1983enum rate_control_changed {
1984 IEEE80211_RC_HT_CHANGED = BIT(0)
1985};
1986
1987/**
1978 * struct ieee80211_tx_rate_control - rate control information for/from RC algo 1988 * struct ieee80211_tx_rate_control - rate control information for/from RC algo
1979 * 1989 *
1980 * @hw: The hardware the algorithm is invoked for. 1990 * @hw: The hardware the algorithm is invoked for.
@@ -2010,6 +2020,9 @@ struct rate_control_ops {
2010 void *(*alloc_sta)(void *priv, struct ieee80211_sta *sta, gfp_t gfp); 2020 void *(*alloc_sta)(void *priv, struct ieee80211_sta *sta, gfp_t gfp);
2011 void (*rate_init)(void *priv, struct ieee80211_supported_band *sband, 2021 void (*rate_init)(void *priv, struct ieee80211_supported_band *sband,
2012 struct ieee80211_sta *sta, void *priv_sta); 2022 struct ieee80211_sta *sta, void *priv_sta);
2023 void (*rate_update)(void *priv, struct ieee80211_supported_band *sband,
2024 struct ieee80211_sta *sta,
2025 void *priv_sta, u32 changed);
2013 void (*free_sta)(void *priv, struct ieee80211_sta *sta, 2026 void (*free_sta)(void *priv, struct ieee80211_sta *sta,
2014 void *priv_sta); 2027 void *priv_sta);
2015 2028