Lines Matching defs:mwl_softc
247 struct mwl_softc { struct
248 struct ieee80211com sc_ic;
249 struct mbufq sc_snd;
250 struct mwl_stats sc_stats; /* interface statistics */
251 int sc_debug;
252 device_t sc_dev;
253 bus_dma_tag_t sc_dmat; /* bus DMA tag */
254 bus_space_handle_t sc_io0h; /* BAR 0 */
255 bus_space_tag_t sc_io0t;
256 bus_space_handle_t sc_io1h; /* BAR 1 */
257 bus_space_tag_t sc_io1t;
258 struct mtx sc_mtx; /* master lock (recursive) */
259 struct taskqueue *sc_tq; /* private task queue */
260 struct callout sc_watchdog;
261 int sc_tx_timer;
262 unsigned int sc_running : 1,
263 sc_invalid : 1, /* disable hardware accesses */
264 sc_recvsetup:1, /* recv setup */
265 sc_csapending:1,/* 11h channel switch pending */
266 sc_radarena : 1,/* radar detection enabled */
267 sc_rxblocked: 1;/* rx waiting for dma buffers */
269 struct mwl_hal *sc_mh; /* h/w access layer */
270 struct mwl_hal_vap *sc_hvap; /* hal vap handle */
271 struct mwl_hal_hwspec sc_hwspecs; /* h/w capabilities */
272 uint32_t sc_fwrelease; /* release # of loaded f/w */
273 struct mwl_hal_txrxdma sc_hwdma; /* h/w dma setup */
274 uint32_t sc_imask; /* interrupt mask copy */
275 enum ieee80211_phymode sc_curmode;
276 u_int16_t sc_curaid; /* current association id */
277 u_int8_t sc_curbssid[IEEE80211_ADDR_LEN];
278 MWL_HAL_CHANNEL sc_curchan;
279 MWL_HAL_TXRATE_HANDLING sc_txratehandling;
280 u_int16_t sc_rxantenna; /* rx antenna */
281 u_int16_t sc_txantenna; /* tx antenna */
282 uint8_t sc_napvaps; /* # ap mode vaps */
283 uint8_t sc_nwdsvaps; /* # wds mode vaps */
284 uint8_t sc_nstavaps; /* # sta mode vaps */
285 uint8_t sc_ndwdsvaps; /* # sta mode dwds vaps */
286 uint8_t sc_nbssid0; /* # vap's using base mac */
287 uint32_t sc_bssidmask; /* bssid mask */
289 void (*sc_recv_mgmt)(struct ieee80211com *,
293 int (*sc_newstate)(struct ieee80211com *,
295 void (*sc_node_cleanup)(struct ieee80211_node *);
296 void (*sc_node_drain)(struct ieee80211_node *);
297 int (*sc_recv_action)(struct ieee80211_node *,
300 int (*sc_addba_request)(struct ieee80211_node *,
304 int (*sc_addba_response)(struct ieee80211_node *,
308 void (*sc_addba_stop)(struct ieee80211_node *,
311 struct mwl_descdma sc_rxdma; /* rx bus dma resources */
312 mwl_rxbufhead sc_rxbuf; /* rx buffers */
313 struct mwl_rxbuf *sc_rxnext; /* next rx buffer to process */
314 struct task sc_rxtask; /* rx int processing */
315 void *sc_rxmem; /* rx dma buffer pool */
316 bus_dma_tag_t sc_rxdmat; /* rx bus DMA tag */
317 bus_size_t sc_rxmemsize; /* rx dma buffer pool size */
318 bus_dmamap_t sc_rxmap; /* map for rx dma buffers */
319 bus_addr_t sc_rxmem_paddr; /* physical addr of sc_rxmem */
320 mwl_jumbohead sc_rxfree; /* list of free dma buffers */
321 int sc_nrxfree; /* # buffers on rx free list */
322 struct mtx sc_rxlock; /* lock on sc_rxfree */
324 struct mwl_txq sc_txq[MWL_NUM_TX_QUEUES];
325 struct mwl_txq *sc_ac2q[5]; /* WME AC -> h/w q map */
326 struct mbuf *sc_aggrq; /* aggregation q */
327 struct task sc_txtask; /* tx int processing */
328 struct task sc_bawatchdogtask;/* BA watchdog processing */
330 struct task sc_radartask; /* radar detect processing */
331 struct task sc_chanswitchtask;/* chan switch processing */
333 uint8_t sc_staid[MWL_MAXSTAID/NBBY];
357 int mwl_attach(u_int16_t, struct mwl_softc *); argument