aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLuis R. Rodriguez <lrodriguez@atheros.com>2010-06-12 00:33:44 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-06-14 15:39:29 -0400
commit40346b66799b7d382e61bbb68a6b6bbdd20f320e (patch)
tree10c202f40b79ce532324eeb1f9ca3a7291bd2a56 /drivers
parent7ca710d58ee9018e4f18bdeb5b6e5dc50097ce14 (diff)
ath9k_hw: inform ANI calibration when scanning
The new ANI implementation will use this to skip ANI calibration upon a scan. This cannot be ported to the older ANI implementation unless default ANI values from the ANI are also used upon a scan. This is essentially what one of the things thenew ANI does. 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/ani.c2
-rw-r--r--drivers/net/wireless/ath/ath9k/htc_drv_txrx.c2
-rw-r--r--drivers/net/wireless/ath/ath9k/hw-ops.h4
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.h2
-rw-r--r--drivers/net/wireless/ath/ath9k/mac.c4
-rw-r--r--drivers/net/wireless/ath/ath9k/mac.h2
-rw-r--r--drivers/net/wireless/ath/ath9k/recv.c4
7 files changed, 10 insertions, 10 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ani.c b/drivers/net/wireless/ath/ath9k/ani.c
index 28a1dc375171..f5b971973d31 100644
--- a/drivers/net/wireless/ath/ath9k/ani.c
+++ b/drivers/net/wireless/ath/ath9k/ani.c
@@ -322,7 +322,7 @@ static int32_t ath9k_hw_ani_get_listen_time(struct ath_hw *ah)
322 return listenTime; 322 return listenTime;
323} 323}
324 324
325static void ath9k_ani_reset_old(struct ath_hw *ah) 325static void ath9k_ani_reset_old(struct ath_hw *ah, bool is_scanning)
326{ 326{
327 struct ar5416AniState *aniState; 327 struct ar5416AniState *aniState;
328 struct ath9k_channel *chan = ah->curchan; 328 struct ath9k_channel *chan = ah->curchan;
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
index f0cca4e36f7d..ffebd5a61726 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
@@ -416,7 +416,7 @@ void ath9k_host_rx_init(struct ath9k_htc_priv *priv)
416{ 416{
417 ath9k_hw_rxena(priv->ah); 417 ath9k_hw_rxena(priv->ah);
418 ath9k_htc_opmode_init(priv); 418 ath9k_htc_opmode_init(priv);
419 ath9k_hw_startpcureceive(priv->ah); 419 ath9k_hw_startpcureceive(priv->ah, (priv->op_flags & OP_SCANNING));
420 priv->rx.last_rssi = ATH_RSSI_DUMMY_MARKER; 420 priv->rx.last_rssi = ATH_RSSI_DUMMY_MARKER;
421} 421}
422 422
diff --git a/drivers/net/wireless/ath/ath9k/hw-ops.h b/drivers/net/wireless/ath/ath9k/hw-ops.h
index 65d2c661efb0..381da6c93b14 100644
--- a/drivers/net/wireless/ath/ath9k/hw-ops.h
+++ b/drivers/net/wireless/ath/ath9k/hw-ops.h
@@ -288,9 +288,9 @@ static inline bool ath9k_hw_iscal_supported(struct ath_hw *ah,
288 return ath9k_hw_private_ops(ah)->iscal_supported(ah, calType); 288 return ath9k_hw_private_ops(ah)->iscal_supported(ah, calType);
289} 289}
290 290
291static inline void ath9k_ani_reset(struct ath_hw *ah) 291static inline void ath9k_ani_reset(struct ath_hw *ah, bool is_scanning)
292{ 292{
293 ath9k_hw_private_ops(ah)->ani_reset(ah); 293 ath9k_hw_private_ops(ah)->ani_reset(ah, is_scanning);
294} 294}
295 295
296#endif /* ATH9K_HW_OPS_H */ 296#endif /* ATH9K_HW_OPS_H */
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index a207a70224c0..790a4572270f 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -565,7 +565,7 @@ struct ath_hw_private_ops {
565 void (*loadnf)(struct ath_hw *ah, struct ath9k_channel *chan); 565 void (*loadnf)(struct ath_hw *ah, struct ath9k_channel *chan);
566 566
567 /* ANI */ 567 /* ANI */
568 void (*ani_reset)(struct ath_hw *ah); 568 void (*ani_reset)(struct ath_hw *ah, bool is_scanning);
569 void (*ani_lower_immunity)(struct ath_hw *ah); 569 void (*ani_lower_immunity)(struct ath_hw *ah);
570}; 570};
571 571
diff --git a/drivers/net/wireless/ath/ath9k/mac.c b/drivers/net/wireless/ath/ath9k/mac.c
index b4d01983e7e1..1550591ed417 100644
--- a/drivers/net/wireless/ath/ath9k/mac.c
+++ b/drivers/net/wireless/ath/ath9k/mac.c
@@ -757,11 +757,11 @@ void ath9k_hw_putrxbuf(struct ath_hw *ah, u32 rxdp)
757} 757}
758EXPORT_SYMBOL(ath9k_hw_putrxbuf); 758EXPORT_SYMBOL(ath9k_hw_putrxbuf);
759 759
760void ath9k_hw_startpcureceive(struct ath_hw *ah) 760void ath9k_hw_startpcureceive(struct ath_hw *ah, bool is_scanning)
761{ 761{
762 ath9k_enable_mib_counters(ah); 762 ath9k_enable_mib_counters(ah);
763 763
764 ath9k_ani_reset(ah); 764 ath9k_ani_reset(ah, is_scanning);
765 765
766 REG_CLR_BIT(ah, AR_DIAG_SW, (AR_DIAG_RX_DIS | AR_DIAG_RX_ABORT)); 766 REG_CLR_BIT(ah, AR_DIAG_SW, (AR_DIAG_RX_DIS | AR_DIAG_RX_ABORT));
767} 767}
diff --git a/drivers/net/wireless/ath/ath9k/mac.h b/drivers/net/wireless/ath/ath9k/mac.h
index 00f3e0c7528a..3c65c91b049b 100644
--- a/drivers/net/wireless/ath/ath9k/mac.h
+++ b/drivers/net/wireless/ath/ath9k/mac.h
@@ -715,7 +715,7 @@ void ath9k_hw_setuprxdesc(struct ath_hw *ah, struct ath_desc *ds,
715 u32 size, u32 flags); 715 u32 size, u32 flags);
716bool ath9k_hw_setrxabort(struct ath_hw *ah, bool set); 716bool ath9k_hw_setrxabort(struct ath_hw *ah, bool set);
717void ath9k_hw_putrxbuf(struct ath_hw *ah, u32 rxdp); 717void ath9k_hw_putrxbuf(struct ath_hw *ah, u32 rxdp);
718void ath9k_hw_startpcureceive(struct ath_hw *ah); 718void ath9k_hw_startpcureceive(struct ath_hw *ah, bool is_scanning);
719void ath9k_hw_stoppcurecv(struct ath_hw *ah); 719void ath9k_hw_stoppcurecv(struct ath_hw *ah);
720void ath9k_hw_abortpcurecv(struct ath_hw *ah); 720void ath9k_hw_abortpcurecv(struct ath_hw *ah);
721bool ath9k_hw_stopdmarecv(struct ath_hw *ah); 721bool ath9k_hw_stopdmarecv(struct ath_hw *ah);
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index d373364ef8a9..5141cd81b5d0 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -295,7 +295,7 @@ static void ath_edma_start_recv(struct ath_softc *sc)
295 295
296 ath_opmode_init(sc); 296 ath_opmode_init(sc);
297 297
298 ath9k_hw_startpcureceive(sc->sc_ah); 298 ath9k_hw_startpcureceive(sc->sc_ah, (sc->sc_flags & SC_OP_SCANNING));
299} 299}
300 300
301static void ath_edma_stop_recv(struct ath_softc *sc) 301static void ath_edma_stop_recv(struct ath_softc *sc)
@@ -501,7 +501,7 @@ int ath_startrecv(struct ath_softc *sc)
501start_recv: 501start_recv:
502 spin_unlock_bh(&sc->rx.rxbuflock); 502 spin_unlock_bh(&sc->rx.rxbuflock);
503 ath_opmode_init(sc); 503 ath_opmode_init(sc);
504 ath9k_hw_startpcureceive(ah); 504 ath9k_hw_startpcureceive(ah, (sc->sc_flags & SC_OP_SCANNING));
505 505
506 return 0; 506 return 0;
507} 507}