diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath5k/base.h')
-rw-r--r-- | drivers/net/wireless/ath/ath5k/base.h | 26 |
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 | ||
161 | struct 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 */ |
157 | struct ath5k_softc { | 171 | struct 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 */ |