aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath
diff options
context:
space:
mode:
authorVivek Natarajan <vivek.natraj@gmail.com>2009-08-14 02:03:36 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-08-20 11:35:52 -0400
commit326bebbcb51d3ce9761f616b8b9a35827fd9c697 (patch)
tree74429f71ed8c0be68563ca8cf539254cfb84922b /drivers/net/wireless/ath
parentd4fe5afa006bf308962877c4768c4e60d37a3da2 (diff)
ath9k: Updates for AR9287_12 version of chipset.
Enable AsyncFIFO and AGGWEP for AR9287_12 and later revisions only. Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath')
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.c6
-rw-r--r--drivers/net/wireless/ath/ath9k/reg.h9
2 files changed, 11 insertions, 4 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 9a139dcc69b..df62113d89d 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2392,7 +2392,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
2392 if (AR_SREV_9280_10_OR_LATER(ah)) 2392 if (AR_SREV_9280_10_OR_LATER(ah))
2393 REG_SET_BIT(ah, AR_GPIO_INPUT_EN_VAL, AR_GPIO_JTAG_DISABLE); 2393 REG_SET_BIT(ah, AR_GPIO_INPUT_EN_VAL, AR_GPIO_JTAG_DISABLE);
2394 2394
2395 if (AR_SREV_9287_10_OR_LATER(ah)) { 2395 if (AR_SREV_9287_12_OR_LATER(ah)) {
2396 /* Enable ASYNC FIFO */ 2396 /* Enable ASYNC FIFO */
2397 REG_SET_BIT(ah, AR_MAC_PCU_ASYNC_FIFO_REG3, 2397 REG_SET_BIT(ah, AR_MAC_PCU_ASYNC_FIFO_REG3,
2398 AR_MAC_PCU_ASYNC_FIFO_REG3_DATAPATH_SEL); 2398 AR_MAC_PCU_ASYNC_FIFO_REG3_DATAPATH_SEL);
@@ -2478,7 +2478,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
2478 2478
2479 ath9k_hw_init_user_settings(ah); 2479 ath9k_hw_init_user_settings(ah);
2480 2480
2481 if (AR_SREV_9287_10_OR_LATER(ah)) { 2481 if (AR_SREV_9287_12_OR_LATER(ah)) {
2482 REG_WRITE(ah, AR_D_GBL_IFS_SIFS, 2482 REG_WRITE(ah, AR_D_GBL_IFS_SIFS,
2483 AR_D_GBL_IFS_SIFS_ASYNC_FIFO_DUR); 2483 AR_D_GBL_IFS_SIFS_ASYNC_FIFO_DUR);
2484 REG_WRITE(ah, AR_D_GBL_IFS_SLOT, 2484 REG_WRITE(ah, AR_D_GBL_IFS_SLOT,
@@ -2494,7 +2494,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
2494 REG_RMW_FIELD(ah, AR_AHB_MODE, AR_AHB_CUSTOM_BURST_EN, 2494 REG_RMW_FIELD(ah, AR_AHB_MODE, AR_AHB_CUSTOM_BURST_EN,
2495 AR_AHB_CUSTOM_BURST_ASYNC_FIFO_VAL); 2495 AR_AHB_CUSTOM_BURST_ASYNC_FIFO_VAL);
2496 } 2496 }
2497 if (AR_SREV_9287_10_OR_LATER(ah)) { 2497 if (AR_SREV_9287_12_OR_LATER(ah)) {
2498 REG_SET_BIT(ah, AR_PCU_MISC_MODE2, 2498 REG_SET_BIT(ah, AR_PCU_MISC_MODE2,
2499 AR_PCU_MISC_MODE2_ENABLE_AGGWEP); 2499 AR_PCU_MISC_MODE2_ENABLE_AGGWEP);
2500 } 2500 }
diff --git a/drivers/net/wireless/ath/ath9k/reg.h b/drivers/net/wireless/ath/ath9k/reg.h
index 13fd658b5d3..c9e1ac92d0e 100644
--- a/drivers/net/wireless/ath/ath9k/reg.h
+++ b/drivers/net/wireless/ath/ath9k/reg.h
@@ -744,6 +744,7 @@
744#define AR_SREV_VERSION_9287 0x180 744#define AR_SREV_VERSION_9287 0x180
745#define AR_SREV_REVISION_9287_10 0 745#define AR_SREV_REVISION_9287_10 0
746#define AR_SREV_REVISION_9287_11 1 746#define AR_SREV_REVISION_9287_11 1
747#define AR_SREV_REVISION_9287_12 2
747#define AR_SREV_VERSION_9271 0x140 748#define AR_SREV_VERSION_9271 0x140
748#define AR_SREV_REVISION_9271_10 0 749#define AR_SREV_REVISION_9271_10 0
749#define AR_SREV_REVISION_9271_11 1 750#define AR_SREV_REVISION_9271_11 1
@@ -817,7 +818,13 @@
817 (((_ah)->hw_version.macVersion > AR_SREV_VERSION_9287) || \ 818 (((_ah)->hw_version.macVersion > AR_SREV_VERSION_9287) || \
818 (((_ah)->hw_version.macVersion == AR_SREV_VERSION_9287) && \ 819 (((_ah)->hw_version.macVersion == AR_SREV_VERSION_9287) && \
819 ((_ah)->hw_version.macRev >= AR_SREV_REVISION_9287_11))) 820 ((_ah)->hw_version.macRev >= AR_SREV_REVISION_9287_11)))
820 821#define AR_SREV_9287_12(_ah) \
822 (((_ah)->hw_version.macVersion == AR_SREV_VERSION_9287) && \
823 ((_ah)->hw_version.macRev == AR_SREV_REVISION_9287_12))
824#define AR_SREV_9287_12_OR_LATER(_ah) \
825 (((_ah)->hw_version.macVersion > AR_SREV_VERSION_9287) || \
826 (((_ah)->hw_version.macVersion == AR_SREV_VERSION_9287) && \
827 ((_ah)->hw_version.macRev >= AR_SREV_REVISION_9287_12)))
821#define AR_SREV_9271(_ah) \ 828#define AR_SREV_9271(_ah) \
822 (((_ah))->hw_version.macVersion == AR_SREV_VERSION_9271) 829 (((_ah))->hw_version.macVersion == AR_SREV_VERSION_9271)
823#define AR_SREV_9271_10(_ah) \ 830#define AR_SREV_9271_10(_ah) \