ath9k: Remove SM Power Save as it is not supported now
authorSujith <Sujith.Manoharan@atheros.com>
Wed, 29 Oct 2008 04:44:52 +0000 (10:14 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 10 Nov 2008 20:14:56 +0000 (15:14 -0500)
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath9k/core.h
drivers/net/wireless/ath9k/xmit.c

index 21b572b..27ed084 100644 (file)
@@ -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;
 };
index 84219bc..4e7108a 100644 (file)
@@ -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