summaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/300-pending_work.patch
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-03-01 15:13:33 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-03-01 15:13:33 +0000
commitadbea300bdddb804e83df76c6522739489a903db (patch)
tree25424d525d9d8b31a691abfef0ed2db65968ba94 /package/mac80211/patches/300-pending_work.patch
parent98a4f492477d36ab2d4ddd6b0ff859060c74ff13 (diff)
ath9k: disable MAC sample debugging, it is almost never used and wastes precious CPU cycles
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30764 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/300-pending_work.patch')
-rw-r--r--package/mac80211/patches/300-pending_work.patch145
1 files changed, 145 insertions, 0 deletions
diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch
index d367b9f61..8bb89422e 100644
--- a/package/mac80211/patches/300-pending_work.patch
+++ b/package/mac80211/patches/300-pending_work.patch
@@ -995,3 +995,148 @@
}
static int cmp_bss(struct cfg80211_bss *a,
+--- a/drivers/net/wireless/ath/ath9k/Kconfig
++++ b/drivers/net/wireless/ath/ath9k/Kconfig
+@@ -81,6 +81,14 @@ config ATH9K_DFS_CERTIFIED
+ developed. At this point enabling this option won't do anything
+ except increase code size.
+
++config ATH9K_MAC_DEBUG
++ bool "Atheros MAC statistics"
++ depends on ATH9K_DEBUGFS
++ default y
++ ---help---
++ This option enables collection of statistics for Rx/Tx status
++ data and some other MAC related statistics
++
+ config ATH9K_RATE_CONTROL
+ bool "Atheros ath9k rate control"
+ depends on ATH9K
+--- a/drivers/net/wireless/ath/ath9k/debug.c
++++ b/drivers/net/wireless/ath/ath9k/debug.c
+@@ -818,6 +818,7 @@ void ath_debug_stat_tx(struct ath_softc
+ if (ts->ts_flags & ATH9K_TX_DELIM_UNDERRUN)
+ TX_STAT_INC(qnum, delim_underrun);
+
++#ifdef CONFIG_ATH9K_MAC_DEBUG
+ spin_lock(&sc->debug.samp_lock);
+ TX_SAMP_DBG(jiffies) = jiffies;
+ TX_SAMP_DBG(rssi_ctl0) = ts->ts_rssi_ctl0;
+@@ -844,6 +845,7 @@ void ath_debug_stat_tx(struct ath_softc
+
+ sc->debug.tsidx = (sc->debug.tsidx + 1) % ATH_DBG_MAX_SAMPLES;
+ spin_unlock(&sc->debug.samp_lock);
++#endif
+
+ #undef TX_SAMP_DBG
+ }
+@@ -1019,6 +1021,7 @@ void ath_debug_stat_rx(struct ath_softc
+
+ sc->debug.stats.rxstats.rs_antenna = rs->rs_antenna;
+
++#ifdef CONFIG_ATH9K_MAC_DEBUG
+ spin_lock(&sc->debug.samp_lock);
+ RX_SAMP_DBG(jiffies) = jiffies;
+ RX_SAMP_DBG(rssi_ctl0) = rs->rs_rssi_ctl0;
+@@ -1035,6 +1038,8 @@ void ath_debug_stat_rx(struct ath_softc
+ sc->debug.rsidx = (sc->debug.rsidx + 1) % ATH_DBG_MAX_SAMPLES;
+ spin_unlock(&sc->debug.samp_lock);
+
++#endif
++
+ #undef RX_STAT_INC
+ #undef RX_PHY_ERR_INC
+ #undef RX_SAMP_DBG
+@@ -1278,6 +1283,8 @@ static const struct file_operations fops
+ .llseek = default_llseek,
+ };
+
++#ifdef CONFIG_ATH9K_MAC_DEBUG
++
+ void ath9k_debug_samp_bb_mac(struct ath_softc *sc)
+ {
+ #define ATH_SAMP_DBG(c) (sc->debug.bb_mac_samp[sc->debug.sampidx].c)
+@@ -1551,6 +1558,7 @@ static const struct file_operations fops
+ .llseek = default_llseek,
+ };
+
++#endif
+
+ int ath9k_init_debug(struct ath_hw *ah)
+ {
+@@ -1604,8 +1612,10 @@ int ath9k_init_debug(struct ath_hw *ah)
+ &fops_base_eeprom);
+ debugfs_create_file("modal_eeprom", S_IRUSR, sc->debug.debugfs_phy, sc,
+ &fops_modal_eeprom);
++#ifdef CONFIG_ATH9K_MAC_DEBUG
+ debugfs_create_file("samples", S_IRUSR, sc->debug.debugfs_phy, sc,
+ &fops_samps);
++#endif
+
+ debugfs_create_u32("gpio_mask", S_IRUSR | S_IWUSR,
+ sc->debug.debugfs_phy, &sc->sc_ah->gpio_mask);
+--- a/drivers/net/wireless/ath/ath9k/debug.h
++++ b/drivers/net/wireless/ath/ath9k/debug.h
+@@ -235,16 +235,17 @@ struct ath9k_debug {
+ struct dentry *debugfs_phy;
+ u32 regidx;
+ struct ath_stats stats;
++#ifdef CONFIG_ATH9K_MAC_DEBUG
+ spinlock_t samp_lock;
+ struct ath_dbg_bb_mac_samp bb_mac_samp[ATH_DBG_MAX_SAMPLES];
+ u8 sampidx;
+ u8 tsidx;
+ u8 rsidx;
++#endif
+ };
+
+ int ath9k_init_debug(struct ath_hw *ah);
+
+-void ath9k_debug_samp_bb_mac(struct ath_softc *sc);
+ void ath_debug_stat_interrupt(struct ath_softc *sc, enum ath9k_int status);
+ void ath_debug_stat_tx(struct ath_softc *sc, struct ath_buf *bf,
+ struct ath_tx_status *ts, struct ath_txq *txq,
+@@ -258,10 +259,6 @@ static inline int ath9k_init_debug(struc
+ return 0;
+ }
+
+-static inline void ath9k_debug_samp_bb_mac(struct ath_softc *sc)
+-{
+-}
+-
+ static inline void ath_debug_stat_interrupt(struct ath_softc *sc,
+ enum ath9k_int status)
+ {
+@@ -282,4 +279,17 @@ static inline void ath_debug_stat_rx(str
+
+ #endif /* CONFIG_ATH9K_DEBUGFS */
+
++#ifdef CONFIG_ATH9K_MAC_DEBUG
++
++void ath9k_debug_samp_bb_mac(struct ath_softc *sc);
++
++#else
++
++static inline void ath9k_debug_samp_bb_mac(struct ath_softc *sc)
++{
++}
++
++#endif
++
++
+ #endif /* DEBUG_H */
+--- a/drivers/net/wireless/ath/ath9k/init.c
++++ b/drivers/net/wireless/ath/ath9k/init.c
+@@ -555,9 +555,11 @@ static int ath9k_init_softc(u16 devid, s
+ mutex_init(&sc->mutex);
+ #ifdef CONFIG_ATH9K_DEBUGFS
+ spin_lock_init(&sc->nodes_lock);
+- spin_lock_init(&sc->debug.samp_lock);
+ INIT_LIST_HEAD(&sc->nodes);
+ #endif
++#ifdef CONFIG_ATH9K_MAC_DEBUG
++ spin_lock_init(&sc->debug.samp_lock);
++#endif
+ tasklet_init(&sc->intr_tq, ath9k_tasklet, (unsigned long)sc);
+ tasklet_init(&sc->bcon_tasklet, ath_beacon_tasklet,
+ (unsigned long)sc);