/* * Copyright (c) 2020, The Linux Foundation. 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 _TX_MSDU_EXTENSION_H_ #define _TX_MSDU_EXTENSION_H_ #if !defined(__ASSEMBLER__) #endif // ################ START SUMMARY ################# // // Dword Fields // 0 tso_enable[0], reserved_0a[6:1], tcp_flag[15:7], tcp_flag_mask[24:16], reserved_0b[31:25] // 1 l2_length[15:0], ip_length[31:16] // 2 tcp_seq_number[31:0] // 3 ip_identification[15:0], udp_length[31:16] // 4 checksum_offset[13:0], partial_checksum_en[14], reserved_4a[15], payload_start_offset[29:16], reserved_4b[31:30] // 5 payload_end_offset[13:0], reserved_5a[15:14], wds[16], reserved_5b[31:17] // 6 buf0_ptr_31_0[31:0] // 7 buf0_ptr_39_32[7:0], reserved_7a[15:8], buf0_len[31:16] // 8 buf1_ptr_31_0[31:0] // 9 buf1_ptr_39_32[7:0], reserved_9a[15:8], buf1_len[31:16] // 10 buf2_ptr_31_0[31:0] // 11 buf2_ptr_39_32[7:0], reserved_11a[15:8], buf2_len[31:16] // 12 buf3_ptr_31_0[31:0] // 13 buf3_ptr_39_32[7:0], reserved_13a[15:8], buf3_len[31:16] // 14 buf4_ptr_31_0[31:0] // 15 buf4_ptr_39_32[7:0], reserved_15a[15:8], buf4_len[31:16] // 16 buf5_ptr_31_0[31:0] // 17 buf5_ptr_39_32[7:0], reserved_17a[15:8], buf5_len[31:16] // // ################ END SUMMARY ################# #define NUM_OF_DWORDS_TX_MSDU_EXTENSION 18 struct tx_msdu_extension { uint32_t tso_enable : 1, //[0] reserved_0a : 6, //[6:1] tcp_flag : 9, //[15:7] tcp_flag_mask : 9, //[24:16] reserved_0b : 7; //[31:25] uint32_t l2_length : 16, //[15:0] ip_length : 16; //[31:16] uint32_t tcp_seq_number : 32; //[31:0] uint32_t ip_identification : 16, //[15:0] udp_length : 16; //[31:16] uint32_t checksum_offset : 14, //[13:0] partial_checksum_en : 1, //[14] reserved_4a : 1, //[15] payload_start_offset : 14, //[29:16] reserved_4b : 2; //[31:30] uint32_t payload_end_offset : 14, //[13:0] reserved_5a : 2, //[15:14] wds : 1, //[16] reserved_5b : 15; //[31:17] uint32_t buf0_ptr_31_0 : 32; //[31:0] uint32_t buf0_ptr_39_32 : 8, //[7:0] reserved_7a : 8, //[15:8] buf0_len : 16; //[31:16] uint32_t buf1_ptr_31_0 : 32; //[31:0] uint32_t buf1_ptr_39_32 : 8, //[7:0] reserved_9a : 8, //[15:8] buf1_len : 16; //[31:16] uint32_t buf2_ptr_31_0 : 32; //[31:0] uint32_t buf2_ptr_39_32 : 8, //[7:0] reserved_11a : 8, //[15:8] buf2_len : 16; //[31:16] uint32_t buf3_ptr_31_0 : 32; //[31:0] uint32_t buf3_ptr_39_32 : 8, //[7:0] reserved_13a : 8, //[15:8] buf3_len : 16; //[31:16] uint32_t buf4_ptr_31_0 : 32; //[31:0] uint32_t buf4_ptr_39_32 : 8, //[7:0] reserved_15a : 8, //[15:8] buf4_len : 16; //[31:16] uint32_t buf5_ptr_31_0 : 32; //[31:0] uint32_t buf5_ptr_39_32 : 8, //[7:0] reserved_17a : 8, //[15:8] buf5_len : 16; //[31:16] }; /* tso_enable Enable transmit segmentation offload reserved_0a FW will set to 0, MAC will ignore.  tcp_flag TCP flags {NS,CWR,ECE,URG,ACK,PSH, RST ,SYN,FIN} tcp_flag_mask TCP flag mask. Tcp_flag is inserted into the header based on the mask, if TSO is enabled reserved_0b FW will set to 0, MAC will ignore.  l2_length L2 length for the msdu, if TSO is enabled ip_length IP length for the msdu, if TSO is enabled tcp_seq_number Tcp_seq_number for the msdu, if TSO is enabled ip_identification IP_identification for the msdu, if TSO is enabled udp_length TXDMA is copies this field into MSDU START TLV checksum_offset The calculated checksum from start offset to end offset will be added to the checksum at the offset given by this field partial_checksum_en Partial Checksum Enable Bit. reserved_4a payload_start_offset L4 checksum calculations will start fromt this offset reserved_4b payload_end_offset L4 checksum calculations will end at this offset. reserved_5a wds If set the current packet is 4-address frame. Required because an aggregate can include some frames with 3 address format and other frames with 4 address format. Used by the OLE during encapsulation. Note: there is also global wds tx control in the TX_PEER_ENTRY reserved_5b buf0_ptr_31_0 Lower 32 bits of the first buffer pointer NOTE: SW/FW manages the 'cookie' info related to this buffer together with the 'cookie' info for this MSDU_EXTENSION descriptor buf0_ptr_39_32 Upper 8 bits of the first buffer pointer reserved_7a buf0_len Length of the first buffer buf1_ptr_31_0 Lower 32 bits of the second buffer pointer NOTE: SW/FW manages the 'cookie' info related to this buffer together with the 'cookie' info for this MSDU_EXTENSION descriptor buf1_ptr_39_32 Upper 8 bits of the second buffer pointer reserved_9a buf1_len Length of the second buffer buf2_ptr_31_0 Lower 32 bits of the third buffer pointer NOTE: SW/FW manages the 'cookie' info related to this buffer together with the 'cookie' info for this MSDU_EXTENSION descriptor buf2_ptr_39_32 Upper 8 bits of the third buffer pointer reserved_11a buf2_len Length of the third buffer buf3_ptr_31_0 Lower 32 bits of the fourth buffer pointer NOTE: SW/FW manages the 'cookie' info related to this buffer together with the 'cookie' info for this MSDU_EXTENSION descriptor buf3_ptr_39_32 Upper 8 bits of the fourth buffer pointer reserved_13a buf3_len Length of the fourth buffer buf4_ptr_31_0 Lower 32 bits of the fifth buffer pointer NOTE: SW/FW manages the 'cookie' info related to this buffer together with the 'cookie' info for this MSDU_EXTENSION descriptor buf4_ptr_39_32 Upper 8 bits of the fifth buffer pointer reserved_15a buf4_len Length of the fifth buffer buf5_ptr_31_0 Lower 32 bits of the sixth buffer pointer NOTE: SW/FW manages the 'cookie' info related to this buffer together with the 'cookie' info for this MSDU_EXTENSION descriptor buf5_ptr_39_32 Upper 8 bits of the sixth buffer pointer reserved_17a buf5_len Length of the sixth buffer */ /* Description TX_MSDU_EXTENSION_0_TSO_ENABLE Enable transmit segmentation offload */ #define TX_MSDU_EXTENSION_0_TSO_ENABLE_OFFSET 0x00000000 #define TX_MSDU_EXTENSION_0_TSO_ENABLE_LSB 0 #define TX_MSDU_EXTENSION_0_TSO_ENABLE_MASK 0x00000001 /* Description TX_MSDU_EXTENSION_0_RESERVED_0A FW will set to 0, MAC will ignore.  */ #define TX_MSDU_EXTENSION_0_RESERVED_0A_OFFSET 0x00000000 #define TX_MSDU_EXTENSION_0_RESERVED_0A_LSB 1 #define TX_MSDU_EXTENSION_0_RESERVED_0A_MASK 0x0000007e /* Description TX_MSDU_EXTENSION_0_TCP_FLAG TCP flags {NS,CWR,ECE,URG,ACK,PSH, RST ,SYN,FIN} */ #define TX_MSDU_EXTENSION_0_TCP_FLAG_OFFSET 0x00000000 #define TX_MSDU_EXTENSION_0_TCP_FLAG_LSB 7 #define TX_MSDU_EXTENSION_0_TCP_FLAG_MASK 0x0000ff80 /* Description TX_MSDU_EXTENSION_0_TCP_FLAG_MASK TCP flag mask. Tcp_flag is inserted into the header based on the mask, if TSO is enabled */ #define TX_MSDU_EXTENSION_0_TCP_FLAG_MASK_OFFSET 0x00000000 #define TX_MSDU_EXTENSION_0_TCP_FLAG_MASK_LSB 16 #define TX_MSDU_EXTENSION_0_TCP_FLAG_MASK_MASK 0x01ff0000 /* Description TX_MSDU_EXTENSION_0_RESERVED_0B FW will set to 0, MAC will ignore.  */ #define TX_MSDU_EXTENSION_0_RESERVED_0B_OFFSET 0x00000000 #define TX_MSDU_EXTENSION_0_RESERVED_0B_LSB 25 #define TX_MSDU_EXTENSION_0_RESERVED_0B_MASK 0xfe000000 /* Description TX_MSDU_EXTENSION_1_L2_LENGTH L2 length for the msdu, if TSO is enabled */ #define TX_MSDU_EXTENSION_1_L2_LENGTH_OFFSET 0x00000004 #define TX_MSDU_EXTENSION_1_L2_LENGTH_LSB 0 #define TX_MSDU_EXTENSION_1_L2_LENGTH_MASK 0x0000ffff /* Description TX_MSDU_EXTENSION_1_IP_LENGTH IP length for the msdu, if TSO is enabled */ #define TX_MSDU_EXTENSION_1_IP_LENGTH_OFFSET 0x00000004 #define TX_MSDU_EXTENSION_1_IP_LENGTH_LSB 16 #define TX_MSDU_EXTENSION_1_IP_LENGTH_MASK 0xffff0000 /* Description TX_MSDU_EXTENSION_2_TCP_SEQ_NUMBER Tcp_seq_number for the msdu, if TSO is enabled */ #define TX_MSDU_EXTENSION_2_TCP_SEQ_NUMBER_OFFSET 0x00000008 #define TX_MSDU_EXTENSION_2_TCP_SEQ_NUMBER_LSB 0 #define TX_MSDU_EXTENSION_2_TCP_SEQ_NUMBER_MASK 0xffffffff /* Description TX_MSDU_EXTENSION_3_IP_IDENTIFICATION IP_identification for the msdu, if TSO is enabled */ #define TX_MSDU_EXTENSION_3_IP_IDENTIFICATION_OFFSET 0x0000000c #define TX_MSDU_EXTENSION_3_IP_IDENTIFICATION_LSB 0 #define TX_MSDU_EXTENSION_3_IP_IDENTIFICATION_MASK 0x0000ffff /* Description TX_MSDU_EXTENSION_3_UDP_LENGTH TXDMA is copies this field into MSDU START TLV */ #define TX_MSDU_EXTENSION_3_UDP_LENGTH_OFFSET 0x0000000c #define TX_MSDU_EXTENSION_3_UDP_LENGTH_LSB 16 #define TX_MSDU_EXTENSION_3_UDP_LENGTH_MASK 0xffff0000 /* Description TX_MSDU_EXTENSION_4_CHECKSUM_OFFSET The calculated checksum from start offset to end offset will be added to the checksum at the offset given by this field */ #define TX_MSDU_EXTENSION_4_CHECKSUM_OFFSET_OFFSET 0x00000010 #define TX_MSDU_EXTENSION_4_CHECKSUM_OFFSET_LSB 0 #define TX_MSDU_EXTENSION_4_CHECKSUM_OFFSET_MASK 0x00003fff /* Description TX_MSDU_EXTENSION_4_PARTIAL_CHECKSUM_EN Partial Checksum Enable Bit. */ #define TX_MSDU_EXTENSION_4_PARTIAL_CHECKSUM_EN_OFFSET 0x00000010 #define TX_MSDU_EXTENSION_4_PARTIAL_CHECKSUM_EN_LSB 14 #define TX_MSDU_EXTENSION_4_PARTIAL_CHECKSUM_EN_MASK 0x00004000 /* Description TX_MSDU_EXTENSION_4_RESERVED_4A */ #define TX_MSDU_EXTENSION_4_RESERVED_4A_OFFSET 0x00000010 #define TX_MSDU_EXTENSION_4_RESERVED_4A_LSB 15 #define TX_MSDU_EXTENSION_4_RESERVED_4A_MASK 0x00008000 /* Description TX_MSDU_EXTENSION_4_PAYLOAD_START_OFFSET L4 checksum calculations will start fromt this offset */ #define TX_MSDU_EXTENSION_4_PAYLOAD_START_OFFSET_OFFSET 0x00000010 #define TX_MSDU_EXTENSION_4_PAYLOAD_START_OFFSET_LSB 16 #define TX_MSDU_EXTENSION_4_PAYLOAD_START_OFFSET_MASK 0x3fff0000 /* Description TX_MSDU_EXTENSION_4_RESERVED_4B */ #define TX_MSDU_EXTENSION_4_RESERVED_4B_OFFSET 0x00000010 #define TX_MSDU_EXTENSION_4_RESERVED_4B_LSB 30 #define TX_MSDU_EXTENSION_4_RESERVED_4B_MASK 0xc0000000 /* Description TX_MSDU_EXTENSION_5_PAYLOAD_END_OFFSET L4 checksum calculations will end at this offset. */ #define TX_MSDU_EXTENSION_5_PAYLOAD_END_OFFSET_OFFSET 0x00000014 #define TX_MSDU_EXTENSION_5_PAYLOAD_END_OFFSET_LSB 0 #define TX_MSDU_EXTENSION_5_PAYLOAD_END_OFFSET_MASK 0x00003fff /* Description TX_MSDU_EXTENSION_5_RESERVED_5A */ #define TX_MSDU_EXTENSION_5_RESERVED_5A_OFFSET 0x00000014 #define TX_MSDU_EXTENSION_5_RESERVED_5A_LSB 14 #define TX_MSDU_EXTENSION_5_RESERVED_5A_MASK 0x0000c000 /* Description TX_MSDU_EXTENSION_5_WDS If set the current packet is 4-address frame. Required because an aggregate can include some frames with 3 address format and other frames with 4 address format. Used by the OLE during encapsulation. Note: there is also global wds tx control in the TX_PEER_ENTRY */ #define TX_MSDU_EXTENSION_5_WDS_OFFSET 0x00000014 #define TX_MSDU_EXTENSION_5_WDS_LSB 16 #define TX_MSDU_EXTENSION_5_WDS_MASK 0x00010000 /* Description TX_MSDU_EXTENSION_5_RESERVED_5B */ #define TX_MSDU_EXTENSION_5_RESERVED_5B_OFFSET 0x00000014 #define TX_MSDU_EXTENSION_5_RESERVED_5B_LSB 17 #define TX_MSDU_EXTENSION_5_RESERVED_5B_MASK 0xfffe0000 /* Description TX_MSDU_EXTENSION_6_BUF0_PTR_31_0 Lower 32 bits of the first buffer pointer NOTE: SW/FW manages the 'cookie' info related to this buffer together with the 'cookie' info for this MSDU_EXTENSION descriptor */ #define TX_MSDU_EXTENSION_6_BUF0_PTR_31_0_OFFSET 0x00000018 #define TX_MSDU_EXTENSION_6_BUF0_PTR_31_0_LSB 0 #define TX_MSDU_EXTENSION_6_BUF0_PTR_31_0_MASK 0xffffffff /* Description TX_MSDU_EXTENSION_7_BUF0_PTR_39_32 Upper 8 bits of the first buffer pointer */ #define TX_MSDU_EXTENSION_7_BUF0_PTR_39_32_OFFSET 0x0000001c #define TX_MSDU_EXTENSION_7_BUF0_PTR_39_32_LSB 0 #define TX_MSDU_EXTENSION_7_BUF0_PTR_39_32_MASK 0x000000ff /* Description TX_MSDU_EXTENSION_7_RESERVED_7A */ #define TX_MSDU_EXTENSION_7_RESERVED_7A_OFFSET 0x0000001c #define TX_MSDU_EXTENSION_7_RESERVED_7A_LSB 8 #define TX_MSDU_EXTENSION_7_RESERVED_7A_MASK 0x0000ff00 /* Description TX_MSDU_EXTENSION_7_BUF0_LEN Length of the first buffer */ #define TX_MSDU_EXTENSION_7_BUF0_LEN_OFFSET 0x0000001c #define TX_MSDU_EXTENSION_7_BUF0_LEN_LSB 16 #define TX_MSDU_EXTENSION_7_BUF0_LEN_MASK 0xffff0000 /* Description TX_MSDU_EXTENSION_8_BUF1_PTR_31_0 Lower 32 bits of the second buffer pointer NOTE: SW/FW manages the 'cookie' info related to this buffer together with the 'cookie' info for this MSDU_EXTENSION descriptor */ #define TX_MSDU_EXTENSION_8_BUF1_PTR_31_0_OFFSET 0x00000020 #define TX_MSDU_EXTENSION_8_BUF1_PTR_31_0_LSB 0 #define TX_MSDU_EXTENSION_8_BUF1_PTR_31_0_MASK 0xffffffff /* Description TX_MSDU_EXTENSION_9_BUF1_PTR_39_32 Upper 8 bits of the second buffer pointer */ #define TX_MSDU_EXTENSION_9_BUF1_PTR_39_32_OFFSET 0x00000024 #define TX_MSDU_EXTENSION_9_BUF1_PTR_39_32_LSB 0 #define TX_MSDU_EXTENSION_9_BUF1_PTR_39_32_MASK 0x000000ff /* Description TX_MSDU_EXTENSION_9_RESERVED_9A */ #define TX_MSDU_EXTENSION_9_RESERVED_9A_OFFSET 0x00000024 #define TX_MSDU_EXTENSION_9_RESERVED_9A_LSB 8 #define TX_MSDU_EXTENSION_9_RESERVED_9A_MASK 0x0000ff00 /* Description TX_MSDU_EXTENSION_9_BUF1_LEN Length of the second buffer */ #define TX_MSDU_EXTENSION_9_BUF1_LEN_OFFSET 0x00000024 #define TX_MSDU_EXTENSION_9_BUF1_LEN_LSB 16 #define TX_MSDU_EXTENSION_9_BUF1_LEN_MASK 0xffff0000 /* Description TX_MSDU_EXTENSION_10_BUF2_PTR_31_0 Lower 32 bits of the third buffer pointer NOTE: SW/FW manages the 'cookie' info related to this buffer together with the 'cookie' info for this MSDU_EXTENSION descriptor */ #define TX_MSDU_EXTENSION_10_BUF2_PTR_31_0_OFFSET 0x00000028 #define TX_MSDU_EXTENSION_10_BUF2_PTR_31_0_LSB 0 #define TX_MSDU_EXTENSION_10_BUF2_PTR_31_0_MASK 0xffffffff /* Description TX_MSDU_EXTENSION_11_BUF2_PTR_39_32 Upper 8 bits of the third buffer pointer */ #define TX_MSDU_EXTENSION_11_BUF2_PTR_39_32_OFFSET 0x0000002c #define TX_MSDU_EXTENSION_11_BUF2_PTR_39_32_LSB 0 #define TX_MSDU_EXTENSION_11_BUF2_PTR_39_32_MASK 0x000000ff /* Description TX_MSDU_EXTENSION_11_RESERVED_11A */ #define TX_MSDU_EXTENSION_11_RESERVED_11A_OFFSET 0x0000002c #define TX_MSDU_EXTENSION_11_RESERVED_11A_LSB 8 #define TX_MSDU_EXTENSION_11_RESERVED_11A_MASK 0x0000ff00 /* Description TX_MSDU_EXTENSION_11_BUF2_LEN Length of the third buffer */ #define TX_MSDU_EXTENSION_11_BUF2_LEN_OFFSET 0x0000002c #define TX_MSDU_EXTENSION_11_BUF2_LEN_LSB 16 #define TX_MSDU_EXTENSION_11_BUF2_LEN_MASK 0xffff0000 /* Description TX_MSDU_EXTENSION_12_BUF3_PTR_31_0 Lower 32 bits of the fourth buffer pointer NOTE: SW/FW manages the 'cookie' info related to this buffer together with the 'cookie' info for this MSDU_EXTENSION descriptor */ #define TX_MSDU_EXTENSION_12_BUF3_PTR_31_0_OFFSET 0x00000030 #define TX_MSDU_EXTENSION_12_BUF3_PTR_31_0_LSB 0 #define TX_MSDU_EXTENSION_12_BUF3_PTR_31_0_MASK 0xffffffff /* Description TX_MSDU_EXTENSION_13_BUF3_PTR_39_32 Upper 8 bits of the fourth buffer pointer */ #define TX_MSDU_EXTENSION_13_BUF3_PTR_39_32_OFFSET 0x00000034 #define TX_MSDU_EXTENSION_13_BUF3_PTR_39_32_LSB 0 #define TX_MSDU_EXTENSION_13_BUF3_PTR_39_32_MASK 0x000000ff /* Description TX_MSDU_EXTENSION_13_RESERVED_13A */ #define TX_MSDU_EXTENSION_13_RESERVED_13A_OFFSET 0x00000034 #define TX_MSDU_EXTENSION_13_RESERVED_13A_LSB 8 #define TX_MSDU_EXTENSION_13_RESERVED_13A_MASK 0x0000ff00 /* Description TX_MSDU_EXTENSION_13_BUF3_LEN Length of the fourth buffer */ #define TX_MSDU_EXTENSION_13_BUF3_LEN_OFFSET 0x00000034 #define TX_MSDU_EXTENSION_13_BUF3_LEN_LSB 16 #define TX_MSDU_EXTENSION_13_BUF3_LEN_MASK 0xffff0000 /* Description TX_MSDU_EXTENSION_14_BUF4_PTR_31_0 Lower 32 bits of the fifth buffer pointer NOTE: SW/FW manages the 'cookie' info related to this buffer together with the 'cookie' info for this MSDU_EXTENSION descriptor */ #define TX_MSDU_EXTENSION_14_BUF4_PTR_31_0_OFFSET 0x00000038 #define TX_MSDU_EXTENSION_14_BUF4_PTR_31_0_LSB 0 #define TX_MSDU_EXTENSION_14_BUF4_PTR_31_0_MASK 0xffffffff /* Description TX_MSDU_EXTENSION_15_BUF4_PTR_39_32 Upper 8 bits of the fifth buffer pointer */ #define TX_MSDU_EXTENSION_15_BUF4_PTR_39_32_OFFSET 0x0000003c #define TX_MSDU_EXTENSION_15_BUF4_PTR_39_32_LSB 0 #define TX_MSDU_EXTENSION_15_BUF4_PTR_39_32_MASK 0x000000ff /* Description TX_MSDU_EXTENSION_15_RESERVED_15A */ #define TX_MSDU_EXTENSION_15_RESERVED_15A_OFFSET 0x0000003c #define TX_MSDU_EXTENSION_15_RESERVED_15A_LSB 8 #define TX_MSDU_EXTENSION_15_RESERVED_15A_MASK 0x0000ff00 /* Description TX_MSDU_EXTENSION_15_BUF4_LEN Length of the fifth buffer */ #define TX_MSDU_EXTENSION_15_BUF4_LEN_OFFSET 0x0000003c #define TX_MSDU_EXTENSION_15_BUF4_LEN_LSB 16 #define TX_MSDU_EXTENSION_15_BUF4_LEN_MASK 0xffff0000 /* Description TX_MSDU_EXTENSION_16_BUF5_PTR_31_0 Lower 32 bits of the sixth buffer pointer NOTE: SW/FW manages the 'cookie' info related to this buffer together with the 'cookie' info for this MSDU_EXTENSION descriptor */ #define TX_MSDU_EXTENSION_16_BUF5_PTR_31_0_OFFSET 0x00000040 #define TX_MSDU_EXTENSION_16_BUF5_PTR_31_0_LSB 0 #define TX_MSDU_EXTENSION_16_BUF5_PTR_31_0_MASK 0xffffffff /* Description TX_MSDU_EXTENSION_17_BUF5_PTR_39_32 Upper 8 bits of the sixth buffer pointer */ #define TX_MSDU_EXTENSION_17_BUF5_PTR_39_32_OFFSET 0x00000044 #define TX_MSDU_EXTENSION_17_BUF5_PTR_39_32_LSB 0 #define TX_MSDU_EXTENSION_17_BUF5_PTR_39_32_MASK 0x000000ff /* Description TX_MSDU_EXTENSION_17_RESERVED_17A */ #define TX_MSDU_EXTENSION_17_RESERVED_17A_OFFSET 0x00000044 #define TX_MSDU_EXTENSION_17_RESERVED_17A_LSB 8 #define TX_MSDU_EXTENSION_17_RESERVED_17A_MASK 0x0000ff00 /* Description TX_MSDU_EXTENSION_17_BUF5_LEN Length of the sixth buffer */ #define TX_MSDU_EXTENSION_17_BUF5_LEN_OFFSET 0x00000044 #define TX_MSDU_EXTENSION_17_BUF5_LEN_LSB 16 #define TX_MSDU_EXTENSION_17_BUF5_LEN_MASK 0xffff0000 #endif // _TX_MSDU_EXTENSION_H_