diff options
author | Luis R. Rodriguez <lrodriguez@atheros.com> | 2010-06-12 00:33:44 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-06-14 15:39:29 -0400 |
commit | 40346b66799b7d382e61bbb68a6b6bbdd20f320e (patch) | |
tree | 10c202f40b79ce532324eeb1f9ca3a7291bd2a56 /drivers/net/wireless | |
parent | 7ca710d58ee9018e4f18bdeb5b6e5dc50097ce14 (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/net/wireless')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ani.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw-ops.h | 4 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/mac.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/mac.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/recv.c | 4 |
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 | ||
325 | static void ath9k_ani_reset_old(struct ath_hw *ah) | 325 | static 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 | ||
291 | static inline void ath9k_ani_reset(struct ath_hw *ah) | 291 | static 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 | } |
758 | EXPORT_SYMBOL(ath9k_hw_putrxbuf); | 758 | EXPORT_SYMBOL(ath9k_hw_putrxbuf); |
759 | 759 | ||
760 | void ath9k_hw_startpcureceive(struct ath_hw *ah) | 760 | void 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); |
716 | bool ath9k_hw_setrxabort(struct ath_hw *ah, bool set); | 716 | bool ath9k_hw_setrxabort(struct ath_hw *ah, bool set); |
717 | void ath9k_hw_putrxbuf(struct ath_hw *ah, u32 rxdp); | 717 | void ath9k_hw_putrxbuf(struct ath_hw *ah, u32 rxdp); |
718 | void ath9k_hw_startpcureceive(struct ath_hw *ah); | 718 | void ath9k_hw_startpcureceive(struct ath_hw *ah, bool is_scanning); |
719 | void ath9k_hw_stoppcurecv(struct ath_hw *ah); | 719 | void ath9k_hw_stoppcurecv(struct ath_hw *ah); |
720 | void ath9k_hw_abortpcurecv(struct ath_hw *ah); | 720 | void ath9k_hw_abortpcurecv(struct ath_hw *ah); |
721 | bool ath9k_hw_stopdmarecv(struct ath_hw *ah); | 721 | bool 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 | ||
301 | static void ath_edma_stop_recv(struct ath_softc *sc) | 301 | static void ath_edma_stop_recv(struct ath_softc *sc) |
@@ -501,7 +501,7 @@ int ath_startrecv(struct ath_softc *sc) | |||
501 | start_recv: | 501 | start_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 | } |