Lines Matching +full:a +full:- +full:bit
1 /* SPDX-License-Identifier: ISC */
3 * Copyright (c) 2005-2011 Atheros Communications Inc.
4 * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
14 RX_ATTENTION_FLAGS_FIRST_MPDU = BIT(0),
15 RX_ATTENTION_FLAGS_LAST_MPDU = BIT(1),
16 RX_ATTENTION_FLAGS_MCAST_BCAST = BIT(2),
17 RX_ATTENTION_FLAGS_PEER_IDX_INVALID = BIT(3),
18 RX_ATTENTION_FLAGS_PEER_IDX_TIMEOUT = BIT(4),
19 RX_ATTENTION_FLAGS_POWER_MGMT = BIT(5),
20 RX_ATTENTION_FLAGS_NON_QOS = BIT(6),
21 RX_ATTENTION_FLAGS_NULL_DATA = BIT(7),
22 RX_ATTENTION_FLAGS_MGMT_TYPE = BIT(8),
23 RX_ATTENTION_FLAGS_CTRL_TYPE = BIT(9),
24 RX_ATTENTION_FLAGS_MORE_DATA = BIT(10),
25 RX_ATTENTION_FLAGS_EOSP = BIT(11),
26 RX_ATTENTION_FLAGS_U_APSD_TRIGGER = BIT(12),
27 RX_ATTENTION_FLAGS_FRAGMENT = BIT(13),
28 RX_ATTENTION_FLAGS_ORDER = BIT(14),
29 RX_ATTENTION_FLAGS_CLASSIFICATION = BIT(15),
30 RX_ATTENTION_FLAGS_OVERFLOW_ERR = BIT(16),
31 RX_ATTENTION_FLAGS_MSDU_LENGTH_ERR = BIT(17),
32 RX_ATTENTION_FLAGS_TCP_UDP_CHKSUM_FAIL = BIT(18),
33 RX_ATTENTION_FLAGS_IP_CHKSUM_FAIL = BIT(19),
34 RX_ATTENTION_FLAGS_SA_IDX_INVALID = BIT(20),
35 RX_ATTENTION_FLAGS_DA_IDX_INVALID = BIT(21),
36 RX_ATTENTION_FLAGS_SA_IDX_TIMEOUT = BIT(22),
37 RX_ATTENTION_FLAGS_DA_IDX_TIMEOUT = BIT(23),
38 RX_ATTENTION_FLAGS_ENCRYPT_REQUIRED = BIT(24),
39 RX_ATTENTION_FLAGS_DIRECTED = BIT(25),
40 RX_ATTENTION_FLAGS_BUFFER_FRAGMENT = BIT(26),
41 RX_ATTENTION_FLAGS_MPDU_LENGTH_ERR = BIT(27),
42 RX_ATTENTION_FLAGS_TKIP_MIC_ERR = BIT(28),
43 RX_ATTENTION_FLAGS_DECRYPT_ERR = BIT(29),
44 RX_ATTENTION_FLAGS_FCS_ERR = BIT(30),
45 RX_ATTENTION_FLAGS_MSDU_DONE = BIT(31),
55 * and last_mpdu are set in the MSDU then this is a not an
56 * A-MPDU frame but a stand alone MPDU. Interior MPDU in an
57 * A-MPDU shall have both first_mpdu and last_mpdu bits set to
58 * 0. The PPDU start status will only be valid when this bit
63 * PPDU end status will only be valid when this bit is set.
67 * address 1 bit 0 is set indicating mcast/bcast and the BSSID
80 * Power management bit set in the 802.11 header. Only set
84 * Set if packet is not a non-QoS data frame. Only set when
92 * Set if packet is a management packet. Only set when
96 * Set if packet is a control packet. Only set when first_msdu
100 * Set if more bit in frame control is set. Only set when
104 * Set if the EOSP (end of service period) bit in the QoS
108 * Set if packet is U-APSD trigger. Key table will have bits
109 * per TID to indicate U-APSD trigger.
113 * set when either the more_frag bit is set in the frame
118 * Set if the order bit in the frame control is set. Only set
122 * Indicates that this status has a corresponding MSDU that
168 * MPDU is a directed packet which means that the RA matched
171 * 'no_ack' bit is the address search entry cleared.
179 * Indicates that the MPDU was pre-maturely terminated
180 * resulting in a truncated MPDU. Don't trust the MPDU length
196 * valid. This bit must be in the last octet of the
263 #define RX_MPDU_START_INFO0_FROM_DS BIT(11)
264 #define RX_MPDU_START_INFO0_TO_DS BIT(12)
265 #define RX_MPDU_START_INFO0_ENCRYPTED BIT(13)
266 #define RX_MPDU_START_INFO0_RETRY BIT(14)
267 #define RX_MPDU_START_INFO0_TXBF_H_INFO BIT(15)
271 #define RX_MPDU_START_INFO1_DIRECTED BIT(16)
293 * Set if the from DS bit is set in the frame control. Only
297 * Set if the to DS bit is set in the frame control. Only
301 * Protected bit from the frame control. Only valid when
305 * Retry bit from the frame control. Only valid when
325 * 6: AES-CCM (WPA2)
335 * AES-CCM: IV = {pn5, pn4, pn3, pn2, key_id_octet, 0x0, pn1,
350 * byte-order and bitmasking/bitshifting.
366 #define RX_MPDU_END_INFO0_OVERFLOW_ERR BIT(13)
367 #define RX_MPDU_END_INFO0_LAST_MPDU BIT(14)
368 #define RX_MPDU_END_INFO0_POST_DELIM_ERR BIT(15)
369 #define RX_MPDU_END_INFO0_MPDU_LENGTH_ERR BIT(28)
370 #define RX_MPDU_END_INFO0_TKIP_MIC_ERR BIT(29)
371 #define RX_MPDU_END_INFO0_DECRYPT_ERR BIT(30)
372 #define RX_MPDU_END_INFO0_FCS_ERR BIT(31)
390 * Indicates that this is the last MPDU of a PPDU.
393 * Indicates that a delimiter FCS error occurred after this
401 * ML-MIMO is used. Only valid when last_mpdu is set.
431 #define RX_MSDU_START_INFO1_IPV4_PROTO BIT(10)
432 #define RX_MSDU_START_INFO1_IPV6_PROTO BIT(11)
433 #define RX_MSDU_START_INFO1_TCP_PROTO BIT(12)
434 #define RX_MSDU_START_INFO1_UDP_PROTO BIT(13)
435 #define RX_MSDU_START_INFO1_IP_FRAG BIT(14)
436 #define RX_MSDU_START_INFO1_TCP_ONLY_ACK BIT(15)
442 #define RX_MSDU_START_INFO2_DA_BCAST_MCAST BIT(11)
445 * a) 802.11 header
448 * - 0 bytes for no security
449 * - 4 bytes for WEP
450 * - 8 bytes for TKIP, AES
452 * c) A-MSDU subframe header (14 bytes) if applicable
455 * In case of A-MSDU only first frame in sequence contains (a) and (b).
460 /* Note: QoS frames are reported as non-QoS. The rx_hdr_status in
468 /* Payload contains two 48-bit addresses and 2-byte length (14 bytes
506 * still valid for MPDU frames without A-MSDU. It still
535 * {16'b0, urgent_ptr[15:0]}, all options except 32-bit
539 * Indicates the MSDU number within a MPDU. This value is
565 * Indicates that either the IP More frag bit is set or IP frag
566 * number is non-zero. If set indicates that this is a
570 * Set if only the TCP Ack bit is set in the TCP flags and if
583 #define RX_MSDU_END_INFO0_FIRST_MSDU BIT(14)
584 #define RX_MSDU_END_INFO0_LAST_MSDU BIT(15)
585 #define RX_MSDU_END_INFO0_MSDU_LIMIT_ERR BIT(18)
586 #define RX_MSDU_END_INFO0_PRE_DELIM_ERR BIT(30)
587 #define RX_MSDU_END_INFO0_RESERVED_3B BIT(31)
604 #define RX_MSDU_END_INFO1_IRO_ELIGIBLE BIT(9)
653 * The value of the computed TCP/UDP checksum. A mode bit
683 * length field of the A-MPDU delimiter or the preamble length
684 * field for non-A-MPDU frames.
687 * Indicates the first MSDU of A-MSDU. If both first_msdu and
688 * last_msdu are set in the MSDU then this is a non-aggregated
689 * MSDU frame: normal MPDU. Interior MSDU in an A-MSDU shall
693 * Indicates the last MSDU of the A-MSDU. MPDU end status is
700 * as a single MSDU buffer.
706 * Indicates that the first delimiter had a FCS failure. Only
719 #define RX_PPDU_START_INFO0_IS_GREENFIELD BIT(0)
729 #define RX_PPDU_START_INFO1_L_SIG_RATE_SELECT BIT(4)
730 #define RX_PPDU_START_INFO1_L_SIG_PARITY BIT(17)
737 #define RX_PPDU_START_INFO3_TXBF_H_INFO BIT(24)
746 #define RX_PPDU_START_RATE_FLAG BIT(3)
882 * 0x80 - 0xFF: Reserved for special baseband data types such
887 * HT-SIG (first 24 bits)
889 * VHT-SIG A (first 24 bits)
898 * HT-SIG (last 24 bits)
900 * VHT-SIG A (last 24 bits)
913 * 0s since the BB does not plan on decoding VHT SIG-B.
926 #define RX_PPDU_END_FLAGS_PHY_ERR BIT(0)
927 #define RX_PPDU_END_FLAGS_RX_LOCATION BIT(1)
928 #define RX_PPDU_END_FLAGS_TXBF_H_INFO BIT(2)
932 #define RX_PPDU_END_INFO0_FLAGS_TX_HT_VHT_ACK BIT(24)
933 #define RX_PPDU_END_INFO0_BB_CAPTURED_CHANNEL BIT(25)
937 #define RX_PPDU_END_INFO1_BB_DATA BIT(0)
938 #define RX_PPDU_END_INFO1_PEER_IDX_VALID BIT(1)
939 #define RX_PPDU_END_INFO1_PPDU_DONE BIT(15)
975 #define RX_PPDU_END_RTT_NORMAL_MODE BIT(31)
987 #define RX_PKT_END_INFO0_RX_SUCCESS BIT(0)
988 #define RX_PKT_END_INFO0_ERR_TX_INTERRUPT_RX BIT(3)
989 #define RX_PKT_END_INFO0_ERR_OFDM_POWER_DROP BIT(4)
990 #define RX_PKT_END_INFO0_ERR_OFDM_RESTART BIT(5)
991 #define RX_PKT_END_INFO0_ERR_CCK_POWER_DROP BIT(6)
992 #define RX_PKT_END_INFO0_ERR_CCK_RESTART BIT(7)
1002 #define RX_LOCATION_INFO_CIR_STATUS BIT(17)
1003 #define RX_LOCATION_INFO_RTT_MAC_PHY_PHASE BIT(25)
1004 #define RX_LOCATION_INFO_RTT_TX_DATA_START_X BIT(26)
1005 #define RX_LOCATION_INFO_HW_IFFT_MODE BIT(30)
1006 #define RX_LOCATION_INFO_RX_LOCATION_VALID BIT(31)
1026 #define RX_LOCATION_INFO0_RTT_FAC_LEGACY_STATUS BIT(14)
1027 #define RX_LOCATION_INFO0_RTT_FAC_VHT_STATUS BIT(29)
1043 #define RX_LOCATION_INFO1_RTT_CFR_STATUS BIT(0)
1044 #define RX_LOCATION_INFO1_RTT_CIR_STATUS BIT(1)
1045 #define RX_LOCATION_INFO1_RTT_GI_TYPE BIT(7)
1046 #define RX_LOCATION_INFO1_RTT_MAC_PHY_PHASE BIT(29)
1047 #define RX_LOCATION_INFO1_RTT_TX_DATA_START_X_PHASE BIT(30)
1048 #define RX_LOCATION_INFO1_RX_LOCATION_VALID BIT(31)
1062 RX_PHY_PPDU_END_INFO0_ERR_RADAR = BIT(2),
1063 RX_PHY_PPDU_END_INFO0_ERR_RX_ABORT = BIT(3),
1064 RX_PHY_PPDU_END_INFO0_ERR_RX_NAP = BIT(4),
1065 RX_PHY_PPDU_END_INFO0_ERR_OFDM_TIMING = BIT(5),
1066 RX_PHY_PPDU_END_INFO0_ERR_OFDM_PARITY = BIT(6),
1067 RX_PHY_PPDU_END_INFO0_ERR_OFDM_RATE = BIT(7),
1068 RX_PHY_PPDU_END_INFO0_ERR_OFDM_LENGTH = BIT(8),
1069 RX_PHY_PPDU_END_INFO0_ERR_OFDM_RESTART = BIT(9),
1070 RX_PHY_PPDU_END_INFO0_ERR_OFDM_SERVICE = BIT(10),
1071 RX_PHY_PPDU_END_INFO0_ERR_OFDM_POWER_DROP = BIT(11),
1072 RX_PHY_PPDU_END_INFO0_ERR_CCK_BLOCKER = BIT(12),
1073 RX_PHY_PPDU_END_INFO0_ERR_CCK_TIMING = BIT(13),
1074 RX_PHY_PPDU_END_INFO0_ERR_CCK_HEADER_CRC = BIT(14),
1075 RX_PHY_PPDU_END_INFO0_ERR_CCK_RATE = BIT(15),
1076 RX_PHY_PPDU_END_INFO0_ERR_CCK_LENGTH = BIT(16),
1077 RX_PHY_PPDU_END_INFO0_ERR_CCK_RESTART = BIT(17),
1078 RX_PHY_PPDU_END_INFO0_ERR_CCK_SERVICE = BIT(18),
1079 RX_PHY_PPDU_END_INFO0_ERR_CCK_POWER_DROP = BIT(19),
1080 RX_PHY_PPDU_END_INFO0_ERR_HT_CRC = BIT(20),
1081 RX_PHY_PPDU_END_INFO0_ERR_HT_LENGTH = BIT(21),
1082 RX_PHY_PPDU_END_INFO0_ERR_HT_RATE = BIT(22),
1083 RX_PHY_PPDU_END_INFO0_ERR_HT_ZLF = BIT(23),
1084 RX_PHY_PPDU_END_INFO0_ERR_FALSE_RADAR_EXT = BIT(24),
1085 RX_PHY_PPDU_END_INFO0_ERR_GREEN_FIELD = BIT(25),
1086 RX_PHY_PPDU_END_INFO0_ERR_SPECTRAL_SCAN = BIT(26),
1087 RX_PHY_PPDU_END_INFO0_ERR_RX_DYN_BW = BIT(27),
1088 RX_PHY_PPDU_END_INFO0_ERR_LEG_HT_MISMATCH = BIT(28),
1089 RX_PHY_PPDU_END_INFO0_ERR_VHT_CRC = BIT(29),
1090 RX_PHY_PPDU_END_INFO0_ERR_VHT_SIGA = BIT(30),
1091 RX_PHY_PPDU_END_INFO0_ERR_VHT_LSIG = BIT(31),
1095 RX_PHY_PPDU_END_INFO1_ERR_VHT_NDP = BIT(0),
1096 RX_PHY_PPDU_END_INFO1_ERR_VHT_NSYM = BIT(1),
1097 RX_PHY_PPDU_END_INFO1_ERR_VHT_RX_EXT_SYM = BIT(2),
1098 RX_PHY_PPDU_END_INFO1_ERR_VHT_RX_SKIP_ID0 = BIT(3),
1099 RX_PHY_PPDU_END_INFO1_ERR_VHT_RX_SKIP_ID1_62 = BIT(4),
1100 RX_PHY_PPDU_END_INFO1_ERR_VHT_RX_SKIP_ID63 = BIT(5),
1101 RX_PHY_PPDU_END_INFO1_ERR_OFDM_LDPC_DECODER = BIT(6),
1102 RX_PHY_PPDU_END_INFO1_ERR_DEFER_NAP = BIT(7),
1103 RX_PHY_PPDU_END_INFO1_ERR_FDOMAIN_TIMEOUT = BIT(8),
1104 RX_PHY_PPDU_END_INFO1_ERR_LSIG_REL_CHECK = BIT(9),
1105 RX_PHY_PPDU_END_INFO1_ERR_BT_COLLISION = BIT(10),
1106 RX_PHY_PPDU_END_INFO1_ERR_MU_FEEDBACK = BIT(11),
1107 RX_PHY_PPDU_END_INFO1_ERR_TX_INTERRUPT_RX = BIT(12),
1108 RX_PHY_PPDU_END_INFO1_ERR_RX_CBF = BIT(13),
1121 #define RX_PPDU_END_RX_INFO_TX_HT_VHT_ACK BIT(24)
1122 #define RX_PPDU_END_RX_INFO_RX_PKT_END_VALID BIT(25)
1123 #define RX_PPDU_END_RX_INFO_RX_PHY_PPDU_END_VALID BIT(26)
1124 #define RX_PPDU_END_RX_INFO_RX_TIMING_OFFSET_VALID BIT(27)
1125 #define RX_PPDU_END_RX_INFO_BB_CAPTURED_CHANNEL BIT(28)
1126 #define RX_PPDU_END_RX_INFO_UNSUPPORTED_MU_NC BIT(29)
1127 #define RX_PPDU_END_RX_INFO_OTP_TXBF_DISABLE BIT(30)
1236 * WLAN/BT timestamp is a 1 usec resolution timestamp which
1254 * Indicates a PHY error was detected for this PPDU.
1270 * Indicates that a HT or VHT Ack/BA frame was transmitted in
1274 * Indicates that the BB has captured a channel dump. FW can
1277 * capture_channel bit BB descriptor or FW setting the
1278 * capture_channel mode bit.
1286 * which indicates that this is not a normal PPDU but rather
1293 * PPDU end status is only valid when ppdu_done bit is set.
1294 * Every time HW sets this bit in memory FW/SW must clear this
1295 * bit in memory. FW will initialize all the ppdu_done dword
1299 #define FW_RX_DESC_INFO0_DISCARD BIT(0)
1300 #define FW_RX_DESC_INFO0_FORWARD BIT(1)
1301 #define FW_RX_DESC_INFO0_INSPECT BIT(5)