aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath9k/core.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath9k/core.h')
-rw-r--r--drivers/net/wireless/ath9k/core.h32
1 files changed, 27 insertions, 5 deletions
diff --git a/drivers/net/wireless/ath9k/core.h b/drivers/net/wireless/ath9k/core.h
index 872f0c5a0b0e..cb3e61e57c4d 100644
--- a/drivers/net/wireless/ath9k/core.h
+++ b/drivers/net/wireless/ath9k/core.h
@@ -84,9 +84,6 @@ struct ath_node;
84#define TSF_TO_TU(_h,_l) \ 84#define TSF_TO_TU(_h,_l) \
85 ((((u32)(_h)) << 22) | (((u32)(_l)) >> 10)) 85 ((((u32)(_h)) << 22) | (((u32)(_l)) >> 10))
86 86
87/* XXX: remove */
88#define memzero(_buf, _len) memset(_buf, 0, _len)
89
90#define ATH9K_BH_STATUS_INTACT 0 87#define ATH9K_BH_STATUS_INTACT 0
91#define ATH9K_BH_STATUS_CHANGE 1 88#define ATH9K_BH_STATUS_CHANGE 1
92 89
@@ -184,7 +181,7 @@ void ath_update_chainmask(struct ath_softc *sc, int is_ht);
184 (_bf)->bf_lastbf = NULL; \ 181 (_bf)->bf_lastbf = NULL; \
185 (_bf)->bf_lastfrm = NULL; \ 182 (_bf)->bf_lastfrm = NULL; \
186 (_bf)->bf_next = NULL; \ 183 (_bf)->bf_next = NULL; \
187 memzero(&((_bf)->bf_state), \ 184 memset(&((_bf)->bf_state), 0, \
188 sizeof(struct ath_buf_state)); \ 185 sizeof(struct ath_buf_state)); \
189 } while (0) 186 } while (0)
190 187
@@ -312,7 +309,7 @@ void ath_descdma_cleanup(struct ath_softc *sc,
312#define ATH_RX_TIMEOUT 40 /* 40 milliseconds */ 309#define ATH_RX_TIMEOUT 40 /* 40 milliseconds */
313#define WME_NUM_TID 16 310#define WME_NUM_TID 16
314#define IEEE80211_BAR_CTL_TID_M 0xF000 /* tid mask */ 311#define IEEE80211_BAR_CTL_TID_M 0xF000 /* tid mask */
315#define IEEE80211_BAR_CTL_TID_S 2 /* tid shift */ 312#define IEEE80211_BAR_CTL_TID_S 12 /* tid shift */
316 313
317enum ATH_RX_TYPE { 314enum ATH_RX_TYPE {
318 ATH_RX_NON_CONSUMED = 0, 315 ATH_RX_NON_CONSUMED = 0,
@@ -803,6 +800,28 @@ void ath_slow_ant_div(struct ath_antdiv *antdiv,
803 struct ath_rx_status *rx_stats); 800 struct ath_rx_status *rx_stats);
804void ath_setdefantenna(void *sc, u32 antenna); 801void ath_setdefantenna(void *sc, u32 antenna);
805 802
803/*******/
804/* ANI */
805/*******/
806
807/* ANI values for STA only.
808 FIXME: Add appropriate values for AP later */
809
810#define ATH_ANI_POLLINTERVAL 100 /* 100 milliseconds between ANI poll */
811#define ATH_SHORT_CALINTERVAL 1000 /* 1 second between calibrations */
812#define ATH_LONG_CALINTERVAL 30000 /* 30 seconds between calibrations */
813#define ATH_RESTART_CALINTERVAL 1200000 /* 20 minutes between calibrations */
814
815struct ath_ani {
816 bool sc_caldone;
817 int16_t sc_noise_floor;
818 unsigned int sc_longcal_timer;
819 unsigned int sc_shortcal_timer;
820 unsigned int sc_resetcal_timer;
821 unsigned int sc_checkani_timer;
822 struct timer_list timer;
823};
824
806/********************/ 825/********************/
807/* LED Control */ 826/* LED Control */
808/********************/ 827/********************/
@@ -1031,6 +1050,9 @@ struct ath_softc {
1031 1050
1032 /* Rfkill */ 1051 /* Rfkill */
1033 struct ath_rfkill rf_kill; 1052 struct ath_rfkill rf_kill;
1053
1054 /* ANI */
1055 struct ath_ani sc_ani;
1034}; 1056};
1035 1057
1036int ath_init(u16 devid, struct ath_softc *sc); 1058int ath_init(u16 devid, struct ath_softc *sc);