#define ath_free_rx_skb(_sc,_skb) BUF_Pool_free_buf(_sc->pool_handle, POOL_ID_WLAN_RX_BUF, _skb)
#define ath_free_tx_skb(_htc_handle, endpt, _skb) HTC_ReturnBuffers(_htc_handle, endpt, _skb);
#define ath_free_rx_skb(_sc,_skb) BUF_Pool_free_buf(_sc->pool_handle, POOL_ID_WLAN_RX_BUF, _skb)
#define ath_free_tx_skb(_htc_handle, endpt, _skb) HTC_ReturnBuffers(_htc_handle, endpt, _skb);
-typedef void (*ath_txq_add_fn_t)(struct ath_softc_tgt *sc, struct ath_buf *bf);
-typedef void (*ath_tx_comp_fn_t)(struct ath_softc_tgt *sc, struct ath_buf *bf);
+struct ath_tx_buf;
+
+typedef void (*ath_txq_add_fn_t)(struct ath_softc_tgt *sc, struct ath_tx_buf *bf);
+typedef void (*ath_tx_comp_fn_t)(struct ath_softc_tgt *sc, struct ath_tx_buf *bf);
adf_os_dma_map_t bf_dmamap; \
adf_os_dmamap_info_t bf_dmamap_info; \
struct ieee80211_node_target *bf_node; \
adf_nbuf_queue_t bf_skbhead; \
adf_os_dma_map_t bf_dmamap; \
adf_os_dmamap_info_t bf_dmamap_info; \
struct ieee80211_node_target *bf_node; \
adf_nbuf_queue_t bf_skbhead; \
+ asf_tailq_entry(ath_buf) bf_list;
+ struct ath_buf *bf_next;
+ struct ath_desc *bf_lastds;
+ struct ath_desc *bf_desc;
+ struct ath_desc *bf_descarr;
+ asf_tailq_entry(ath_tx_buf) bf_list;
+ struct ath_tx_buf *bf_next;
+ struct ath_tx_desc *bf_desc;
+ struct ath_tx_desc *bf_descarr;
+ struct ath_tx_desc *bf_lastds;
+ asf_tailq_entry(ath_rx_buf) bf_list;
+ struct ath_rx_buf *bf_next;
+ struct ath_rx_desc *bf_desc;
+ struct ath_rx_desc *bf_descarr;
+ struct ath_rx_desc *bf_lastds;
#define ATH_BUF_GET_DESC_PHY_ADDR_WITH_IDX(bf, idx) (adf_os_dma_addr_t)(&bf->bf_descarr[idx])
#define ATH_BUF_SET_DESC_PHY_ADDR(bf, addr)
#define ATH_BUF_SET_DESC_PHY_ADDR_WITH_IDX(bf, idx, addr)
typedef asf_tailq_head(ath_deschead_s, ath_rx_desc) ath_deschead;
typedef asf_tailq_head(ath_bufhead_s, ath_buf) ath_bufhead;
#define ATH_BUF_GET_DESC_PHY_ADDR_WITH_IDX(bf, idx) (adf_os_dma_addr_t)(&bf->bf_descarr[idx])
#define ATH_BUF_SET_DESC_PHY_ADDR(bf, addr)
#define ATH_BUF_SET_DESC_PHY_ADDR_WITH_IDX(bf, idx, addr)
typedef asf_tailq_head(ath_deschead_s, ath_rx_desc) ath_deschead;
typedef asf_tailq_head(ath_bufhead_s, ath_buf) ath_bufhead;
a_int32_t baw_tail;
a_uint32_t tx_buf_bitmap[ATH_TID_MAX_BUFS/TX_BUF_BITMAP_SIZE];
asf_tailq_entry(ath_atx_tid) tid_qelem;
a_int32_t baw_tail;
a_uint32_t tx_buf_bitmap[ATH_TID_MAX_BUFS/TX_BUF_BITMAP_SIZE];
asf_tailq_entry(ath_atx_tid) tid_qelem;
a_uint32_t av_rate_mask[2]; /* 0 - 2G, 1 - 5G */
a_uint8_t av_minrateidx[2]; /* 0 - 2G, 1 - 5G */
a_int8_t av_valid;
a_uint32_t av_rate_mask[2]; /* 0 - 2G, 1 - 5G */
a_uint8_t av_minrateidx[2]; /* 0 - 2G, 1 - 5G */
a_int8_t av_valid;
struct ath_ratectrl *sc_rc;
a_uint32_t sc_invalid : 1,
struct ath_ratectrl *sc_rc;
a_uint32_t sc_invalid : 1,
struct ath_descdma sc_rxdma;
struct ath_descdma sc_txdma;
struct ath_descdma sc_bdma;
a_uint32_t *sc_rxlink;
struct ath_descdma sc_rxdma;
struct ath_descdma sc_txdma;
struct ath_descdma sc_bdma;
a_uint32_t *sc_rxlink;
#define ath_hal_intrset(_ah, _mask) \
((*(_ah)->ah_setInterrupts)((_ah), (_mask)))
#define ath_hal_intrpend(_ah) \
#define ath_hal_intrset(_ah, _mask) \
((*(_ah)->ah_setInterrupts)((_ah), (_mask)))
#define ath_hal_intrpend(_ah) \
((*(_ah)->ah_stopPcuReceive)((_ah)))
#define ath_hal_htsupported(_ah) \
(ath_hal_getcapability(_ah, HAL_CAP_HT, 0, NULL) == HAL_OK)
((*(_ah)->ah_stopPcuReceive)((_ah)))
#define ath_hal_htsupported(_ah) \
(ath_hal_getcapability(_ah, HAL_CAP_HT, 0, NULL) == HAL_OK)
-#define ath_hal_rxstbcsupport(_ah, _rxstbc) \
- (ath_hal_getcapability(_ah, HAL_CAP_RX_STBC, 0, _rxstbc) == HAL_OK)
-#define ath_hal_txstbcsupport(_ah, _txstbc) \
- (ath_hal_getcapability(_ah, HAL_CAP_TX_STBC, 0, _txstbc) == HAL_OK)
#define ath_hal_getrtsaggrlimit(_ah, _pv) \
(ath_hal_getcapability(_ah, HAL_CAP_RTS_AGGR_LIMIT, 0, _pv) == HAL_OK)
#define ath_hal_puttxbuf(_ah, _q, _bufaddr) \
#define ath_hal_getrtsaggrlimit(_ah, _pv) \
(ath_hal_getcapability(_ah, HAL_CAP_RTS_AGGR_LIMIT, 0, _pv) == HAL_OK)
#define ath_hal_puttxbuf(_ah, _q, _bufaddr) \
((*(_ah)->ah_getTsf64)((_ah)))
#define ath_hal_intrset(_ah, _mask) \
((*(_ah)->ah_setInterrupts)((_ah), (_mask)))
((*(_ah)->ah_getTsf64)((_ah)))
#define ath_hal_intrset(_ah, _mask) \
((*(_ah)->ah_setInterrupts)((_ah), (_mask)))
-#define ath_hal_getcapability(_ah, _cap, _param, _result) \
- ((*(_ah)->ah_getCapability)((_ah), (_cap), (_param), (_result)))
#define ath_hal_set11n_aggr_first(_ah, _ds, _aggrlen, _numdelims) \
((*(_ah)->ah_set11nAggrFirst)(_ah, _ds, _aggrlen, _numdelims))
#define ath_hal_set11n_aggr_middle(_ah, _ds, _numdelims) \
#define ath_hal_set11n_aggr_first(_ah, _ds, _aggrlen, _numdelims) \
((*(_ah)->ah_set11nAggrFirst)(_ah, _ds, _aggrlen, _numdelims))
#define ath_hal_set11n_aggr_middle(_ah, _ds, _numdelims) \