Commit 43453b33 authored by Sujith's avatar Sujith Committed by John W. Linville
Browse files

ath9k: Remove SM Power Save as it is not supported now


Signed-off-by: default avatarSujith <Sujith.Manoharan@atheros.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 528f0c6b
......@@ -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
......@@ -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;
};
......
......@@ -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;
......@@ -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;
}
}
}
/*
......@@ -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;
}
/*
......@@ -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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment