ath9k: remove ath9k 25 MHz HT40 spacing stuff
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Mon, 14 Sep 2009 05:05:04 +0000 (22:05 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 7 Oct 2009 20:39:29 +0000 (16:39 -0400)
This was for supporting 25 MHz spacing for HT40, this is not used
as we use 20 MHz spacing instead for HT40 as per 802.11n. The hardware
is capable of it though so we leave the phymode definition and EEPROM
parsing for it. If some experimenter wants to work on this stuff stuff
you can add an extension enabling bool on ath_common and perhaps some
debugfs knob to enable it. Keep in mind you'll also need to update the
phymode with the AR_PHY_FC_DYN2040_EXT_CH which has been left on the
driver.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/ath9k.h
drivers/net/wireless/ath/ath9k/hw.c
drivers/net/wireless/ath/ath9k/hw.h
drivers/net/wireless/ath/ath9k/mac.h
drivers/net/wireless/ath/ath9k/phy.h

index 46d19e863d3f33d517eecb547c0801c657705e17..e93ab631a091b26c524560f6defd16bcd9991f1d 100644 (file)
@@ -592,7 +592,6 @@ struct ath_softc {
        bool ps_enabled;
        unsigned long ps_usecount;
        enum ath9k_int imask;
-       enum ath9k_ht_extprotspacing ht_extprotspacing;
        enum ath9k_ht_macmode tx_chan_width;
 
        struct ath_config config;
index edf91d0fbb1ab61c35cfa5398e01c09d5c2bc9ad..6d2ac33a2764fa927b8e38b0b72b9c3b1c3ea377 100644 (file)
@@ -213,10 +213,9 @@ void ath9k_hw_get_channel_centers(struct ath_hw *ah,
 
        centers->ctl_center =
                centers->synth_center - (extoff * HT40_CHANNEL_CENTER_SHIFT);
+       /* 25 MHz spacing is supported by hw but not on upper layers */
        centers->ext_center =
-               centers->synth_center + (extoff *
-                        ((ah->extprotspacing == ATH9K_HT_EXTPROTSPACING_20) ?
-                         HT40_CHANNEL_CENTER_SHIFT : 15));
+               centers->synth_center + (extoff * HT40_CHANNEL_CENTER_SHIFT);
 }
 
 /******************/
@@ -1759,8 +1758,6 @@ static void ath9k_hw_set_regs(struct ath_hw *ah, struct ath9k_channel *chan,
                    (chan->chanmode == CHANNEL_G_HT40PLUS))
                        phymode |= AR_PHY_FC_DYN2040_PRI_CH;
 
-               if (ah->extprotspacing == ATH9K_HT_EXTPROTSPACING_25)
-                       phymode |= AR_PHY_FC_DYN2040_EXT_CH;
        }
        REG_WRITE(ah, AR_PHY_TURBO, phymode);
 
@@ -2333,7 +2330,6 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
        u64 tsf = 0;
        int i, rx_chainmask, r;
 
-       ah->extprotspacing = sc->ht_extprotspacing;
        ah->txchainmask = common->tx_chainmask;
        ah->rxchainmask = common->rx_chainmask;
 
index 1c73f81a59574f9e2ccc4dc33f5ab9ac8ac51db0..53ffe2a9e225a76ba470d267d0a6e54c90fa8a0a 100644 (file)
@@ -563,7 +563,6 @@ struct ath_hw {
        struct ath_btcoex_hw btcoex_hw;
 
        u32 intr_txqs;
-       enum ath9k_ht_extprotspacing extprotspacing;
        u8 txchainmask;
        u8 rxchainmask;
 
index f56e77da6c3eff8593080603506be72c0116b843..767256dccb465cf13f968e33f09d54a0082de4b2 100644 (file)
@@ -619,11 +619,6 @@ enum ath9k_ht_macmode {
        ATH9K_HT_MACMODE_2040 = 1,
 };
 
-enum ath9k_ht_extprotspacing {
-       ATH9K_HT_EXTPROTSPACING_20 = 0,
-       ATH9K_HT_EXTPROTSPACING_25 = 1,
-};
-
 struct ath_hw;
 struct ath9k_channel;
 struct ath_rate_table;
index dfda6f444648b9e145aae00134ad9a46e9ea0fb9..140fef74c666ea654c3124c0ea6e1c2397f100a9 100644 (file)
@@ -45,6 +45,7 @@ bool ath9k_hw_init_rf(struct ath_hw *ah,
 #define AR_PHY_FC_DYN2040_EN        0x00000004
 #define AR_PHY_FC_DYN2040_PRI_ONLY  0x00000008
 #define AR_PHY_FC_DYN2040_PRI_CH    0x00000010
+/* For 25 MHz channel spacing -- not used but supported by hw */
 #define AR_PHY_FC_DYN2040_EXT_CH    0x00000020
 #define AR_PHY_FC_HT_EN             0x00000040
 #define AR_PHY_FC_SHORT_GI_40       0x00000080