Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 300681
b: refs/heads/master
c: a3304b0
h: refs/heads/master
i:
  300679: 8518122
v: v3
  • Loading branch information
Johannes Berg authored and John W. Linville committed Apr 10, 2012
1 parent 8ff0041 commit 45f80c2
Show file tree
Hide file tree
Showing 8 changed files with 38 additions and 28 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d748b4642a53cd1ead303f9e2b008295391466b7
refs/heads/master: a3304b0a17495183a2270d4a25978795226597a4
22 changes: 15 additions & 7 deletions trunk/include/linux/nl80211.h
Original file line number Diff line number Diff line change
Expand Up @@ -2223,7 +2223,7 @@ enum nl80211_mesh_setup_params {
/**
* enum nl80211_txq_attr - TX queue parameter attributes
* @__NL80211_TXQ_ATTR_INVALID: Attribute number 0 is reserved
* @NL80211_TXQ_ATTR_QUEUE: TX queue identifier (NL80211_TXQ_Q_*)
* @NL80211_TXQ_ATTR_AC: AC identifier (NL80211_AC_*)
* @NL80211_TXQ_ATTR_TXOP: Maximum burst time in units of 32 usecs, 0 meaning
* disabled
* @NL80211_TXQ_ATTR_CWMIN: Minimum contention window [a value of the form
Expand All @@ -2236,7 +2236,7 @@ enum nl80211_mesh_setup_params {
*/
enum nl80211_txq_attr {
__NL80211_TXQ_ATTR_INVALID,
NL80211_TXQ_ATTR_QUEUE,
NL80211_TXQ_ATTR_AC,
NL80211_TXQ_ATTR_TXOP,
NL80211_TXQ_ATTR_CWMIN,
NL80211_TXQ_ATTR_CWMAX,
Expand All @@ -2247,13 +2247,21 @@ enum nl80211_txq_attr {
NL80211_TXQ_ATTR_MAX = __NL80211_TXQ_ATTR_AFTER_LAST - 1
};

enum nl80211_txq_q {
NL80211_TXQ_Q_VO,
NL80211_TXQ_Q_VI,
NL80211_TXQ_Q_BE,
NL80211_TXQ_Q_BK
enum nl80211_ac {
NL80211_AC_VO,
NL80211_AC_VI,
NL80211_AC_BE,
NL80211_AC_BK,
NL80211_NUM_ACS
};

/* backward compat */
#define NL80211_TXQ_ATTR_QUEUE NL80211_TXQ_ATTR_AC
#define NL80211_TXQ_Q_VO NL80211_AC_VO
#define NL80211_TXQ_Q_VI NL80211_AC_VI
#define NL80211_TXQ_Q_BE NL80211_AC_BE
#define NL80211_TXQ_Q_BK NL80211_AC_BK

enum nl80211_channel_type {
NL80211_CHAN_NO_HT,
NL80211_CHAN_HT20,
Expand Down
4 changes: 2 additions & 2 deletions trunk/include/net/cfg80211.h
Original file line number Diff line number Diff line change
Expand Up @@ -845,7 +845,7 @@ struct mesh_setup {

/**
* struct ieee80211_txq_params - TX queue parameters
* @queue: TX queue identifier (NL80211_TXQ_Q_*)
* @ac: AC identifier
* @txop: Maximum burst time in units of 32 usecs, 0 meaning disabled
* @cwmin: Minimum contention window [a value of the form 2^n-1 in the range
* 1..32767]
Expand All @@ -854,7 +854,7 @@ struct mesh_setup {
* @aifs: Arbitration interframe space [0..255]
*/
struct ieee80211_txq_params {
enum nl80211_txq_q queue;
enum nl80211_ac ac;
u16 txop;
u16 cwmin;
u16 cwmax;
Expand Down
2 changes: 1 addition & 1 deletion trunk/include/net/mac80211.h
Original file line number Diff line number Diff line change
Expand Up @@ -2222,7 +2222,7 @@ struct ieee80211_ops {
struct ieee80211_sta *sta,
u32 changed);
int (*conf_tx)(struct ieee80211_hw *hw,
struct ieee80211_vif *vif, u16 queue,
struct ieee80211_vif *vif, u16 ac,
const struct ieee80211_tx_queue_params *params);
u64 (*get_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
void (*set_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
Expand Down
10 changes: 5 additions & 5 deletions trunk/net/mac80211/cfg.c
Original file line number Diff line number Diff line change
Expand Up @@ -1449,14 +1449,14 @@ static int ieee80211_set_txq_params(struct wiphy *wiphy,
*/
p.uapsd = false;

if (params->queue >= local->hw.queues)
if (params->ac >= local->hw.queues)
return -EINVAL;

sdata->tx_conf[params->queue] = p;
if (drv_conf_tx(local, sdata, params->queue, &p)) {
sdata->tx_conf[params->ac] = p;
if (drv_conf_tx(local, sdata, params->ac, &p)) {
wiphy_debug(local->hw.wiphy,
"failed to set TX queue parameters for queue %d\n",
params->queue);
"failed to set TX queue parameters for AC %d\n",
params->ac);
return -EINVAL;
}

Expand Down
6 changes: 3 additions & 3 deletions trunk/net/mac80211/driver-ops.h
Original file line number Diff line number Diff line change
Expand Up @@ -492,7 +492,7 @@ static inline void drv_sta_rc_update(struct ieee80211_local *local,
}

static inline int drv_conf_tx(struct ieee80211_local *local,
struct ieee80211_sub_if_data *sdata, u16 queue,
struct ieee80211_sub_if_data *sdata, u16 ac,
const struct ieee80211_tx_queue_params *params)
{
int ret = -EOPNOTSUPP;
Expand All @@ -501,10 +501,10 @@ static inline int drv_conf_tx(struct ieee80211_local *local,

check_sdata_in_driver(sdata);

trace_drv_conf_tx(local, sdata, queue, params);
trace_drv_conf_tx(local, sdata, ac, params);
if (local->ops->conf_tx)
ret = local->ops->conf_tx(&local->hw, &sdata->vif,
queue, params);
ac, params);
trace_drv_return_int(local, ret);
return ret;
}
Expand Down
13 changes: 6 additions & 7 deletions trunk/net/mac80211/driver-trace.h
Original file line number Diff line number Diff line change
Expand Up @@ -705,15 +705,14 @@ TRACE_EVENT(drv_sta_remove,
TRACE_EVENT(drv_conf_tx,
TP_PROTO(struct ieee80211_local *local,
struct ieee80211_sub_if_data *sdata,
u16 queue,
const struct ieee80211_tx_queue_params *params),
u16 ac, const struct ieee80211_tx_queue_params *params),

TP_ARGS(local, sdata, queue, params),
TP_ARGS(local, sdata, ac, params),

TP_STRUCT__entry(
LOCAL_ENTRY
VIF_ENTRY
__field(u16, queue)
__field(u16, ac)
__field(u16, txop)
__field(u16, cw_min)
__field(u16, cw_max)
Expand All @@ -724,7 +723,7 @@ TRACE_EVENT(drv_conf_tx,
TP_fast_assign(
LOCAL_ASSIGN;
VIF_ASSIGN;
__entry->queue = queue;
__entry->ac = ac;
__entry->txop = params->txop;
__entry->cw_max = params->cw_max;
__entry->cw_min = params->cw_min;
Expand All @@ -733,8 +732,8 @@ TRACE_EVENT(drv_conf_tx,
),

TP_printk(
LOCAL_PR_FMT VIF_PR_FMT " queue:%d",
LOCAL_PR_ARG, VIF_PR_ARG, __entry->queue
LOCAL_PR_FMT VIF_PR_FMT " AC:%d",
LOCAL_PR_ARG, VIF_PR_ARG, __entry->ac
)
);

Expand Down
7 changes: 5 additions & 2 deletions trunk/net/wireless/nl80211.c
Original file line number Diff line number Diff line change
Expand Up @@ -1104,17 +1104,20 @@ static const struct nla_policy txq_params_policy[NL80211_TXQ_ATTR_MAX + 1] = {
static int parse_txq_params(struct nlattr *tb[],
struct ieee80211_txq_params *txq_params)
{
if (!tb[NL80211_TXQ_ATTR_QUEUE] || !tb[NL80211_TXQ_ATTR_TXOP] ||
if (!tb[NL80211_TXQ_ATTR_AC] || !tb[NL80211_TXQ_ATTR_TXOP] ||
!tb[NL80211_TXQ_ATTR_CWMIN] || !tb[NL80211_TXQ_ATTR_CWMAX] ||
!tb[NL80211_TXQ_ATTR_AIFS])
return -EINVAL;

txq_params->queue = nla_get_u8(tb[NL80211_TXQ_ATTR_QUEUE]);
txq_params->ac = nla_get_u8(tb[NL80211_TXQ_ATTR_AC]);
txq_params->txop = nla_get_u16(tb[NL80211_TXQ_ATTR_TXOP]);
txq_params->cwmin = nla_get_u16(tb[NL80211_TXQ_ATTR_CWMIN]);
txq_params->cwmax = nla_get_u16(tb[NL80211_TXQ_ATTR_CWMAX]);
txq_params->aifs = nla_get_u8(tb[NL80211_TXQ_ATTR_AIFS]);

if (txq_params->ac >= NL80211_NUM_ACS)
return -EINVAL;

return 0;
}

Expand Down

0 comments on commit 45f80c2

Please sign in to comment.