Linux wireless drivers development
 help / color / mirror / Atom feed
From: "Luis R. Rodriguez" <lrodriguez@atheros.com>
To: linville@tuxdriver.com
Cc: linux-wireless@vger.kernel.org,
	"Luis R. Rodriguez" <lrodriguez@atheros.com>
Subject: [PATCH 06/24] ath9k_hw: inform ANI calibration when scanning
Date: Sat, 12 Jun 2010 00:33:44 -0400	[thread overview]
Message-ID: <1276317242-15540-7-git-send-email-lrodriguez@atheros.com> (raw)
In-Reply-To: <1276317242-15540-1-git-send-email-lrodriguez@atheros.com>

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>
---
 drivers/net/wireless/ath/ath9k/ani.c          |    2 +-
 drivers/net/wireless/ath/ath9k/htc_drv_txrx.c |    2 +-
 drivers/net/wireless/ath/ath9k/hw-ops.h       |    4 ++--
 drivers/net/wireless/ath/ath9k/hw.h           |    2 +-
 drivers/net/wireless/ath/ath9k/mac.c          |    4 ++--
 drivers/net/wireless/ath/ath9k/mac.h          |    2 +-
 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 28a1dc3..f5b9719 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)
 	return listenTime;
 }
 
-static void ath9k_ani_reset_old(struct ath_hw *ah)
+static void ath9k_ani_reset_old(struct ath_hw *ah, bool is_scanning)
 {
 	struct ar5416AniState *aniState;
 	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 f0cca4e..ffebd5a 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)
 {
 	ath9k_hw_rxena(priv->ah);
 	ath9k_htc_opmode_init(priv);
-	ath9k_hw_startpcureceive(priv->ah);
+	ath9k_hw_startpcureceive(priv->ah, (priv->op_flags & OP_SCANNING));
 	priv->rx.last_rssi = ATH_RSSI_DUMMY_MARKER;
 }
 
diff --git a/drivers/net/wireless/ath/ath9k/hw-ops.h b/drivers/net/wireless/ath/ath9k/hw-ops.h
index 65d2c66..381da6c 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,
 	return ath9k_hw_private_ops(ah)->iscal_supported(ah, calType);
 }
 
-static inline void ath9k_ani_reset(struct ath_hw *ah)
+static inline void ath9k_ani_reset(struct ath_hw *ah, bool is_scanning)
 {
-	ath9k_hw_private_ops(ah)->ani_reset(ah);
+	ath9k_hw_private_ops(ah)->ani_reset(ah, is_scanning);
 }
 
 #endif /* ATH9K_HW_OPS_H */
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index a207a70..790a457 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 {
 	void (*loadnf)(struct ath_hw *ah, struct ath9k_channel *chan);
 
 	/* ANI */
-	void (*ani_reset)(struct ath_hw *ah);
+	void (*ani_reset)(struct ath_hw *ah, bool is_scanning);
 	void (*ani_lower_immunity)(struct ath_hw *ah);
 };
 
diff --git a/drivers/net/wireless/ath/ath9k/mac.c b/drivers/net/wireless/ath/ath9k/mac.c
index b4d0198..1550591 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)
 }
 EXPORT_SYMBOL(ath9k_hw_putrxbuf);
 
-void ath9k_hw_startpcureceive(struct ath_hw *ah)
+void ath9k_hw_startpcureceive(struct ath_hw *ah, bool is_scanning)
 {
 	ath9k_enable_mib_counters(ah);
 
-	ath9k_ani_reset(ah);
+	ath9k_ani_reset(ah, is_scanning);
 
 	REG_CLR_BIT(ah, AR_DIAG_SW, (AR_DIAG_RX_DIS | AR_DIAG_RX_ABORT));
 }
diff --git a/drivers/net/wireless/ath/ath9k/mac.h b/drivers/net/wireless/ath/ath9k/mac.h
index 00f3e0c..3c65c91 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,
 			  u32 size, u32 flags);
 bool ath9k_hw_setrxabort(struct ath_hw *ah, bool set);
 void ath9k_hw_putrxbuf(struct ath_hw *ah, u32 rxdp);
-void ath9k_hw_startpcureceive(struct ath_hw *ah);
+void ath9k_hw_startpcureceive(struct ath_hw *ah, bool is_scanning);
 void ath9k_hw_stoppcurecv(struct ath_hw *ah);
 void ath9k_hw_abortpcurecv(struct ath_hw *ah);
 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 d373364..5141cd8 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)
 
 	ath_opmode_init(sc);
 
-	ath9k_hw_startpcureceive(sc->sc_ah);
+	ath9k_hw_startpcureceive(sc->sc_ah, (sc->sc_flags & SC_OP_SCANNING));
 }
 
 static void ath_edma_stop_recv(struct ath_softc *sc)
@@ -501,7 +501,7 @@ int ath_startrecv(struct ath_softc *sc)
 start_recv:
 	spin_unlock_bh(&sc->rx.rxbuflock);
 	ath_opmode_init(sc);
-	ath9k_hw_startpcureceive(ah);
+	ath9k_hw_startpcureceive(ah, (sc->sc_flags & SC_OP_SCANNING));
 
 	return 0;
 }
-- 
1.6.3.3


  parent reply	other threads:[~2010-06-12  4:34 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-12  4:33 [PATCH 00/24] ath9k: new ANI, PAPrD and few fixes and cleanups Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 01/24] ath9k_hw: move clock definitions from hw.c to hw.h Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 02/24] ath9k_hw: fix clock rate calculations for ANI Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 03/24] ath9k_hw: clear MIB interrupt causes when skipping ANI adjustments Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 04/24] ath9k_hw: allow for spliting up ANI operations by family Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 05/24] ath9k_hw: add register definitions for the new ANI Luis R. Rodriguez
2010-06-12  4:33 ` Luis R. Rodriguez [this message]
2010-06-12  4:33 ` [PATCH 07/24] ath9k: add new ANI implementation for AR9003 Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 08/24] ath9k_hw: enable ANI " Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 09/24] ath9k_hw: reduce delay on programming INI on AR9003 Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 10/24] ath9k_hw: update 5 GHz tx gain tables for femless and high power PA Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 11/24] ath9k: fix mac80211 queue lookup for waking up queues Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 12/24] ath9k_htc: use common WMM AC definitions instead of ath9k ones Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 13/24] ath9k: remove duplicate WMM AC definitions Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 14/24] ath9k: remove declarations of some nonexistant functions Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 15/24] ath9k: make ath_get_hal_qnum static Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 16/24] ath9k: fix extending the rx timestamp with the hardware TSF Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 17/24] ath9k: fix queue stopping threshold Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 18/24] ath9k: add a debugfs entry for ignoring CCA on the extension channel in HT40 Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 19/24] ath9k_hw: remove a useless function for setting the mac address Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 20/24] ath9k_hw: add register definitions related to PA predistortion Luis R. Rodriguez
2010-06-12  4:33 ` [PATCH 21/24] ath9k_hw: add support for parsing PA predistortion related EEPROM fields Luis R. Rodriguez
2010-06-12  4:34 ` [PATCH 22/24] ath9k_hw: add functions for controlling PA predistortion calibration Luis R. Rodriguez
2010-06-12  4:34 ` [PATCH 23/24] ath9k: implement PA predistortion support Luis R. Rodriguez
2010-06-12  4:34 ` [PATCH 24/24] ath9k: enable AR9003 PCI IDs Luis R. Rodriguez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1276317242-15540-7-git-send-email-lrodriguez@atheros.com \
    --to=lrodriguez@atheros.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox