1 #ifndef _DEV_ATH_DESC_H
2 #define _DEV_ATH_DESC_H
7 #define HAL_TXSTAT_ALTRATE 0x80
8 #define ts_rssi ts_rssi_combined
10 struct ath_tx_status {
16 int8_t ts_rssi_combined;
23 a_uint8_t ts_shortretry;
24 a_uint8_t ts_longretry;
34 #define HAL_TXERR_XRETRY 0x01
35 #define HAL_TXERR_FILT 0x02
36 #define HAL_TXERR_FIFO 0x04
37 #define HAL_TXERR_XTXOP 0x08
38 #define HAL_TXERR_TIMER_EXPIRED 0x10
40 #define HAL_TX_BA 0x01
41 #define HAL_TX_PWRMGMT 0x02
42 #define HAL_TX_DESC_CFG_ERR 0x04
43 #define HAL_TX_DATA_UNDERRUN 0x08
44 #define HAL_TX_DELIM_UNDERRUN 0x10
45 #define HAL_TX_SW_FILTERED 0x80
47 struct ath_rx_status {
49 a_uint16_t rs_datalen;
52 int8_t rs_rssi_combined;
64 a_uint8_t rs_moreaggr;
65 a_uint8_t rs_num_delims;
73 #define rs_rssi rs_rssi_combined
75 #define HAL_RXERR_CRC 0x01
76 #define HAL_RXERR_PHY 0x02
77 #define HAL_RXERR_FIFO 0x04
78 #define HAL_RXERR_DECRYPT 0x08
79 #define HAL_RXERR_MIC 0x10
81 #define HAL_RX_MORE 0x01
82 #define HAL_RX_MORE_AGGR 0x02
83 #define HAL_RX_GI 0x04
84 #define HAL_RX_2040 0x08
85 #define HAL_RX_DELIM_CRC_PRE 0x10
86 #define HAL_RX_DELIM_CRC_POST 0x20
87 #define HAL_RX_DECRYPT_BUSY 0x40
91 #define HAL_RXKEYIX_INVALID ((a_uint8_t) -1)
93 #define HAL_TXKEYIX_INVALID ((a_uint32_t) -1)
96 * The following definitions are passed directly
97 * the hardware and managed by the HAL. Drivers
98 * should not touch those elements marked opaque.
100 #define ATH_GENERIC_DESC \
101 a_uint32_t ds_link; \
102 a_uint32_t ds_data; \
103 a_uint32_t ds_ctl0; \
114 adf_os_dma_map_t ds_dmap;
115 adf_os_dmamap_info_t ds_dmap_info;
116 adf_os_dma_addr_t ds_daddr;
117 asf_tailq_entry(ath_rx_desc) ds_list;
122 a_uint32_t ds_hw[20];
124 struct ath_tx_status tx;
128 #define ds_txstat ds_us.tx
131 #define HAL_TXDESC_CLRDMASK 0x0001
132 #define HAL_TXDESC_NOACK 0x0002
133 #define HAL_TXDESC_RTSENA 0x0004
134 #define HAL_TXDESC_CTSENA 0x0008
135 #define HAL_TXDESC_INTREQ 0x0010
136 #define HAL_TXDESC_VEOL 0x0020
137 #define HAL_TXDESC_EXT_ONLY 0x0040
138 #define HAL_TXDESC_EXT_AND_CTL 0x0080
139 #define HAL_TXDESC_VMF 0x0100
142 #define HAL_RXDESC_INTREQ 0x0020