Lines Matching +full:stream +full:- +full:match +full:- +full:mask
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright (c) 2007-2009 Sam Leffler, Errno Consulting
5 * Copyright (c) 2007-2009 Marvell Semiconductor, Inc.
116 * firmware pre-fetches descriptors. This means that we
132 snprintf((_tq)->name, sizeof((_tq)->name), "%s_txq%u", \
133 device_get_nameunit((_sc)->sc_dev), (_tq)->qnum); \
134 mtx_init(&(_tq)->lock, (_tq)->name, NULL, MTX_DEF); \
136 #define MWL_TXQ_LOCK_DESTROY(_tq) mtx_destroy(&(_tq)->lock)
137 #define MWL_TXQ_LOCK(_tq) mtx_lock(&(_tq)->lock)
138 #define MWL_TXQ_UNLOCK(_tq) mtx_unlock(&(_tq)->lock)
139 #define MWL_TXQ_LOCK_ASSERT(_tq) mtx_assert(&(_tq)->lock, MA_OWNED)
142 bus_dmamap_sync((txq)->dma.dd_dmat, (txq)->dma.dd_dmamap, how); \
156 (((const uint8_t *)(_data)) - (const uint8_t *)((_sc)->sc_rxmem))
158 ((_sc)->sc_rxmem_paddr + MWL_JUMBO_OFFSET(_sc, _data))
169 bus_dmamap_sync((sc)->sc_rxdma.dd_dmat, (sc)->sc_rxdma.dd_dmamap, how);\
173 * BA stream state. One of these is setup for each stream
174 * allocated/created for use. We pre-allocate the h/w stream
177 * to optimize the fast path in mwl_txstart--we precalculate
179 * to identify which BA stream to use (assigning the h/w q to
185 uint16_t qos; /* QoS ctl for BA stream */
186 uint8_t txq; /* h/w q for BA stream */
187 const MWL_HAL_BASTREAM *bastream; /* A-MPDU BA stream */
193 bas->txq = txq; in mwl_bastream_setup()
194 bas->qos = htole16(tid | IEEE80211_QOS_ACKPOLICY_BA); in mwl_bastream_setup()
200 bas->qos = 0; in mwl_bastream_free()
201 bas->bastream = NULL; in mwl_bastream_free()
207 * value calculated when a BA stream is setup (above). We need
208 * to match the TID and also the ACK policy so we only match AMPDU
216 bas->qos; in mwl_bastream_match()
219 /* driver-specific node state */
232 * Driver-specific vap state.
274 uint32_t sc_imask; /* interrupt mask copy */
287 uint32_t sc_bssidmask; /* bssid mask */
325 struct mwl_txq *sc_ac2q[5]; /* WME AC -> h/w q map */
342 mtx_init(&(_sc)->sc_mtx, device_get_nameunit((_sc)->sc_dev), \
344 #define MWL_LOCK_DESTROY(_sc) mtx_destroy(&(_sc)->sc_mtx)
345 #define MWL_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx)
346 #define MWL_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx)
347 #define MWL_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->sc_mtx, MA_OWNED)
350 mtx_init(&(_sc)->sc_rxlock, device_get_nameunit((_sc)->sc_dev), \
352 #define MWL_RXFREE_DESTROY(_sc) mtx_destroy(&(_sc)->sc_rxlock)
353 #define MWL_RXFREE_LOCK(_sc) mtx_lock(&(_sc)->sc_rxlock)
354 #define MWL_RXFREE_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_rxlock)
355 #define MWL_RXFREE_ASSERT(_sc) mtx_assert(&(_sc)->sc_rxlock, MA_OWNED)