/* * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #ifndef _RX_MSDU_END_H_ #define _RX_MSDU_END_H_ #define NUM_OF_DWORDS_RX_MSDU_END 32 struct rx_msdu_end { #ifndef WIFI_BIT_ORDER_BIG_ENDIAN uint32_t rxpcu_mpdu_filter_in_category : 2, sw_frame_group_id : 7, reserved_0 : 7, phy_ppdu_id : 16; uint32_t ip_hdr_chksum : 16, reported_mpdu_length : 14, reserved_1a : 2; uint32_t reserved_2a : 8, cce_super_rule : 6, cce_classify_not_done_truncate : 1, cce_classify_not_done_cce_dis : 1, cumulative_l3_checksum : 16; uint32_t rule_indication_31_0 : 32; uint32_t ipv6_options_crc : 32; uint32_t da_offset : 6, sa_offset : 6, da_offset_valid : 1, sa_offset_valid : 1, reserved_5a : 2, l3_type : 16; uint32_t rule_indication_63_32 : 32; uint32_t tcp_seq_number : 32; uint32_t tcp_ack_number : 32; uint32_t tcp_flag : 9, lro_eligible : 1, reserved_9a : 6, window_size : 16; uint32_t sa_sw_peer_id : 16, sa_idx_timeout : 1, da_idx_timeout : 1, to_ds : 1, tid : 4, sa_is_valid : 1, da_is_valid : 1, da_is_mcbc : 1, l3_header_padding : 2, first_msdu : 1, last_msdu : 1, fr_ds : 1, ip_chksum_fail_copy : 1; uint32_t sa_idx : 16, da_idx_or_sw_peer_id : 16; uint32_t msdu_drop : 1, reo_destination_indication : 5, flow_idx : 20, use_ppe : 1, __reserved_g_0003 : 2, vlan_ctag_stripped : 1, vlan_stag_stripped : 1, fragment_flag : 1; uint32_t fse_metadata : 32; uint32_t cce_metadata : 16, tcp_udp_chksum : 16; uint32_t aggregation_count : 8, flow_aggregation_continuation : 1, fisa_timeout : 1, tcp_udp_chksum_fail_copy : 1, msdu_limit_error : 1, flow_idx_timeout : 1, flow_idx_invalid : 1, cce_match : 1, amsdu_parser_error : 1, cumulative_ip_length : 16; uint32_t key_id_octet : 8, reserved_16a : 24; uint32_t reserved_17a : 6, service_code : 9, priority_valid : 1, intra_bss : 1, dest_chip_id : 2, multicast_echo : 1, wds_learning_event : 1, wds_roaming_event : 1, wds_keep_alive_event : 1, __reserved_g_0015 : 1, reserved_17b : 8; uint32_t msdu_length : 14, stbc : 1, ipsec_esp : 1, l3_offset : 7, ipsec_ah : 1, l4_offset : 8; uint32_t msdu_number : 8, decap_format : 2, ipv4_proto : 1, ipv6_proto : 1, tcp_proto : 1, udp_proto : 1, ip_frag : 1, tcp_only_ack : 1, da_is_bcast_mcast : 1, toeplitz_hash_sel : 2, ip_fixed_header_valid : 1, ip_extn_header_valid : 1, tcp_udp_header_valid : 1, mesh_control_present : 1, ldpc : 1, ip4_protocol_ip6_next_header : 8; uint32_t vlan_ctag_ci : 16, vlan_stag_ci : 16; uint32_t peer_meta_data : 32; uint32_t user_rssi : 8, pkt_type : 4, sgi : 2, rate_mcs : 4, receive_bandwidth : 3, reception_type : 3, mimo_ss_bitmap : 7, msdu_done_copy : 1; uint32_t flow_id_toeplitz : 32; uint32_t ppdu_start_timestamp_63_32 : 32; uint32_t sw_phy_meta_data : 32; uint32_t ppdu_start_timestamp_31_0 : 32; uint32_t toeplitz_hash_2_or_4 : 32; uint32_t reserved_28a : 16, sa_15_0 : 16; uint32_t sa_47_16 : 32; uint32_t first_mpdu : 1, reserved_30a : 1, mcast_bcast : 1, ast_index_not_found : 1, ast_index_timeout : 1, power_mgmt : 1, non_qos : 1, null_data : 1, mgmt_type : 1, ctrl_type : 1, more_data : 1, eosp : 1, a_msdu_error : 1, reserved_30b : 1, order : 1, wifi_parser_error : 1, overflow_err : 1, msdu_length_err : 1, tcp_udp_chksum_fail : 1, ip_chksum_fail : 1, sa_idx_invalid : 1, da_idx_invalid : 1, amsdu_addr_mismatch : 1, rx_in_tx_decrypt_byp : 1, encrypt_required : 1, directed : 1, buffer_fragment : 1, mpdu_length_err : 1, tkip_mic_err : 1, decrypt_err : 1, unencrypted_frame_err : 1, fcs_err : 1; uint32_t reserved_31a : 10, decrypt_status_code : 3, rx_bitmap_not_updated : 1, reserved_31b : 17, msdu_done : 1; #else uint32_t phy_ppdu_id : 16, reserved_0 : 7, sw_frame_group_id : 7, rxpcu_mpdu_filter_in_category : 2; uint32_t reserved_1a : 2, reported_mpdu_length : 14, ip_hdr_chksum : 16; uint32_t cumulative_l3_checksum : 16, cce_classify_not_done_cce_dis : 1, cce_classify_not_done_truncate : 1, cce_super_rule : 6, reserved_2a : 8; uint32_t rule_indication_31_0 : 32; uint32_t ipv6_options_crc : 32; uint32_t l3_type : 16, reserved_5a : 2, sa_offset_valid : 1, da_offset_valid : 1, sa_offset : 6, da_offset : 6; uint32_t rule_indication_63_32 : 32; uint32_t tcp_seq_number : 32; uint32_t tcp_ack_number : 32; uint32_t window_size : 16, reserved_9a : 6, lro_eligible : 1, tcp_flag : 9; uint32_t ip_chksum_fail_copy : 1, fr_ds : 1, last_msdu : 1, first_msdu : 1, l3_header_padding : 2, da_is_mcbc : 1, da_is_valid : 1, sa_is_valid : 1, tid : 4, to_ds : 1, da_idx_timeout : 1, sa_idx_timeout : 1, sa_sw_peer_id : 16; uint32_t da_idx_or_sw_peer_id : 16, sa_idx : 16; uint32_t fragment_flag : 1, vlan_stag_stripped : 1, vlan_ctag_stripped : 1, __reserved_g_0003 : 2, use_ppe : 1, flow_idx : 20, reo_destination_indication : 5, msdu_drop : 1; uint32_t fse_metadata : 32; uint32_t tcp_udp_chksum : 16, cce_metadata : 16; uint32_t cumulative_ip_length : 16, amsdu_parser_error : 1, cce_match : 1, flow_idx_invalid : 1, flow_idx_timeout : 1, msdu_limit_error : 1, tcp_udp_chksum_fail_copy : 1, fisa_timeout : 1, flow_aggregation_continuation : 1, aggregation_count : 8; uint32_t reserved_16a : 24, key_id_octet : 8; uint32_t reserved_17b : 8, __reserved_g_0015 : 1, wds_keep_alive_event : 1, wds_roaming_event : 1, wds_learning_event : 1, multicast_echo : 1, dest_chip_id : 2, intra_bss : 1, priority_valid : 1, service_code : 9, reserved_17a : 6; uint32_t l4_offset : 8, ipsec_ah : 1, l3_offset : 7, ipsec_esp : 1, stbc : 1, msdu_length : 14; uint32_t ip4_protocol_ip6_next_header : 8, ldpc : 1, mesh_control_present : 1, tcp_udp_header_valid : 1, ip_extn_header_valid : 1, ip_fixed_header_valid : 1, toeplitz_hash_sel : 2, da_is_bcast_mcast : 1, tcp_only_ack : 1, ip_frag : 1, udp_proto : 1, tcp_proto : 1, ipv6_proto : 1, ipv4_proto : 1, decap_format : 2, msdu_number : 8; uint32_t vlan_stag_ci : 16, vlan_ctag_ci : 16; uint32_t peer_meta_data : 32; uint32_t msdu_done_copy : 1, mimo_ss_bitmap : 7, reception_type : 3, receive_bandwidth : 3, rate_mcs : 4, sgi : 2, pkt_type : 4, user_rssi : 8; uint32_t flow_id_toeplitz : 32; uint32_t ppdu_start_timestamp_63_32 : 32; uint32_t sw_phy_meta_data : 32; uint32_t ppdu_start_timestamp_31_0 : 32; uint32_t toeplitz_hash_2_or_4 : 32; uint32_t sa_15_0 : 16, reserved_28a : 16; uint32_t sa_47_16 : 32; uint32_t fcs_err : 1, unencrypted_frame_err : 1, decrypt_err : 1, tkip_mic_err : 1, mpdu_length_err : 1, buffer_fragment : 1, directed : 1, encrypt_required : 1, rx_in_tx_decrypt_byp : 1, amsdu_addr_mismatch : 1, da_idx_invalid : 1, sa_idx_invalid : 1, ip_chksum_fail : 1, tcp_udp_chksum_fail : 1, msdu_length_err : 1, overflow_err : 1, wifi_parser_error : 1, order : 1, reserved_30b : 1, a_msdu_error : 1, eosp : 1, more_data : 1, ctrl_type : 1, mgmt_type : 1, null_data : 1, non_qos : 1, power_mgmt : 1, ast_index_timeout : 1, ast_index_not_found : 1, mcast_bcast : 1, reserved_30a : 1, first_mpdu : 1; uint32_t msdu_done : 1, reserved_31b : 17, rx_bitmap_not_updated : 1, decrypt_status_code : 3, reserved_31a : 10; #endif }; #define RX_MSDU_END_RXPCU_MPDU_FILTER_IN_CATEGORY_OFFSET 0x00000000 #define RX_MSDU_END_RXPCU_MPDU_FILTER_IN_CATEGORY_LSB 0 #define RX_MSDU_END_RXPCU_MPDU_FILTER_IN_CATEGORY_MSB 1 #define RX_MSDU_END_RXPCU_MPDU_FILTER_IN_CATEGORY_MASK 0x00000003 #define RX_MSDU_END_SW_FRAME_GROUP_ID_OFFSET 0x00000000 #define RX_MSDU_END_SW_FRAME_GROUP_ID_LSB 2 #define RX_MSDU_END_SW_FRAME_GROUP_ID_MSB 8 #define RX_MSDU_END_SW_FRAME_GROUP_ID_MASK 0x000001fc #define RX_MSDU_END_RESERVED_0_OFFSET 0x00000000 #define RX_MSDU_END_RESERVED_0_LSB 9 #define RX_MSDU_END_RESERVED_0_MSB 15 #define RX_MSDU_END_RESERVED_0_MASK 0x0000fe00 #define RX_MSDU_END_PHY_PPDU_ID_OFFSET 0x00000000 #define RX_MSDU_END_PHY_PPDU_ID_LSB 16 #define RX_MSDU_END_PHY_PPDU_ID_MSB 31 #define RX_MSDU_END_PHY_PPDU_ID_MASK 0xffff0000 #define RX_MSDU_END_IP_HDR_CHKSUM_OFFSET 0x00000004 #define RX_MSDU_END_IP_HDR_CHKSUM_LSB 0 #define RX_MSDU_END_IP_HDR_CHKSUM_MSB 15 #define RX_MSDU_END_IP_HDR_CHKSUM_MASK 0x0000ffff #define RX_MSDU_END_REPORTED_MPDU_LENGTH_OFFSET 0x00000004 #define RX_MSDU_END_REPORTED_MPDU_LENGTH_LSB 16 #define RX_MSDU_END_REPORTED_MPDU_LENGTH_MSB 29 #define RX_MSDU_END_REPORTED_MPDU_LENGTH_MASK 0x3fff0000 #define RX_MSDU_END_RESERVED_1A_OFFSET 0x00000004 #define RX_MSDU_END_RESERVED_1A_LSB 30 #define RX_MSDU_END_RESERVED_1A_MSB 31 #define RX_MSDU_END_RESERVED_1A_MASK 0xc0000000 #define RX_MSDU_END_RESERVED_2A_OFFSET 0x00000008 #define RX_MSDU_END_RESERVED_2A_LSB 0 #define RX_MSDU_END_RESERVED_2A_MSB 7 #define RX_MSDU_END_RESERVED_2A_MASK 0x000000ff #define RX_MSDU_END_CCE_SUPER_RULE_OFFSET 0x00000008 #define RX_MSDU_END_CCE_SUPER_RULE_LSB 8 #define RX_MSDU_END_CCE_SUPER_RULE_MSB 13 #define RX_MSDU_END_CCE_SUPER_RULE_MASK 0x00003f00 #define RX_MSDU_END_CCE_CLASSIFY_NOT_DONE_TRUNCATE_OFFSET 0x00000008 #define RX_MSDU_END_CCE_CLASSIFY_NOT_DONE_TRUNCATE_LSB 14 #define RX_MSDU_END_CCE_CLASSIFY_NOT_DONE_TRUNCATE_MSB 14 #define RX_MSDU_END_CCE_CLASSIFY_NOT_DONE_TRUNCATE_MASK 0x00004000 #define RX_MSDU_END_CCE_CLASSIFY_NOT_DONE_CCE_DIS_OFFSET 0x00000008 #define RX_MSDU_END_CCE_CLASSIFY_NOT_DONE_CCE_DIS_LSB 15 #define RX_MSDU_END_CCE_CLASSIFY_NOT_DONE_CCE_DIS_MSB 15 #define RX_MSDU_END_CCE_CLASSIFY_NOT_DONE_CCE_DIS_MASK 0x00008000 #define RX_MSDU_END_CUMULATIVE_L3_CHECKSUM_OFFSET 0x00000008 #define RX_MSDU_END_CUMULATIVE_L3_CHECKSUM_LSB 16 #define RX_MSDU_END_CUMULATIVE_L3_CHECKSUM_MSB 31 #define RX_MSDU_END_CUMULATIVE_L3_CHECKSUM_MASK 0xffff0000 #define RX_MSDU_END_RULE_INDICATION_31_0_OFFSET 0x0000000c #define RX_MSDU_END_RULE_INDICATION_31_0_LSB 0 #define RX_MSDU_END_RULE_INDICATION_31_0_MSB 31 #define RX_MSDU_END_RULE_INDICATION_31_0_MASK 0xffffffff #define RX_MSDU_END_IPV6_OPTIONS_CRC_OFFSET 0x00000010 #define RX_MSDU_END_IPV6_OPTIONS_CRC_LSB 0 #define RX_MSDU_END_IPV6_OPTIONS_CRC_MSB 31 #define RX_MSDU_END_IPV6_OPTIONS_CRC_MASK 0xffffffff #define RX_MSDU_END_DA_OFFSET_OFFSET 0x00000014 #define RX_MSDU_END_DA_OFFSET_LSB 0 #define RX_MSDU_END_DA_OFFSET_MSB 5 #define RX_MSDU_END_DA_OFFSET_MASK 0x0000003f #define RX_MSDU_END_SA_OFFSET_OFFSET 0x00000014 #define RX_MSDU_END_SA_OFFSET_LSB 6 #define RX_MSDU_END_SA_OFFSET_MSB 11 #define RX_MSDU_END_SA_OFFSET_MASK 0x00000fc0 #define RX_MSDU_END_DA_OFFSET_VALID_OFFSET 0x00000014 #define RX_MSDU_END_DA_OFFSET_VALID_LSB 12 #define RX_MSDU_END_DA_OFFSET_VALID_MSB 12 #define RX_MSDU_END_DA_OFFSET_VALID_MASK 0x00001000 #define RX_MSDU_END_SA_OFFSET_VALID_OFFSET 0x00000014 #define RX_MSDU_END_SA_OFFSET_VALID_LSB 13 #define RX_MSDU_END_SA_OFFSET_VALID_MSB 13 #define RX_MSDU_END_SA_OFFSET_VALID_MASK 0x00002000 #define RX_MSDU_END_RESERVED_5A_OFFSET 0x00000014 #define RX_MSDU_END_RESERVED_5A_LSB 14 #define RX_MSDU_END_RESERVED_5A_MSB 15 #define RX_MSDU_END_RESERVED_5A_MASK 0x0000c000 #define RX_MSDU_END_L3_TYPE_OFFSET 0x00000014 #define RX_MSDU_END_L3_TYPE_LSB 16 #define RX_MSDU_END_L3_TYPE_MSB 31 #define RX_MSDU_END_L3_TYPE_MASK 0xffff0000 #define RX_MSDU_END_RULE_INDICATION_63_32_OFFSET 0x00000018 #define RX_MSDU_END_RULE_INDICATION_63_32_LSB 0 #define RX_MSDU_END_RULE_INDICATION_63_32_MSB 31 #define RX_MSDU_END_RULE_INDICATION_63_32_MASK 0xffffffff #define RX_MSDU_END_TCP_SEQ_NUMBER_OFFSET 0x0000001c #define RX_MSDU_END_TCP_SEQ_NUMBER_LSB 0 #define RX_MSDU_END_TCP_SEQ_NUMBER_MSB 31 #define RX_MSDU_END_TCP_SEQ_NUMBER_MASK 0xffffffff #define RX_MSDU_END_TCP_ACK_NUMBER_OFFSET 0x00000020 #define RX_MSDU_END_TCP_ACK_NUMBER_LSB 0 #define RX_MSDU_END_TCP_ACK_NUMBER_MSB 31 #define RX_MSDU_END_TCP_ACK_NUMBER_MASK 0xffffffff #define RX_MSDU_END_TCP_FLAG_OFFSET 0x00000024 #define RX_MSDU_END_TCP_FLAG_LSB 0 #define RX_MSDU_END_TCP_FLAG_MSB 8 #define RX_MSDU_END_TCP_FLAG_MASK 0x000001ff #define RX_MSDU_END_LRO_ELIGIBLE_OFFSET 0x00000024 #define RX_MSDU_END_LRO_ELIGIBLE_LSB 9 #define RX_MSDU_END_LRO_ELIGIBLE_MSB 9 #define RX_MSDU_END_LRO_ELIGIBLE_MASK 0x00000200 #define RX_MSDU_END_RESERVED_9A_OFFSET 0x00000024 #define RX_MSDU_END_RESERVED_9A_LSB 10 #define RX_MSDU_END_RESERVED_9A_MSB 15 #define RX_MSDU_END_RESERVED_9A_MASK 0x0000fc00 #define RX_MSDU_END_WINDOW_SIZE_OFFSET 0x00000024 #define RX_MSDU_END_WINDOW_SIZE_LSB 16 #define RX_MSDU_END_WINDOW_SIZE_MSB 31 #define RX_MSDU_END_WINDOW_SIZE_MASK 0xffff0000 #define RX_MSDU_END_SA_SW_PEER_ID_OFFSET 0x00000028 #define RX_MSDU_END_SA_SW_PEER_ID_LSB 0 #define RX_MSDU_END_SA_SW_PEER_ID_MSB 15 #define RX_MSDU_END_SA_SW_PEER_ID_MASK 0x0000ffff #define RX_MSDU_END_SA_IDX_TIMEOUT_OFFSET 0x00000028 #define RX_MSDU_END_SA_IDX_TIMEOUT_LSB 16 #define RX_MSDU_END_SA_IDX_TIMEOUT_MSB 16 #define RX_MSDU_END_SA_IDX_TIMEOUT_MASK 0x00010000 #define RX_MSDU_END_DA_IDX_TIMEOUT_OFFSET 0x00000028 #define RX_MSDU_END_DA_IDX_TIMEOUT_LSB 17 #define RX_MSDU_END_DA_IDX_TIMEOUT_MSB 17 #define RX_MSDU_END_DA_IDX_TIMEOUT_MASK 0x00020000 #define RX_MSDU_END_TO_DS_OFFSET 0x00000028 #define RX_MSDU_END_TO_DS_LSB 18 #define RX_MSDU_END_TO_DS_MSB 18 #define RX_MSDU_END_TO_DS_MASK 0x00040000 #define RX_MSDU_END_TID_OFFSET 0x00000028 #define RX_MSDU_END_TID_LSB 19 #define RX_MSDU_END_TID_MSB 22 #define RX_MSDU_END_TID_MASK 0x00780000 #define RX_MSDU_END_SA_IS_VALID_OFFSET 0x00000028 #define RX_MSDU_END_SA_IS_VALID_LSB 23 #define RX_MSDU_END_SA_IS_VALID_MSB 23 #define RX_MSDU_END_SA_IS_VALID_MASK 0x00800000 #define RX_MSDU_END_DA_IS_VALID_OFFSET 0x00000028 #define RX_MSDU_END_DA_IS_VALID_LSB 24 #define RX_MSDU_END_DA_IS_VALID_MSB 24 #define RX_MSDU_END_DA_IS_VALID_MASK 0x01000000 #define RX_MSDU_END_DA_IS_MCBC_OFFSET 0x00000028 #define RX_MSDU_END_DA_IS_MCBC_LSB 25 #define RX_MSDU_END_DA_IS_MCBC_MSB 25 #define RX_MSDU_END_DA_IS_MCBC_MASK 0x02000000 #define RX_MSDU_END_L3_HEADER_PADDING_OFFSET 0x00000028 #define RX_MSDU_END_L3_HEADER_PADDING_LSB 26 #define RX_MSDU_END_L3_HEADER_PADDING_MSB 27 #define RX_MSDU_END_L3_HEADER_PADDING_MASK 0x0c000000 #define RX_MSDU_END_FIRST_MSDU_OFFSET 0x00000028 #define RX_MSDU_END_FIRST_MSDU_LSB 28 #define RX_MSDU_END_FIRST_MSDU_MSB 28 #define RX_MSDU_END_FIRST_MSDU_MASK 0x10000000 #define RX_MSDU_END_LAST_MSDU_OFFSET 0x00000028 #define RX_MSDU_END_LAST_MSDU_LSB 29 #define RX_MSDU_END_LAST_MSDU_MSB 29 #define RX_MSDU_END_LAST_MSDU_MASK 0x20000000 #define RX_MSDU_END_FR_DS_OFFSET 0x00000028 #define RX_MSDU_END_FR_DS_LSB 30 #define RX_MSDU_END_FR_DS_MSB 30 #define RX_MSDU_END_FR_DS_MASK 0x40000000 #define RX_MSDU_END_IP_CHKSUM_FAIL_COPY_OFFSET 0x00000028 #define RX_MSDU_END_IP_CHKSUM_FAIL_COPY_LSB 31 #define RX_MSDU_END_IP_CHKSUM_FAIL_COPY_MSB 31 #define RX_MSDU_END_IP_CHKSUM_FAIL_COPY_MASK 0x80000000 #define RX_MSDU_END_SA_IDX_OFFSET 0x0000002c #define RX_MSDU_END_SA_IDX_LSB 0 #define RX_MSDU_END_SA_IDX_MSB 15 #define RX_MSDU_END_SA_IDX_MASK 0x0000ffff #define RX_MSDU_END_DA_IDX_OR_SW_PEER_ID_OFFSET 0x0000002c #define RX_MSDU_END_DA_IDX_OR_SW_PEER_ID_LSB 16 #define RX_MSDU_END_DA_IDX_OR_SW_PEER_ID_MSB 31 #define RX_MSDU_END_DA_IDX_OR_SW_PEER_ID_MASK 0xffff0000 #define RX_MSDU_END_MSDU_DROP_OFFSET 0x00000030 #define RX_MSDU_END_MSDU_DROP_LSB 0 #define RX_MSDU_END_MSDU_DROP_MSB 0 #define RX_MSDU_END_MSDU_DROP_MASK 0x00000001 #define RX_MSDU_END_REO_DESTINATION_INDICATION_OFFSET 0x00000030 #define RX_MSDU_END_REO_DESTINATION_INDICATION_LSB 1 #define RX_MSDU_END_REO_DESTINATION_INDICATION_MSB 5 #define RX_MSDU_END_REO_DESTINATION_INDICATION_MASK 0x0000003e #define RX_MSDU_END_FLOW_IDX_OFFSET 0x00000030 #define RX_MSDU_END_FLOW_IDX_LSB 6 #define RX_MSDU_END_FLOW_IDX_MSB 25 #define RX_MSDU_END_FLOW_IDX_MASK 0x03ffffc0 #define RX_MSDU_END_USE_PPE_OFFSET 0x00000030 #define RX_MSDU_END_USE_PPE_LSB 26 #define RX_MSDU_END_USE_PPE_MSB 26 #define RX_MSDU_END_USE_PPE_MASK 0x04000000 #define RX_MSDU_END_VLAN_CTAG_STRIPPED_OFFSET 0x00000030 #define RX_MSDU_END_VLAN_CTAG_STRIPPED_LSB 29 #define RX_MSDU_END_VLAN_CTAG_STRIPPED_MSB 29 #define RX_MSDU_END_VLAN_CTAG_STRIPPED_MASK 0x20000000 #define RX_MSDU_END_VLAN_STAG_STRIPPED_OFFSET 0x00000030 #define RX_MSDU_END_VLAN_STAG_STRIPPED_LSB 30 #define RX_MSDU_END_VLAN_STAG_STRIPPED_MSB 30 #define RX_MSDU_END_VLAN_STAG_STRIPPED_MASK 0x40000000 #define RX_MSDU_END_FRAGMENT_FLAG_OFFSET 0x00000030 #define RX_MSDU_END_FRAGMENT_FLAG_LSB 31 #define RX_MSDU_END_FRAGMENT_FLAG_MSB 31 #define RX_MSDU_END_FRAGMENT_FLAG_MASK 0x80000000 #define RX_MSDU_END_FSE_METADATA_OFFSET 0x00000034 #define RX_MSDU_END_FSE_METADATA_LSB 0 #define RX_MSDU_END_FSE_METADATA_MSB 31 #define RX_MSDU_END_FSE_METADATA_MASK 0xffffffff #define RX_MSDU_END_CCE_METADATA_OFFSET 0x00000038 #define RX_MSDU_END_CCE_METADATA_LSB 0 #define RX_MSDU_END_CCE_METADATA_MSB 15 #define RX_MSDU_END_CCE_METADATA_MASK 0x0000ffff #define RX_MSDU_END_TCP_UDP_CHKSUM_OFFSET 0x00000038 #define RX_MSDU_END_TCP_UDP_CHKSUM_LSB 16 #define RX_MSDU_END_TCP_UDP_CHKSUM_MSB 31 #define RX_MSDU_END_TCP_UDP_CHKSUM_MASK 0xffff0000 #define RX_MSDU_END_AGGREGATION_COUNT_OFFSET 0x0000003c #define RX_MSDU_END_AGGREGATION_COUNT_LSB 0 #define RX_MSDU_END_AGGREGATION_COUNT_MSB 7 #define RX_MSDU_END_AGGREGATION_COUNT_MASK 0x000000ff #define RX_MSDU_END_FLOW_AGGREGATION_CONTINUATION_OFFSET 0x0000003c #define RX_MSDU_END_FLOW_AGGREGATION_CONTINUATION_LSB 8 #define RX_MSDU_END_FLOW_AGGREGATION_CONTINUATION_MSB 8 #define RX_MSDU_END_FLOW_AGGREGATION_CONTINUATION_MASK 0x00000100 #define RX_MSDU_END_FISA_TIMEOUT_OFFSET 0x0000003c #define RX_MSDU_END_FISA_TIMEOUT_LSB 9 #define RX_MSDU_END_FISA_TIMEOUT_MSB 9 #define RX_MSDU_END_FISA_TIMEOUT_MASK 0x00000200 #define RX_MSDU_END_TCP_UDP_CHKSUM_FAIL_COPY_OFFSET 0x0000003c #define RX_MSDU_END_TCP_UDP_CHKSUM_FAIL_COPY_LSB 10 #define RX_MSDU_END_TCP_UDP_CHKSUM_FAIL_COPY_MSB 10 #define RX_MSDU_END_TCP_UDP_CHKSUM_FAIL_COPY_MASK 0x00000400 #define RX_MSDU_END_MSDU_LIMIT_ERROR_OFFSET 0x0000003c #define RX_MSDU_END_MSDU_LIMIT_ERROR_LSB 11 #define RX_MSDU_END_MSDU_LIMIT_ERROR_MSB 11 #define RX_MSDU_END_MSDU_LIMIT_ERROR_MASK 0x00000800 #define RX_MSDU_END_FLOW_IDX_TIMEOUT_OFFSET 0x0000003c #define RX_MSDU_END_FLOW_IDX_TIMEOUT_LSB 12 #define RX_MSDU_END_FLOW_IDX_TIMEOUT_MSB 12 #define RX_MSDU_END_FLOW_IDX_TIMEOUT_MASK 0x00001000 #define RX_MSDU_END_FLOW_IDX_INVALID_OFFSET 0x0000003c #define RX_MSDU_END_FLOW_IDX_INVALID_LSB 13 #define RX_MSDU_END_FLOW_IDX_INVALID_MSB 13 #define RX_MSDU_END_FLOW_IDX_INVALID_MASK 0x00002000 #define RX_MSDU_END_CCE_MATCH_OFFSET 0x0000003c #define RX_MSDU_END_CCE_MATCH_LSB 14 #define RX_MSDU_END_CCE_MATCH_MSB 14 #define RX_MSDU_END_CCE_MATCH_MASK 0x00004000 #define RX_MSDU_END_AMSDU_PARSER_ERROR_OFFSET 0x0000003c #define RX_MSDU_END_AMSDU_PARSER_ERROR_LSB 15 #define RX_MSDU_END_AMSDU_PARSER_ERROR_MSB 15 #define RX_MSDU_END_AMSDU_PARSER_ERROR_MASK 0x00008000 #define RX_MSDU_END_CUMULATIVE_IP_LENGTH_OFFSET 0x0000003c #define RX_MSDU_END_CUMULATIVE_IP_LENGTH_LSB 16 #define RX_MSDU_END_CUMULATIVE_IP_LENGTH_MSB 31 #define RX_MSDU_END_CUMULATIVE_IP_LENGTH_MASK 0xffff0000 #define RX_MSDU_END_KEY_ID_OCTET_OFFSET 0x00000040 #define RX_MSDU_END_KEY_ID_OCTET_LSB 0 #define RX_MSDU_END_KEY_ID_OCTET_MSB 7 #define RX_MSDU_END_KEY_ID_OCTET_MASK 0x000000ff #define RX_MSDU_END_RESERVED_16A_OFFSET 0x00000040 #define RX_MSDU_END_RESERVED_16A_LSB 8 #define RX_MSDU_END_RESERVED_16A_MSB 31 #define RX_MSDU_END_RESERVED_16A_MASK 0xffffff00 #define RX_MSDU_END_RESERVED_17A_OFFSET 0x00000044 #define RX_MSDU_END_RESERVED_17A_LSB 0 #define RX_MSDU_END_RESERVED_17A_MSB 5 #define RX_MSDU_END_RESERVED_17A_MASK 0x0000003f #define RX_MSDU_END_SERVICE_CODE_OFFSET 0x00000044 #define RX_MSDU_END_SERVICE_CODE_LSB 6 #define RX_MSDU_END_SERVICE_CODE_MSB 14 #define RX_MSDU_END_SERVICE_CODE_MASK 0x00007fc0 #define RX_MSDU_END_PRIORITY_VALID_OFFSET 0x00000044 #define RX_MSDU_END_PRIORITY_VALID_LSB 15 #define RX_MSDU_END_PRIORITY_VALID_MSB 15 #define RX_MSDU_END_PRIORITY_VALID_MASK 0x00008000 #define RX_MSDU_END_INTRA_BSS_OFFSET 0x00000044 #define RX_MSDU_END_INTRA_BSS_LSB 16 #define RX_MSDU_END_INTRA_BSS_MSB 16 #define RX_MSDU_END_INTRA_BSS_MASK 0x00010000 #define RX_MSDU_END_DEST_CHIP_ID_OFFSET 0x00000044 #define RX_MSDU_END_DEST_CHIP_ID_LSB 17 #define RX_MSDU_END_DEST_CHIP_ID_MSB 18 #define RX_MSDU_END_DEST_CHIP_ID_MASK 0x00060000 #define RX_MSDU_END_MULTICAST_ECHO_OFFSET 0x00000044 #define RX_MSDU_END_MULTICAST_ECHO_LSB 19 #define RX_MSDU_END_MULTICAST_ECHO_MSB 19 #define RX_MSDU_END_MULTICAST_ECHO_MASK 0x00080000 #define RX_MSDU_END_WDS_LEARNING_EVENT_OFFSET 0x00000044 #define RX_MSDU_END_WDS_LEARNING_EVENT_LSB 20 #define RX_MSDU_END_WDS_LEARNING_EVENT_MSB 20 #define RX_MSDU_END_WDS_LEARNING_EVENT_MASK 0x00100000 #define RX_MSDU_END_WDS_ROAMING_EVENT_OFFSET 0x00000044 #define RX_MSDU_END_WDS_ROAMING_EVENT_LSB 21 #define RX_MSDU_END_WDS_ROAMING_EVENT_MSB 21 #define RX_MSDU_END_WDS_ROAMING_EVENT_MASK 0x00200000 #define RX_MSDU_END_WDS_KEEP_ALIVE_EVENT_OFFSET 0x00000044 #define RX_MSDU_END_WDS_KEEP_ALIVE_EVENT_LSB 22 #define RX_MSDU_END_WDS_KEEP_ALIVE_EVENT_MSB 22 #define RX_MSDU_END_WDS_KEEP_ALIVE_EVENT_MASK 0x00400000 #define RX_MSDU_END_RESERVED_17B_OFFSET 0x00000044 #define RX_MSDU_END_RESERVED_17B_LSB 24 #define RX_MSDU_END_RESERVED_17B_MSB 31 #define RX_MSDU_END_RESERVED_17B_MASK 0xff000000 #define RX_MSDU_END_MSDU_LENGTH_OFFSET 0x00000048 #define RX_MSDU_END_MSDU_LENGTH_LSB 0 #define RX_MSDU_END_MSDU_LENGTH_MSB 13 #define RX_MSDU_END_MSDU_LENGTH_MASK 0x00003fff #define RX_MSDU_END_STBC_OFFSET 0x00000048 #define RX_MSDU_END_STBC_LSB 14 #define RX_MSDU_END_STBC_MSB 14 #define RX_MSDU_END_STBC_MASK 0x00004000 #define RX_MSDU_END_IPSEC_ESP_OFFSET 0x00000048 #define RX_MSDU_END_IPSEC_ESP_LSB 15 #define RX_MSDU_END_IPSEC_ESP_MSB 15 #define RX_MSDU_END_IPSEC_ESP_MASK 0x00008000 #define RX_MSDU_END_L3_OFFSET_OFFSET 0x00000048 #define RX_MSDU_END_L3_OFFSET_LSB 16 #define RX_MSDU_END_L3_OFFSET_MSB 22 #define RX_MSDU_END_L3_OFFSET_MASK 0x007f0000 #define RX_MSDU_END_IPSEC_AH_OFFSET 0x00000048 #define RX_MSDU_END_IPSEC_AH_LSB 23 #define RX_MSDU_END_IPSEC_AH_MSB 23 #define RX_MSDU_END_IPSEC_AH_MASK 0x00800000 #define RX_MSDU_END_L4_OFFSET_OFFSET 0x00000048 #define RX_MSDU_END_L4_OFFSET_LSB 24 #define RX_MSDU_END_L4_OFFSET_MSB 31 #define RX_MSDU_END_L4_OFFSET_MASK 0xff000000 #define RX_MSDU_END_MSDU_NUMBER_OFFSET 0x0000004c #define RX_MSDU_END_MSDU_NUMBER_LSB 0 #define RX_MSDU_END_MSDU_NUMBER_MSB 7 #define RX_MSDU_END_MSDU_NUMBER_MASK 0x000000ff #define RX_MSDU_END_DECAP_FORMAT_OFFSET 0x0000004c #define RX_MSDU_END_DECAP_FORMAT_LSB 8 #define RX_MSDU_END_DECAP_FORMAT_MSB 9 #define RX_MSDU_END_DECAP_FORMAT_MASK 0x00000300 #define RX_MSDU_END_IPV4_PROTO_OFFSET 0x0000004c #define RX_MSDU_END_IPV4_PROTO_LSB 10 #define RX_MSDU_END_IPV4_PROTO_MSB 10 #define RX_MSDU_END_IPV4_PROTO_MASK 0x00000400 #define RX_MSDU_END_IPV6_PROTO_OFFSET 0x0000004c #define RX_MSDU_END_IPV6_PROTO_LSB 11 #define RX_MSDU_END_IPV6_PROTO_MSB 11 #define RX_MSDU_END_IPV6_PROTO_MASK 0x00000800 #define RX_MSDU_END_TCP_PROTO_OFFSET 0x0000004c #define RX_MSDU_END_TCP_PROTO_LSB 12 #define RX_MSDU_END_TCP_PROTO_MSB 12 #define RX_MSDU_END_TCP_PROTO_MASK 0x00001000 #define RX_MSDU_END_UDP_PROTO_OFFSET 0x0000004c #define RX_MSDU_END_UDP_PROTO_LSB 13 #define RX_MSDU_END_UDP_PROTO_MSB 13 #define RX_MSDU_END_UDP_PROTO_MASK 0x00002000 #define RX_MSDU_END_IP_FRAG_OFFSET 0x0000004c #define RX_MSDU_END_IP_FRAG_LSB 14 #define RX_MSDU_END_IP_FRAG_MSB 14 #define RX_MSDU_END_IP_FRAG_MASK 0x00004000 #define RX_MSDU_END_TCP_ONLY_ACK_OFFSET 0x0000004c #define RX_MSDU_END_TCP_ONLY_ACK_LSB 15 #define RX_MSDU_END_TCP_ONLY_ACK_MSB 15 #define RX_MSDU_END_TCP_ONLY_ACK_MASK 0x00008000 #define RX_MSDU_END_DA_IS_BCAST_MCAST_OFFSET 0x0000004c #define RX_MSDU_END_DA_IS_BCAST_MCAST_LSB 16 #define RX_MSDU_END_DA_IS_BCAST_MCAST_MSB 16 #define RX_MSDU_END_DA_IS_BCAST_MCAST_MASK 0x00010000 #define RX_MSDU_END_TOEPLITZ_HASH_SEL_OFFSET 0x0000004c #define RX_MSDU_END_TOEPLITZ_HASH_SEL_LSB 17 #define RX_MSDU_END_TOEPLITZ_HASH_SEL_MSB 18 #define RX_MSDU_END_TOEPLITZ_HASH_SEL_MASK 0x00060000 #define RX_MSDU_END_IP_FIXED_HEADER_VALID_OFFSET 0x0000004c #define RX_MSDU_END_IP_FIXED_HEADER_VALID_LSB 19 #define RX_MSDU_END_IP_FIXED_HEADER_VALID_MSB 19 #define RX_MSDU_END_IP_FIXED_HEADER_VALID_MASK 0x00080000 #define RX_MSDU_END_IP_EXTN_HEADER_VALID_OFFSET 0x0000004c #define RX_MSDU_END_IP_EXTN_HEADER_VALID_LSB 20 #define RX_MSDU_END_IP_EXTN_HEADER_VALID_MSB 20 #define RX_MSDU_END_IP_EXTN_HEADER_VALID_MASK 0x00100000 #define RX_MSDU_END_TCP_UDP_HEADER_VALID_OFFSET 0x0000004c #define RX_MSDU_END_TCP_UDP_HEADER_VALID_LSB 21 #define RX_MSDU_END_TCP_UDP_HEADER_VALID_MSB 21 #define RX_MSDU_END_TCP_UDP_HEADER_VALID_MASK 0x00200000 #define RX_MSDU_END_MESH_CONTROL_PRESENT_OFFSET 0x0000004c #define RX_MSDU_END_MESH_CONTROL_PRESENT_LSB 22 #define RX_MSDU_END_MESH_CONTROL_PRESENT_MSB 22 #define RX_MSDU_END_MESH_CONTROL_PRESENT_MASK 0x00400000 #define RX_MSDU_END_LDPC_OFFSET 0x0000004c #define RX_MSDU_END_LDPC_LSB 23 #define RX_MSDU_END_LDPC_MSB 23 #define RX_MSDU_END_LDPC_MASK 0x00800000 #define RX_MSDU_END_IP4_PROTOCOL_IP6_NEXT_HEADER_OFFSET 0x0000004c #define RX_MSDU_END_IP4_PROTOCOL_IP6_NEXT_HEADER_LSB 24 #define RX_MSDU_END_IP4_PROTOCOL_IP6_NEXT_HEADER_MSB 31 #define RX_MSDU_END_IP4_PROTOCOL_IP6_NEXT_HEADER_MASK 0xff000000 #define RX_MSDU_END_VLAN_CTAG_CI_OFFSET 0x00000050 #define RX_MSDU_END_VLAN_CTAG_CI_LSB 0 #define RX_MSDU_END_VLAN_CTAG_CI_MSB 15 #define RX_MSDU_END_VLAN_CTAG_CI_MASK 0x0000ffff #define RX_MSDU_END_VLAN_STAG_CI_OFFSET 0x00000050 #define RX_MSDU_END_VLAN_STAG_CI_LSB 16 #define RX_MSDU_END_VLAN_STAG_CI_MSB 31 #define RX_MSDU_END_VLAN_STAG_CI_MASK 0xffff0000 #define RX_MSDU_END_PEER_META_DATA_OFFSET 0x00000054 #define RX_MSDU_END_PEER_META_DATA_LSB 0 #define RX_MSDU_END_PEER_META_DATA_MSB 31 #define RX_MSDU_END_PEER_META_DATA_MASK 0xffffffff #define RX_MSDU_END_USER_RSSI_OFFSET 0x00000058 #define RX_MSDU_END_USER_RSSI_LSB 0 #define RX_MSDU_END_USER_RSSI_MSB 7 #define RX_MSDU_END_USER_RSSI_MASK 0x000000ff #define RX_MSDU_END_PKT_TYPE_OFFSET 0x00000058 #define RX_MSDU_END_PKT_TYPE_LSB 8 #define RX_MSDU_END_PKT_TYPE_MSB 11 #define RX_MSDU_END_PKT_TYPE_MASK 0x00000f00 #define RX_MSDU_END_SGI_OFFSET 0x00000058 #define RX_MSDU_END_SGI_LSB 12 #define RX_MSDU_END_SGI_MSB 13 #define RX_MSDU_END_SGI_MASK 0x00003000 #define RX_MSDU_END_RATE_MCS_OFFSET 0x00000058 #define RX_MSDU_END_RATE_MCS_LSB 14 #define RX_MSDU_END_RATE_MCS_MSB 17 #define RX_MSDU_END_RATE_MCS_MASK 0x0003c000 #define RX_MSDU_END_RECEIVE_BANDWIDTH_OFFSET 0x00000058 #define RX_MSDU_END_RECEIVE_BANDWIDTH_LSB 18 #define RX_MSDU_END_RECEIVE_BANDWIDTH_MSB 20 #define RX_MSDU_END_RECEIVE_BANDWIDTH_MASK 0x001c0000 #define RX_MSDU_END_RECEPTION_TYPE_OFFSET 0x00000058 #define RX_MSDU_END_RECEPTION_TYPE_LSB 21 #define RX_MSDU_END_RECEPTION_TYPE_MSB 23 #define RX_MSDU_END_RECEPTION_TYPE_MASK 0x00e00000 #define RX_MSDU_END_MIMO_SS_BITMAP_OFFSET 0x00000058 #define RX_MSDU_END_MIMO_SS_BITMAP_LSB 24 #define RX_MSDU_END_MIMO_SS_BITMAP_MSB 30 #define RX_MSDU_END_MIMO_SS_BITMAP_MASK 0x7f000000 #define RX_MSDU_END_MSDU_DONE_COPY_OFFSET 0x00000058 #define RX_MSDU_END_MSDU_DONE_COPY_LSB 31 #define RX_MSDU_END_MSDU_DONE_COPY_MSB 31 #define RX_MSDU_END_MSDU_DONE_COPY_MASK 0x80000000 #define RX_MSDU_END_FLOW_ID_TOEPLITZ_OFFSET 0x0000005c #define RX_MSDU_END_FLOW_ID_TOEPLITZ_LSB 0 #define RX_MSDU_END_FLOW_ID_TOEPLITZ_MSB 31 #define RX_MSDU_END_FLOW_ID_TOEPLITZ_MASK 0xffffffff #define RX_MSDU_END_PPDU_START_TIMESTAMP_63_32_OFFSET 0x00000060 #define RX_MSDU_END_PPDU_START_TIMESTAMP_63_32_LSB 0 #define RX_MSDU_END_PPDU_START_TIMESTAMP_63_32_MSB 31 #define RX_MSDU_END_PPDU_START_TIMESTAMP_63_32_MASK 0xffffffff #define RX_MSDU_END_SW_PHY_META_DATA_OFFSET 0x00000064 #define RX_MSDU_END_SW_PHY_META_DATA_LSB 0 #define RX_MSDU_END_SW_PHY_META_DATA_MSB 31 #define RX_MSDU_END_SW_PHY_META_DATA_MASK 0xffffffff #define RX_MSDU_END_PPDU_START_TIMESTAMP_31_0_OFFSET 0x00000068 #define RX_MSDU_END_PPDU_START_TIMESTAMP_31_0_LSB 0 #define RX_MSDU_END_PPDU_START_TIMESTAMP_31_0_MSB 31 #define RX_MSDU_END_PPDU_START_TIMESTAMP_31_0_MASK 0xffffffff #define RX_MSDU_END_TOEPLITZ_HASH_2_OR_4_OFFSET 0x0000006c #define RX_MSDU_END_TOEPLITZ_HASH_2_OR_4_LSB 0 #define RX_MSDU_END_TOEPLITZ_HASH_2_OR_4_MSB 31 #define RX_MSDU_END_TOEPLITZ_HASH_2_OR_4_MASK 0xffffffff #define RX_MSDU_END_RESERVED_28A_OFFSET 0x00000070 #define RX_MSDU_END_RESERVED_28A_LSB 0 #define RX_MSDU_END_RESERVED_28A_MSB 15 #define RX_MSDU_END_RESERVED_28A_MASK 0x0000ffff #define RX_MSDU_END_SA_15_0_OFFSET 0x00000070 #define RX_MSDU_END_SA_15_0_LSB 16 #define RX_MSDU_END_SA_15_0_MSB 31 #define RX_MSDU_END_SA_15_0_MASK 0xffff0000 #define RX_MSDU_END_SA_47_16_OFFSET 0x00000074 #define RX_MSDU_END_SA_47_16_LSB 0 #define RX_MSDU_END_SA_47_16_MSB 31 #define RX_MSDU_END_SA_47_16_MASK 0xffffffff #define RX_MSDU_END_FIRST_MPDU_OFFSET 0x00000078 #define RX_MSDU_END_FIRST_MPDU_LSB 0 #define RX_MSDU_END_FIRST_MPDU_MSB 0 #define RX_MSDU_END_FIRST_MPDU_MASK 0x00000001 #define RX_MSDU_END_RESERVED_30A_OFFSET 0x00000078 #define RX_MSDU_END_RESERVED_30A_LSB 1 #define RX_MSDU_END_RESERVED_30A_MSB 1 #define RX_MSDU_END_RESERVED_30A_MASK 0x00000002 #define RX_MSDU_END_MCAST_BCAST_OFFSET 0x00000078 #define RX_MSDU_END_MCAST_BCAST_LSB 2 #define RX_MSDU_END_MCAST_BCAST_MSB 2 #define RX_MSDU_END_MCAST_BCAST_MASK 0x00000004 #define RX_MSDU_END_AST_INDEX_NOT_FOUND_OFFSET 0x00000078 #define RX_MSDU_END_AST_INDEX_NOT_FOUND_LSB 3 #define RX_MSDU_END_AST_INDEX_NOT_FOUND_MSB 3 #define RX_MSDU_END_AST_INDEX_NOT_FOUND_MASK 0x00000008 #define RX_MSDU_END_AST_INDEX_TIMEOUT_OFFSET 0x00000078 #define RX_MSDU_END_AST_INDEX_TIMEOUT_LSB 4 #define RX_MSDU_END_AST_INDEX_TIMEOUT_MSB 4 #define RX_MSDU_END_AST_INDEX_TIMEOUT_MASK 0x00000010 #define RX_MSDU_END_POWER_MGMT_OFFSET 0x00000078 #define RX_MSDU_END_POWER_MGMT_LSB 5 #define RX_MSDU_END_POWER_MGMT_MSB 5 #define RX_MSDU_END_POWER_MGMT_MASK 0x00000020 #define RX_MSDU_END_NON_QOS_OFFSET 0x00000078 #define RX_MSDU_END_NON_QOS_LSB 6 #define RX_MSDU_END_NON_QOS_MSB 6 #define RX_MSDU_END_NON_QOS_MASK 0x00000040 #define RX_MSDU_END_NULL_DATA_OFFSET 0x00000078 #define RX_MSDU_END_NULL_DATA_LSB 7 #define RX_MSDU_END_NULL_DATA_MSB 7 #define RX_MSDU_END_NULL_DATA_MASK 0x00000080 #define RX_MSDU_END_MGMT_TYPE_OFFSET 0x00000078 #define RX_MSDU_END_MGMT_TYPE_LSB 8 #define RX_MSDU_END_MGMT_TYPE_MSB 8 #define RX_MSDU_END_MGMT_TYPE_MASK 0x00000100 #define RX_MSDU_END_CTRL_TYPE_OFFSET 0x00000078 #define RX_MSDU_END_CTRL_TYPE_LSB 9 #define RX_MSDU_END_CTRL_TYPE_MSB 9 #define RX_MSDU_END_CTRL_TYPE_MASK 0x00000200 #define RX_MSDU_END_MORE_DATA_OFFSET 0x00000078 #define RX_MSDU_END_MORE_DATA_LSB 10 #define RX_MSDU_END_MORE_DATA_MSB 10 #define RX_MSDU_END_MORE_DATA_MASK 0x00000400 #define RX_MSDU_END_EOSP_OFFSET 0x00000078 #define RX_MSDU_END_EOSP_LSB 11 #define RX_MSDU_END_EOSP_MSB 11 #define RX_MSDU_END_EOSP_MASK 0x00000800 #define RX_MSDU_END_A_MSDU_ERROR_OFFSET 0x00000078 #define RX_MSDU_END_A_MSDU_ERROR_LSB 12 #define RX_MSDU_END_A_MSDU_ERROR_MSB 12 #define RX_MSDU_END_A_MSDU_ERROR_MASK 0x00001000 #define RX_MSDU_END_RESERVED_30B_OFFSET 0x00000078 #define RX_MSDU_END_RESERVED_30B_LSB 13 #define RX_MSDU_END_RESERVED_30B_MSB 13 #define RX_MSDU_END_RESERVED_30B_MASK 0x00002000 #define RX_MSDU_END_ORDER_OFFSET 0x00000078 #define RX_MSDU_END_ORDER_LSB 14 #define RX_MSDU_END_ORDER_MSB 14 #define RX_MSDU_END_ORDER_MASK 0x00004000 #define RX_MSDU_END_WIFI_PARSER_ERROR_OFFSET 0x00000078 #define RX_MSDU_END_WIFI_PARSER_ERROR_LSB 15 #define RX_MSDU_END_WIFI_PARSER_ERROR_MSB 15 #define RX_MSDU_END_WIFI_PARSER_ERROR_MASK 0x00008000 #define RX_MSDU_END_OVERFLOW_ERR_OFFSET 0x00000078 #define RX_MSDU_END_OVERFLOW_ERR_LSB 16 #define RX_MSDU_END_OVERFLOW_ERR_MSB 16 #define RX_MSDU_END_OVERFLOW_ERR_MASK 0x00010000 #define RX_MSDU_END_MSDU_LENGTH_ERR_OFFSET 0x00000078 #define RX_MSDU_END_MSDU_LENGTH_ERR_LSB 17 #define RX_MSDU_END_MSDU_LENGTH_ERR_MSB 17 #define RX_MSDU_END_MSDU_LENGTH_ERR_MASK 0x00020000 #define RX_MSDU_END_TCP_UDP_CHKSUM_FAIL_OFFSET 0x00000078 #define RX_MSDU_END_TCP_UDP_CHKSUM_FAIL_LSB 18 #define RX_MSDU_END_TCP_UDP_CHKSUM_FAIL_MSB 18 #define RX_MSDU_END_TCP_UDP_CHKSUM_FAIL_MASK 0x00040000 #define RX_MSDU_END_IP_CHKSUM_FAIL_OFFSET 0x00000078 #define RX_MSDU_END_IP_CHKSUM_FAIL_LSB 19 #define RX_MSDU_END_IP_CHKSUM_FAIL_MSB 19 #define RX_MSDU_END_IP_CHKSUM_FAIL_MASK 0x00080000 #define RX_MSDU_END_SA_IDX_INVALID_OFFSET 0x00000078 #define RX_MSDU_END_SA_IDX_INVALID_LSB 20 #define RX_MSDU_END_SA_IDX_INVALID_MSB 20 #define RX_MSDU_END_SA_IDX_INVALID_MASK 0x00100000 #define RX_MSDU_END_DA_IDX_INVALID_OFFSET 0x00000078 #define RX_MSDU_END_DA_IDX_INVALID_LSB 21 #define RX_MSDU_END_DA_IDX_INVALID_MSB 21 #define RX_MSDU_END_DA_IDX_INVALID_MASK 0x00200000 #define RX_MSDU_END_AMSDU_ADDR_MISMATCH_OFFSET 0x00000078 #define RX_MSDU_END_AMSDU_ADDR_MISMATCH_LSB 22 #define RX_MSDU_END_AMSDU_ADDR_MISMATCH_MSB 22 #define RX_MSDU_END_AMSDU_ADDR_MISMATCH_MASK 0x00400000 #define RX_MSDU_END_RX_IN_TX_DECRYPT_BYP_OFFSET 0x00000078 #define RX_MSDU_END_RX_IN_TX_DECRYPT_BYP_LSB 23 #define RX_MSDU_END_RX_IN_TX_DECRYPT_BYP_MSB 23 #define RX_MSDU_END_RX_IN_TX_DECRYPT_BYP_MASK 0x00800000 #define RX_MSDU_END_ENCRYPT_REQUIRED_OFFSET 0x00000078 #define RX_MSDU_END_ENCRYPT_REQUIRED_LSB 24 #define RX_MSDU_END_ENCRYPT_REQUIRED_MSB 24 #define RX_MSDU_END_ENCRYPT_REQUIRED_MASK 0x01000000 #define RX_MSDU_END_DIRECTED_OFFSET 0x00000078 #define RX_MSDU_END_DIRECTED_LSB 25 #define RX_MSDU_END_DIRECTED_MSB 25 #define RX_MSDU_END_DIRECTED_MASK 0x02000000 #define RX_MSDU_END_BUFFER_FRAGMENT_OFFSET 0x00000078 #define RX_MSDU_END_BUFFER_FRAGMENT_LSB 26 #define RX_MSDU_END_BUFFER_FRAGMENT_MSB 26 #define RX_MSDU_END_BUFFER_FRAGMENT_MASK 0x04000000 #define RX_MSDU_END_MPDU_LENGTH_ERR_OFFSET 0x00000078 #define RX_MSDU_END_MPDU_LENGTH_ERR_LSB 27 #define RX_MSDU_END_MPDU_LENGTH_ERR_MSB 27 #define RX_MSDU_END_MPDU_LENGTH_ERR_MASK 0x08000000 #define RX_MSDU_END_TKIP_MIC_ERR_OFFSET 0x00000078 #define RX_MSDU_END_TKIP_MIC_ERR_LSB 28 #define RX_MSDU_END_TKIP_MIC_ERR_MSB 28 #define RX_MSDU_END_TKIP_MIC_ERR_MASK 0x10000000 #define RX_MSDU_END_DECRYPT_ERR_OFFSET 0x00000078 #define RX_MSDU_END_DECRYPT_ERR_LSB 29 #define RX_MSDU_END_DECRYPT_ERR_MSB 29 #define RX_MSDU_END_DECRYPT_ERR_MASK 0x20000000 #define RX_MSDU_END_UNENCRYPTED_FRAME_ERR_OFFSET 0x00000078 #define RX_MSDU_END_UNENCRYPTED_FRAME_ERR_LSB 30 #define RX_MSDU_END_UNENCRYPTED_FRAME_ERR_MSB 30 #define RX_MSDU_END_UNENCRYPTED_FRAME_ERR_MASK 0x40000000 #define RX_MSDU_END_FCS_ERR_OFFSET 0x00000078 #define RX_MSDU_END_FCS_ERR_LSB 31 #define RX_MSDU_END_FCS_ERR_MSB 31 #define RX_MSDU_END_FCS_ERR_MASK 0x80000000 #define RX_MSDU_END_RESERVED_31A_OFFSET 0x0000007c #define RX_MSDU_END_RESERVED_31A_LSB 0 #define RX_MSDU_END_RESERVED_31A_MSB 9 #define RX_MSDU_END_RESERVED_31A_MASK 0x000003ff #define RX_MSDU_END_DECRYPT_STATUS_CODE_OFFSET 0x0000007c #define RX_MSDU_END_DECRYPT_STATUS_CODE_LSB 10 #define RX_MSDU_END_DECRYPT_STATUS_CODE_MSB 12 #define RX_MSDU_END_DECRYPT_STATUS_CODE_MASK 0x00001c00 #define RX_MSDU_END_RX_BITMAP_NOT_UPDATED_OFFSET 0x0000007c #define RX_MSDU_END_RX_BITMAP_NOT_UPDATED_LSB 13 #define RX_MSDU_END_RX_BITMAP_NOT_UPDATED_MSB 13 #define RX_MSDU_END_RX_BITMAP_NOT_UPDATED_MASK 0x00002000 #define RX_MSDU_END_RESERVED_31B_OFFSET 0x0000007c #define RX_MSDU_END_RESERVED_31B_LSB 14 #define RX_MSDU_END_RESERVED_31B_MSB 30 #define RX_MSDU_END_RESERVED_31B_MASK 0x7fffc000 #define RX_MSDU_END_MSDU_DONE_OFFSET 0x0000007c #define RX_MSDU_END_MSDU_DONE_LSB 31 #define RX_MSDU_END_MSDU_DONE_MSB 31 #define RX_MSDU_END_MSDU_DONE_MASK 0x80000000 #endif