mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-11 10:03:08 +02:00
79 lines
2.6 KiB
Diff
79 lines
2.6 KiB
Diff
|
--- a/drivers/net/wireless/ath/ath9k/ar9002_hw.c
|
||
|
+++ b/drivers/net/wireless/ath/ath9k/ar9002_hw.c
|
||
|
@@ -499,45 +499,6 @@ void ar9002_hw_enable_async_fifo(struct
|
||
|
}
|
||
|
}
|
||
|
|
||
|
-/*
|
||
|
- * If Async FIFO is enabled, the following counters change as MAC now runs
|
||
|
- * at 117 Mhz instead of 88/44MHz when async FIFO is disabled.
|
||
|
- *
|
||
|
- * The values below tested for ht40 2 chain.
|
||
|
- * Overwrite the delay/timeouts initialized in process ini.
|
||
|
- */
|
||
|
-void ar9002_hw_update_async_fifo(struct ath_hw *ah)
|
||
|
-{
|
||
|
- if (AR_SREV_9287_13_OR_LATER(ah)) {
|
||
|
- REG_WRITE(ah, AR_D_GBL_IFS_SIFS,
|
||
|
- AR_D_GBL_IFS_SIFS_ASYNC_FIFO_DUR);
|
||
|
- REG_WRITE(ah, AR_D_GBL_IFS_SLOT,
|
||
|
- AR_D_GBL_IFS_SLOT_ASYNC_FIFO_DUR);
|
||
|
- REG_WRITE(ah, AR_D_GBL_IFS_EIFS,
|
||
|
- AR_D_GBL_IFS_EIFS_ASYNC_FIFO_DUR);
|
||
|
-
|
||
|
- REG_WRITE(ah, AR_TIME_OUT, AR_TIME_OUT_ACK_CTS_ASYNC_FIFO_DUR);
|
||
|
- REG_WRITE(ah, AR_USEC, AR_USEC_ASYNC_FIFO_DUR);
|
||
|
-
|
||
|
- REG_SET_BIT(ah, AR_MAC_PCU_LOGIC_ANALYZER,
|
||
|
- AR_MAC_PCU_LOGIC_ANALYZER_DISBUG20768);
|
||
|
- REG_RMW_FIELD(ah, AR_AHB_MODE, AR_AHB_CUSTOM_BURST_EN,
|
||
|
- AR_AHB_CUSTOM_BURST_ASYNC_FIFO_VAL);
|
||
|
- }
|
||
|
-}
|
||
|
-
|
||
|
-/*
|
||
|
- * We don't enable WEP aggregation on mac80211 but we keep this
|
||
|
- * around for HAL unification purposes.
|
||
|
- */
|
||
|
-void ar9002_hw_enable_wep_aggregation(struct ath_hw *ah)
|
||
|
-{
|
||
|
- if (AR_SREV_9287_13_OR_LATER(ah)) {
|
||
|
- REG_SET_BIT(ah, AR_PCU_MISC_MODE2,
|
||
|
- AR_PCU_MISC_MODE2_ENABLE_AGGWEP);
|
||
|
- }
|
||
|
-}
|
||
|
-
|
||
|
/* Sets up the AR5008/AR9001/AR9002 hardware familiy callbacks */
|
||
|
void ar9002_hw_attach_ops(struct ath_hw *ah)
|
||
|
{
|
||
|
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||
|
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
||
|
@@ -1633,9 +1633,13 @@ int ath9k_hw_reset(struct ath_hw *ah, st
|
||
|
|
||
|
ath9k_hw_init_global_settings(ah);
|
||
|
|
||
|
- if (!AR_SREV_9300_20_OR_LATER(ah)) {
|
||
|
- ar9002_hw_update_async_fifo(ah);
|
||
|
- ar9002_hw_enable_wep_aggregation(ah);
|
||
|
+ if (AR_SREV_9287(ah) && AR_SREV_9287_13_OR_LATER(ah)) {
|
||
|
+ REG_SET_BIT(ah, AR_MAC_PCU_LOGIC_ANALYZER,
|
||
|
+ AR_MAC_PCU_LOGIC_ANALYZER_DISBUG20768);
|
||
|
+ REG_RMW_FIELD(ah, AR_AHB_MODE, AR_AHB_CUSTOM_BURST_EN,
|
||
|
+ AR_AHB_CUSTOM_BURST_ASYNC_FIFO_VAL);
|
||
|
+ REG_SET_BIT(ah, AR_PCU_MISC_MODE2,
|
||
|
+ AR_PCU_MISC_MODE2_ENABLE_AGGWEP);
|
||
|
}
|
||
|
|
||
|
REG_SET_BIT(ah, AR_STA_ID1, AR_STA_ID1_PRESERVE_SEQNUM);
|
||
|
--- a/drivers/net/wireless/ath/ath9k/hw.h
|
||
|
+++ b/drivers/net/wireless/ath/ath9k/hw.h
|
||
|
@@ -984,8 +984,6 @@ void ath9k_hw_get_delta_slope_vals(struc
|
||
|
void ar9002_hw_cck_chan14_spread(struct ath_hw *ah);
|
||
|
int ar9002_hw_rf_claim(struct ath_hw *ah);
|
||
|
void ar9002_hw_enable_async_fifo(struct ath_hw *ah);
|
||
|
-void ar9002_hw_update_async_fifo(struct ath_hw *ah);
|
||
|
-void ar9002_hw_enable_wep_aggregation(struct ath_hw *ah);
|
||
|
|
||
|
/*
|
||
|
* Code specific to AR9003, we stuff these here to avoid callbacks
|