aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2012-03-28 05:04:24 -0400
committerJohn W. Linville <linville@tuxdriver.com>2012-04-10 14:54:09 -0400
commita3304b0a17495183a2270d4a25978795226597a4 (patch)
tree1b1f91ab191e77833b84232ba5a61d6a584b3cd6 /include
parentd748b4642a53cd1ead303f9e2b008295391466b7 (diff)
cfg80211/nl80211: clarify TX queue API
With the plan to change mac80211's queue API to not map ACs to queues 1:1, it seems necessary to clarify some APIs that act on ACs rather than on queues to spell that out explicitly. Do this. Also verify that the AC number given is valid. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/nl80211.h22
-rw-r--r--include/net/cfg80211.h4
-rw-r--r--include/net/mac80211.h2
3 files changed, 18 insertions, 10 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index e474f6e780cc..1f6e44680fb7 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -2223,7 +2223,7 @@ enum nl80211_mesh_setup_params {
2223/** 2223/**
2224 * enum nl80211_txq_attr - TX queue parameter attributes 2224 * enum nl80211_txq_attr - TX queue parameter attributes
2225 * @__NL80211_TXQ_ATTR_INVALID: Attribute number 0 is reserved 2225 * @__NL80211_TXQ_ATTR_INVALID: Attribute number 0 is reserved
2226 * @NL80211_TXQ_ATTR_QUEUE: TX queue identifier (NL80211_TXQ_Q_*) 2226 * @NL80211_TXQ_ATTR_AC: AC identifier (NL80211_AC_*)
2227 * @NL80211_TXQ_ATTR_TXOP: Maximum burst time in units of 32 usecs, 0 meaning 2227 * @NL80211_TXQ_ATTR_TXOP: Maximum burst time in units of 32 usecs, 0 meaning
2228 * disabled 2228 * disabled
2229 * @NL80211_TXQ_ATTR_CWMIN: Minimum contention window [a value of the form 2229 * @NL80211_TXQ_ATTR_CWMIN: Minimum contention window [a value of the form
@@ -2236,7 +2236,7 @@ enum nl80211_mesh_setup_params {
2236 */ 2236 */
2237enum nl80211_txq_attr { 2237enum nl80211_txq_attr {
2238 __NL80211_TXQ_ATTR_INVALID, 2238 __NL80211_TXQ_ATTR_INVALID,
2239 NL80211_TXQ_ATTR_QUEUE, 2239 NL80211_TXQ_ATTR_AC,
2240 NL80211_TXQ_ATTR_TXOP, 2240 NL80211_TXQ_ATTR_TXOP,
2241 NL80211_TXQ_ATTR_CWMIN, 2241 NL80211_TXQ_ATTR_CWMIN,
2242 NL80211_TXQ_ATTR_CWMAX, 2242 NL80211_TXQ_ATTR_CWMAX,
@@ -2247,13 +2247,21 @@ enum nl80211_txq_attr {
2247 NL80211_TXQ_ATTR_MAX = __NL80211_TXQ_ATTR_AFTER_LAST - 1 2247 NL80211_TXQ_ATTR_MAX = __NL80211_TXQ_ATTR_AFTER_LAST - 1
2248}; 2248};
2249 2249
2250enum nl80211_txq_q { 2250enum nl80211_ac {
2251 NL80211_TXQ_Q_VO, 2251 NL80211_AC_VO,
2252 NL80211_TXQ_Q_VI, 2252 NL80211_AC_VI,
2253 NL80211_TXQ_Q_BE, 2253 NL80211_AC_BE,
2254 NL80211_TXQ_Q_BK 2254 NL80211_AC_BK,
2255 NL80211_NUM_ACS
2255}; 2256};
2256 2257
2258/* backward compat */
2259#define NL80211_TXQ_ATTR_QUEUE NL80211_TXQ_ATTR_AC
2260#define NL80211_TXQ_Q_VO NL80211_AC_VO
2261#define NL80211_TXQ_Q_VI NL80211_AC_VI
2262#define NL80211_TXQ_Q_BE NL80211_AC_BE
2263#define NL80211_TXQ_Q_BK NL80211_AC_BK
2264
2257enum nl80211_channel_type { 2265enum nl80211_channel_type {
2258 NL80211_CHAN_NO_HT, 2266 NL80211_CHAN_NO_HT,
2259 NL80211_CHAN_HT20, 2267 NL80211_CHAN_HT20,
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 83d800c31e3c..ac9147778a81 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -845,7 +845,7 @@ struct mesh_setup {
845 845
846/** 846/**
847 * struct ieee80211_txq_params - TX queue parameters 847 * struct ieee80211_txq_params - TX queue parameters
848 * @queue: TX queue identifier (NL80211_TXQ_Q_*) 848 * @ac: AC identifier
849 * @txop: Maximum burst time in units of 32 usecs, 0 meaning disabled 849 * @txop: Maximum burst time in units of 32 usecs, 0 meaning disabled
850 * @cwmin: Minimum contention window [a value of the form 2^n-1 in the range 850 * @cwmin: Minimum contention window [a value of the form 2^n-1 in the range
851 * 1..32767] 851 * 1..32767]
@@ -854,7 +854,7 @@ struct mesh_setup {
854 * @aifs: Arbitration interframe space [0..255] 854 * @aifs: Arbitration interframe space [0..255]
855 */ 855 */
856struct ieee80211_txq_params { 856struct ieee80211_txq_params {
857 enum nl80211_txq_q queue; 857 enum nl80211_ac ac;
858 u16 txop; 858 u16 txop;
859 u16 cwmin; 859 u16 cwmin;
860 u16 cwmax; 860 u16 cwmax;
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index a0e79d13fa8b..43f4609ab5f0 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -2222,7 +2222,7 @@ struct ieee80211_ops {
2222 struct ieee80211_sta *sta, 2222 struct ieee80211_sta *sta,
2223 u32 changed); 2223 u32 changed);
2224 int (*conf_tx)(struct ieee80211_hw *hw, 2224 int (*conf_tx)(struct ieee80211_hw *hw,
2225 struct ieee80211_vif *vif, u16 queue, 2225 struct ieee80211_vif *vif, u16 ac,
2226 const struct ieee80211_tx_queue_params *params); 2226 const struct ieee80211_tx_queue_params *params);
2227 u64 (*get_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 2227 u64 (*get_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
2228 void (*set_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 2228 void (*set_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,