Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 121770
b: refs/heads/master
c: 43453b3
h: refs/heads/master
v: v3
  • Loading branch information
Sujith authored and John W. Linville committed Nov 10, 2008
1 parent 253dece commit 0a86e81
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 47 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: 528f0c6b3b6bbed1328ee49bfc906543daa00866
refs/heads/master: 43453b3392c1ecfdd1471383ad42ba926533a722
7 changes: 0 additions & 7 deletions trunk/drivers/net/wireless/ath9k/core.h
Original file line number Diff line number Diff line change
Expand Up @@ -415,12 +415,6 @@ int ath_rx_subframe(struct ath_node *an, struct sk_buff *skb,
#define WME_AC_VO 3 /* voice */
#define WME_NUM_AC 4

enum ATH_SM_PWRSAV{
ATH_SM_ENABLE,
ATH_SM_PWRSAV_STATIC,
ATH_SM_PWRSAV_DYNAMIC,
};

/*
* Data transmit queue state. One of these exists for each
* hardware transmit queue. Packets sent to us from above
Expand Down Expand Up @@ -619,7 +613,6 @@ struct ath_node {
struct ath_softc *an_sc;
struct ath_chainmask_sel an_chainmask_sel;
struct ath_node_aggr an_aggr;
u8 an_smmode; /* SM Power save mode */
u16 maxampdu;
u8 mpdudensity;
};
Expand Down
45 changes: 6 additions & 39 deletions trunk/drivers/net/wireless/ath9k/xmit.c
Original file line number Diff line number Diff line change
Expand Up @@ -575,7 +575,7 @@ static void ath_buf_set_rate(struct ath_softc *sc, struct ath_buf *bf)
struct ath_desc *ds = bf->bf_desc;
struct ath_desc *lastds = bf->bf_lastbf->bf_desc;
struct ath9k_11n_rate_series series[4];
int i, flags, rtsctsena = 0, dynamic_mimops = 0;
int i, flags, rtsctsena = 0;
u32 ctsduration = 0;
u8 rix = 0, cix, ctsrate = 0;
u32 aggr_limit_with_rts = ah->ah_caps.rts_aggr_limit;
Expand Down Expand Up @@ -631,18 +631,6 @@ static void ath_buf_set_rate(struct ath_softc *sc, struct ath_buf *bf)
*/
if (!rtsctsena)
flags = ATH9K_TXDESC_RTSENA;
/*
* For dynamic MIMO PS, RTS needs to precede the first aggregate
* and the second aggregate should have any protection at all.
*/
if (an && an->an_smmode == ATH_SM_PWRSAV_DYNAMIC) {
if (!bf_isaggrburst(bf)) {
flags = ATH9K_TXDESC_RTSENA;
dynamic_mimops = 1;
} else {
flags = 0;
}
}
}

/*
Expand Down Expand Up @@ -707,33 +695,14 @@ static void ath_buf_set_rate(struct ath_softc *sc, struct ath_buf *bf)
(bf->bf_rcs[i].flags & ATH_RC_SGI_FLAG),
bf_isshpreamble(bf));

if (an && (an->an_smmode == ATH_SM_PWRSAV_STATIC) &&
(bf->bf_rcs[i].flags & ATH_RC_DS_FLAG) == 0) {
/*
* When sending to an HT node that has enabled static
* SM/MIMO power save, send at single stream rates but
* use maximum allowed transmit chains per user,
* hardware, regulatory, or country limits for
* better range.
*/
if (bf_isht(bf))
series[i].ChSel =
ath_chainmask_sel_logic(sc, an);
else
series[i].ChSel = sc->sc_tx_chainmask;
} else {
if (bf_isht(bf))
series[i].ChSel =
ath_chainmask_sel_logic(sc, an);
else
series[i].ChSel = sc->sc_tx_chainmask;
}

if (rtsctsena)
series[i].RateFlags |= ATH9K_RATESERIES_RTS_CTS;

/*
* Set RTS for all rates if node is in dynamic powersave
* mode and we are using dual stream rates.
*/
if (dynamic_mimops && (bf->bf_rcs[i].flags & ATH_RC_DS_FLAG))
series[i].RateFlags |= ATH9K_RATESERIES_RTS_CTS;
}

/*
Expand Down Expand Up @@ -2520,10 +2489,8 @@ void ath_txq_schedule(struct ath_softc *sc, struct ath_txq *txq)
if (tid->paused) /* check next tid to keep h/w busy */
continue;

if (!(tid->an->an_smmode == ATH_SM_PWRSAV_DYNAMIC) ||
((txq->axq_depth % 2) == 0)) {
if ((txq->axq_depth % 2) == 0)
ath_tx_sched_aggr(sc, txq, tid);
}

/*
* add tid to round-robin queue if more frames
Expand Down

0 comments on commit 0a86e81

Please sign in to comment.