aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath5k/base.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/ath5k/base.h')
-rw-r--r--drivers/net/wireless/ath/ath5k/base.h26
1 files changed, 22 insertions, 4 deletions
diff --git a/drivers/net/wireless/ath/ath5k/base.h b/drivers/net/wireless/ath/ath5k/base.h
index 7f9d0d3018e..9a79773cdc2 100644
--- a/drivers/net/wireless/ath/ath5k/base.h
+++ b/drivers/net/wireless/ath/ath5k/base.h
@@ -58,8 +58,7 @@
58 58
59#define ATH_RXBUF 40 /* number of RX buffers */ 59#define ATH_RXBUF 40 /* number of RX buffers */
60#define ATH_TXBUF 200 /* number of TX buffers */ 60#define ATH_TXBUF 200 /* number of TX buffers */
61#define ATH_BCBUF 1 /* number of beacon buffers */ 61#define ATH_BCBUF 4 /* number of beacon buffers */
62
63#define ATH5K_TXQ_LEN_MAX (ATH_TXBUF / 4) /* bufs per queue */ 62#define ATH5K_TXQ_LEN_MAX (ATH_TXBUF / 4) /* bufs per queue */
64#define ATH5K_TXQ_LEN_LOW (ATH5K_TXQ_LEN_MAX / 2) /* low mark */ 63#define ATH5K_TXQ_LEN_LOW (ATH5K_TXQ_LEN_MAX / 2) /* low mark */
65 64
@@ -122,6 +121,13 @@ struct ath5k_statistics {
122 /* frame errors */ 121 /* frame errors */
123 unsigned int rx_all_count; /* all RX frames, including errors */ 122 unsigned int rx_all_count; /* all RX frames, including errors */
124 unsigned int tx_all_count; /* all TX frames, including errors */ 123 unsigned int tx_all_count; /* all TX frames, including errors */
124 unsigned int rx_bytes_count; /* all RX bytes, including errored pks
125 * and the MAC headers for each packet
126 */
127 unsigned int tx_bytes_count; /* all TX bytes, including errored pkts
128 * and the MAC headers and padding for
129 * each packet.
130 */
125 unsigned int rxerr_crc; 131 unsigned int rxerr_crc;
126 unsigned int rxerr_phy; 132 unsigned int rxerr_phy;
127 unsigned int rxerr_phy_code[32]; 133 unsigned int rxerr_phy_code[32];
@@ -152,6 +158,14 @@ struct ath5k_statistics {
152#define ATH_CHAN_MAX (14+14+14+252+20) 158#define ATH_CHAN_MAX (14+14+14+252+20)
153#endif 159#endif
154 160
161struct ath5k_vif {
162 bool assoc; /* are we associated or not */
163 enum nl80211_iftype opmode;
164 int bslot;
165 struct ath5k_buf *bbuf; /* beacon buffer */
166 u8 lladdr[ETH_ALEN];
167};
168
155/* Software Carrier, keeps track of the driver state 169/* Software Carrier, keeps track of the driver state
156 * associated with an instance of a device */ 170 * associated with an instance of a device */
157struct ath5k_softc { 171struct ath5k_softc {
@@ -188,10 +202,11 @@ struct ath5k_softc {
188 unsigned int curmode; /* current phy mode */ 202 unsigned int curmode; /* current phy mode */
189 struct ieee80211_channel *curchan; /* current h/w channel */ 203 struct ieee80211_channel *curchan; /* current h/w channel */
190 204
191 struct ieee80211_vif *vif; 205 u16 nvifs;
192 206
193 enum ath5k_int imask; /* interrupt mask copy */ 207 enum ath5k_int imask; /* interrupt mask copy */
194 208
209 u8 lladdr[ETH_ALEN];
195 u8 bssidmask[ETH_ALEN]; 210 u8 bssidmask[ETH_ALEN];
196 211
197 unsigned int led_pin, /* GPIO pin for driving LED */ 212 unsigned int led_pin, /* GPIO pin for driving LED */
@@ -219,7 +234,10 @@ struct ath5k_softc {
219 234
220 spinlock_t block; /* protects beacon */ 235 spinlock_t block; /* protects beacon */
221 struct tasklet_struct beacontq; /* beacon intr tasklet */ 236 struct tasklet_struct beacontq; /* beacon intr tasklet */
222 struct ath5k_buf *bbuf; /* beacon buffer */ 237 struct list_head bcbuf; /* beacon buffer */
238 struct ieee80211_vif *bslot[ATH_BCBUF];
239 u16 num_ap_vifs;
240 u16 num_adhoc_vifs;
223 unsigned int bhalq, /* SW q for outgoing beacons */ 241 unsigned int bhalq, /* SW q for outgoing beacons */
224 bmisscount, /* missed beacon transmits */ 242 bmisscount, /* missed beacon transmits */
225 bintval, /* beacon interval in TU */ 243 bintval, /* beacon interval in TU */