aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLuis R. Rodriguez <lrodriguez@atheros.com>2009-09-14 01:05:04 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-10-07 16:39:29 -0400
commit6420014ca4a6b0e853c9a19a8649d93682a5bdac (patch)
treeb6ef6935e9b7cc7be883b45dba00f8a981056670 /drivers
parent43c2761364b77cd7fd20eb1f14cfee4cd1462abd (diff)
ath9k: remove ath9k 25 MHz HT40 spacing stuff
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/ath/ath9k/ath9k.h1
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.c8
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.h1
-rw-r--r--drivers/net/wireless/ath/ath9k/mac.h5
-rw-r--r--drivers/net/wireless/ath/ath9k/phy.h1
5 files changed, 3 insertions, 13 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h
index 46d19e863d3f..e93ab631a091 100644
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
@@ -592,7 +592,6 @@ struct ath_softc {
592 bool ps_enabled; 592 bool ps_enabled;
593 unsigned long ps_usecount; 593 unsigned long ps_usecount;
594 enum ath9k_int imask; 594 enum ath9k_int imask;
595 enum ath9k_ht_extprotspacing ht_extprotspacing;
596 enum ath9k_ht_macmode tx_chan_width; 595 enum ath9k_ht_macmode tx_chan_width;
597 596
598 struct ath_config config; 597 struct ath_config config;
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index edf91d0fbb1a..6d2ac33a2764 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -213,10 +213,9 @@ void ath9k_hw_get_channel_centers(struct ath_hw *ah,
213 213
214 centers->ctl_center = 214 centers->ctl_center =
215 centers->synth_center - (extoff * HT40_CHANNEL_CENTER_SHIFT); 215 centers->synth_center - (extoff * HT40_CHANNEL_CENTER_SHIFT);
216 /* 25 MHz spacing is supported by hw but not on upper layers */
216 centers->ext_center = 217 centers->ext_center =
217 centers->synth_center + (extoff * 218 centers->synth_center + (extoff * HT40_CHANNEL_CENTER_SHIFT);
218 ((ah->extprotspacing == ATH9K_HT_EXTPROTSPACING_20) ?
219 HT40_CHANNEL_CENTER_SHIFT : 15));
220} 219}
221 220
222/******************/ 221/******************/
@@ -1759,8 +1758,6 @@ static void ath9k_hw_set_regs(struct ath_hw *ah, struct ath9k_channel *chan,
1759 (chan->chanmode == CHANNEL_G_HT40PLUS)) 1758 (chan->chanmode == CHANNEL_G_HT40PLUS))
1760 phymode |= AR_PHY_FC_DYN2040_PRI_CH; 1759 phymode |= AR_PHY_FC_DYN2040_PRI_CH;
1761 1760
1762 if (ah->extprotspacing == ATH9K_HT_EXTPROTSPACING_25)
1763 phymode |= AR_PHY_FC_DYN2040_EXT_CH;
1764 } 1761 }
1765 REG_WRITE(ah, AR_PHY_TURBO, phymode); 1762 REG_WRITE(ah, AR_PHY_TURBO, phymode);
1766 1763
@@ -2333,7 +2330,6 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
2333 u64 tsf = 0; 2330 u64 tsf = 0;
2334 int i, rx_chainmask, r; 2331 int i, rx_chainmask, r;
2335 2332
2336 ah->extprotspacing = sc->ht_extprotspacing;
2337 ah->txchainmask = common->tx_chainmask; 2333 ah->txchainmask = common->tx_chainmask;
2338 ah->rxchainmask = common->rx_chainmask; 2334 ah->rxchainmask = common->rx_chainmask;
2339 2335
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index 1c73f81a5957..53ffe2a9e225 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -563,7 +563,6 @@ struct ath_hw {
563 struct ath_btcoex_hw btcoex_hw; 563 struct ath_btcoex_hw btcoex_hw;
564 564
565 u32 intr_txqs; 565 u32 intr_txqs;
566 enum ath9k_ht_extprotspacing extprotspacing;
567 u8 txchainmask; 566 u8 txchainmask;
568 u8 rxchainmask; 567 u8 rxchainmask;
569 568
diff --git a/drivers/net/wireless/ath/ath9k/mac.h b/drivers/net/wireless/ath/ath9k/mac.h
index f56e77da6c3e..767256dccb46 100644
--- a/drivers/net/wireless/ath/ath9k/mac.h
+++ b/drivers/net/wireless/ath/ath9k/mac.h
@@ -619,11 +619,6 @@ enum ath9k_ht_macmode {
619 ATH9K_HT_MACMODE_2040 = 1, 619 ATH9K_HT_MACMODE_2040 = 1,
620}; 620};
621 621
622enum ath9k_ht_extprotspacing {
623 ATH9K_HT_EXTPROTSPACING_20 = 0,
624 ATH9K_HT_EXTPROTSPACING_25 = 1,
625};
626
627struct ath_hw; 622struct ath_hw;
628struct ath9k_channel; 623struct ath9k_channel;
629struct ath_rate_table; 624struct ath_rate_table;
diff --git a/drivers/net/wireless/ath/ath9k/phy.h b/drivers/net/wireless/ath/ath9k/phy.h
index dfda6f444648..140fef74c666 100644
--- a/drivers/net/wireless/ath/ath9k/phy.h
+++ b/drivers/net/wireless/ath/ath9k/phy.h
@@ -45,6 +45,7 @@ bool ath9k_hw_init_rf(struct ath_hw *ah,
45#define AR_PHY_FC_DYN2040_EN 0x00000004 45#define AR_PHY_FC_DYN2040_EN 0x00000004
46#define AR_PHY_FC_DYN2040_PRI_ONLY 0x00000008 46#define AR_PHY_FC_DYN2040_PRI_ONLY 0x00000008
47#define AR_PHY_FC_DYN2040_PRI_CH 0x00000010 47#define AR_PHY_FC_DYN2040_PRI_CH 0x00000010
48/* For 25 MHz channel spacing -- not used but supported by hw */
48#define AR_PHY_FC_DYN2040_EXT_CH 0x00000020 49#define AR_PHY_FC_DYN2040_EXT_CH 0x00000020
49#define AR_PHY_FC_HT_EN 0x00000040 50#define AR_PHY_FC_HT_EN 0x00000040
50#define AR_PHY_FC_SHORT_GI_40 0x00000080 51#define AR_PHY_FC_SHORT_GI_40 0x00000080