aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHelmut Schaa <helmut.schaa@googlemail.com>2010-08-06 14:48:27 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-08-16 15:26:42 -0400
commit0856d9c04a1655612abd96793c1e8b1c1792457e (patch)
treebbb4cdb71c6ba6c46d9b5bdb73c73ddf989a18dc
parent96481b20f4d6df7021867ae9a9deaa989ec32e40 (diff)
rt2x00: Update comments regarding TXWI and TX_STA_FIFO
Add some comments about the TXWI fields and the TX_STA_FIFO register. Especially describe the relationship between the TXWI field PACKETID and the PID field in the TX_STA_FIFO register. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/rt2x00/rt2800.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2800.h b/drivers/net/wireless/rt2x00/rt2800.h
index ed4ebcdde7c9..cf1f16bfcd5e 100644
--- a/drivers/net/wireless/rt2x00/rt2800.h
+++ b/drivers/net/wireless/rt2x00/rt2800.h
@@ -1318,7 +1318,25 @@
1318#define TX_STA_CNT2_TX_UNDER_FLOW_COUNT FIELD32(0xffff0000) 1318#define TX_STA_CNT2_TX_UNDER_FLOW_COUNT FIELD32(0xffff0000)
1319 1319
1320/* 1320/*
1321 * TX_STA_FIFO: TX Result for specific PID status fifo register 1321 * TX_STA_FIFO: TX Result for specific PID status fifo register.
1322 *
1323 * This register is implemented as FIFO with 16 entries in the HW. Each
1324 * register read fetches the next tx result. If the FIFO is full because
1325 * it wasn't read fast enough after the according interrupt (TX_FIFO_STATUS)
1326 * triggered, the hw seems to simply drop further tx results.
1327 *
1328 * VALID: 1: this tx result is valid
1329 * 0: no valid tx result -> driver should stop reading
1330 * PID_TYPE: The PID latched from the PID field in the TXWI, can be used
1331 * to match a frame with its tx result (even though the PID is
1332 * only 4 bits wide).
1333 * TX_SUCCESS: Indicates tx success (1) or failure (0)
1334 * TX_AGGRE: Indicates if the frame was part of an aggregate (1) or not (0)
1335 * TX_ACK_REQUIRED: Indicates if the frame needed to get ack'ed (1) or not (0)
1336 * WCID: The wireless client ID.
1337 * MCS: The tx rate used during the last transmission of this frame, be it
1338 * successful or not.
1339 * PHYMODE: The phymode used for the transmission.
1322 */ 1340 */
1323#define TX_STA_FIFO 0x1718 1341#define TX_STA_FIFO 0x1718
1324#define TX_STA_FIFO_VALID FIELD32(0x00000001) 1342#define TX_STA_FIFO_VALID FIELD32(0x00000001)
@@ -1945,6 +1963,13 @@ struct mac_iveiv_entry {
1945 1963
1946/* 1964/*
1947 * Word1 1965 * Word1
1966 * ACK: 0: No Ack needed, 1: Ack needed
1967 * NSEQ: 0: Don't assign hw sequence number, 1: Assign hw sequence number
1968 * BW_WIN_SIZE: BA windows size of the recipient
1969 * WIRELESS_CLI_ID: Client ID for WCID table access
1970 * MPDU_TOTAL_BYTE_COUNT: Length of 802.11 frame
1971 * PACKETID: Will be latched into the TX_STA_FIFO register once the according
1972 * frame was processed. 0: Don't report tx status for this frame.
1948 */ 1973 */
1949#define TXWI_W1_ACK FIELD32(0x00000001) 1974#define TXWI_W1_ACK FIELD32(0x00000001)
1950#define TXWI_W1_NSEQ FIELD32(0x00000002) 1975#define TXWI_W1_NSEQ FIELD32(0x00000002)