123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532 |
- /* Copyright (c) 2022, 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 _TX_FES_STATUS_USER_PPDU_H_
- #define _TX_FES_STATUS_USER_PPDU_H_
- #if !defined(__ASSEMBLER__)
- #endif
- #define NUM_OF_DWORDS_TX_FES_STATUS_USER_PPDU 6
- #define NUM_OF_QWORDS_TX_FES_STATUS_USER_PPDU 3
- struct tx_fes_status_user_ppdu {
- #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
- uint32_t underflow_mpdu_count : 9, // [8:0]
- data_underflow_warning : 2, // [10:9]
- bw_drop_underflow_warning : 1, // [11:11]
- qc_eosp_setting : 1, // [12:12]
- fc_more_data_setting : 1, // [13:13]
- fc_pwr_mgt_setting : 1, // [14:14]
- mpdu_tx_count : 9, // [23:15]
- user_blocked : 1, // [24:24]
- pre_trig_response_delim_count : 7; // [31:25]
- uint32_t underflow_byte_count : 16, // [15:0]
- coex_abort_mpdu_count_valid : 1, // [16:16]
- coex_abort_mpdu_count : 9, // [25:17]
- transmitted_tid : 4, // [29:26]
- txdma_dropped_mpdu_warning : 1, // [30:30]
- reserved_1 : 1; // [31:31]
- uint32_t duration : 16, // [15:0]
- num_eof_delim_added : 16; // [31:16]
- uint32_t psdu_octet : 24, // [23:0]
- qos_buf_state : 8; // [31:24]
- uint32_t num_null_delim_added : 22, // [21:0]
- reserved_4a : 2, // [23:22]
- cv_corr_user_valid_in_phy : 1, // [24:24]
- nss : 3, // [27:25]
- mcs : 4; // [31:28]
- uint32_t ht_control : 32; // [31:0]
- #else
- uint32_t pre_trig_response_delim_count : 7, // [31:25]
- user_blocked : 1, // [24:24]
- mpdu_tx_count : 9, // [23:15]
- fc_pwr_mgt_setting : 1, // [14:14]
- fc_more_data_setting : 1, // [13:13]
- qc_eosp_setting : 1, // [12:12]
- bw_drop_underflow_warning : 1, // [11:11]
- data_underflow_warning : 2, // [10:9]
- underflow_mpdu_count : 9; // [8:0]
- uint32_t reserved_1 : 1, // [31:31]
- txdma_dropped_mpdu_warning : 1, // [30:30]
- transmitted_tid : 4, // [29:26]
- coex_abort_mpdu_count : 9, // [25:17]
- coex_abort_mpdu_count_valid : 1, // [16:16]
- underflow_byte_count : 16; // [15:0]
- uint32_t num_eof_delim_added : 16, // [31:16]
- duration : 16; // [15:0]
- uint32_t qos_buf_state : 8, // [31:24]
- psdu_octet : 24; // [23:0]
- uint32_t mcs : 4, // [31:28]
- nss : 3, // [27:25]
- cv_corr_user_valid_in_phy : 1, // [24:24]
- reserved_4a : 2, // [23:22]
- num_null_delim_added : 22; // [21:0]
- uint32_t ht_control : 32; // [31:0]
- #endif
- };
- /* Description UNDERFLOW_MPDU_COUNT
- The MPDU count correctly received from TX DMA when the first
- underrun condition was detected
- <legal 0-256>
- */
- #define TX_FES_STATUS_USER_PPDU_UNDERFLOW_MPDU_COUNT_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_USER_PPDU_UNDERFLOW_MPDU_COUNT_LSB 0
- #define TX_FES_STATUS_USER_PPDU_UNDERFLOW_MPDU_COUNT_MSB 8
- #define TX_FES_STATUS_USER_PPDU_UNDERFLOW_MPDU_COUNT_MASK 0x00000000000001ff
- /* Description DATA_UNDERFLOW_WARNING
- Mac data underflow warning for this user
-
- <enum 0 no_data_underrun> No data underflow
- <enum 1 data_underrun_between_mpdu> PCU experienced data
- underflow in between MPDUs
- <enum 2 data_underrun_within_mpdu> PCU experienced data
- underflow within an MPDU
- <legal 0-2>
- */
- #define TX_FES_STATUS_USER_PPDU_DATA_UNDERFLOW_WARNING_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_USER_PPDU_DATA_UNDERFLOW_WARNING_LSB 9
- #define TX_FES_STATUS_USER_PPDU_DATA_UNDERFLOW_WARNING_MSB 10
- #define TX_FES_STATUS_USER_PPDU_DATA_UNDERFLOW_WARNING_MASK 0x0000000000000600
- /* Description BW_DROP_UNDERFLOW_WARNING
- When set, data underflow happened while TXPCU was busy with
- dropping a frame that is only allowed to go out at certain
- BW, which is not the BW of the current transmission
- <legal all>
- */
- #define TX_FES_STATUS_USER_PPDU_BW_DROP_UNDERFLOW_WARNING_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_USER_PPDU_BW_DROP_UNDERFLOW_WARNING_LSB 11
- #define TX_FES_STATUS_USER_PPDU_BW_DROP_UNDERFLOW_WARNING_MSB 11
- #define TX_FES_STATUS_USER_PPDU_BW_DROP_UNDERFLOW_WARNING_MASK 0x0000000000000800
- /* Description QC_EOSP_SETTING
- This field indicates if TX PCU set the eosp bit in the QoS
- control field for this user (indicated in field User_Id.)
-
- 0: No action
- 1: eosp bit is set in all the transmitted frames. This is
- done upon request of the PDG.
- <legal all>
- */
- #define TX_FES_STATUS_USER_PPDU_QC_EOSP_SETTING_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_USER_PPDU_QC_EOSP_SETTING_LSB 12
- #define TX_FES_STATUS_USER_PPDU_QC_EOSP_SETTING_MSB 12
- #define TX_FES_STATUS_USER_PPDU_QC_EOSP_SETTING_MASK 0x0000000000001000
- /* Description FC_MORE_DATA_SETTING
- This field indicates what the setting was of the More data
- bit in the Frame control field for this user (indicated
- in field User_Id.)
-
- Note that TXPCU, depending on programming, might overwrite
- this bit in the Frame control field or just passes on what
- SW and/or OLE has already programmed. Either way, TXPCU
- just blindly copies the final setting of this "more Data"
- bit in the frame control field into this field in the TLV.
-
-
- 0: more_data bit NOT set
- 1: more_data bit is set
- <legal all>
- */
- #define TX_FES_STATUS_USER_PPDU_FC_MORE_DATA_SETTING_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_USER_PPDU_FC_MORE_DATA_SETTING_LSB 13
- #define TX_FES_STATUS_USER_PPDU_FC_MORE_DATA_SETTING_MSB 13
- #define TX_FES_STATUS_USER_PPDU_FC_MORE_DATA_SETTING_MASK 0x0000000000002000
- /* Description FC_PWR_MGT_SETTING
- This field indicates what the setting was of the pwr bit
- in the Frame control field for this user (indicated in
- field User_Id.)
-
- Note that TXPCU never manipulates the pwr bit in the FC
- field. Generating the correct setting is all managed by
- TX OLE.
- TXPCU just reports here what the pwr setting was of the (last)
- transmitted MPDU.
-
- 0: pwr_mgt bit NOT set
- 1: pwr_mgt bit is set
- <legal all>
- */
- #define TX_FES_STATUS_USER_PPDU_FC_PWR_MGT_SETTING_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_USER_PPDU_FC_PWR_MGT_SETTING_LSB 14
- #define TX_FES_STATUS_USER_PPDU_FC_PWR_MGT_SETTING_MSB 14
- #define TX_FES_STATUS_USER_PPDU_FC_PWR_MGT_SETTING_MASK 0x0000000000004000
- /* Description MPDU_TX_COUNT
- Number of MPDU frames transmitted
-
- Note: MPDUs that had an underrun during transmission will
- still be listed here. The assumption is that underrun is
- a very rare occasion, and any miscounting can therefor
- be accepted. If underrun happens too often, SW should change
- the density settings.
- <legal 0-256>
- */
- #define TX_FES_STATUS_USER_PPDU_MPDU_TX_COUNT_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_USER_PPDU_MPDU_TX_COUNT_LSB 15
- #define TX_FES_STATUS_USER_PPDU_MPDU_TX_COUNT_MSB 23
- #define TX_FES_STATUS_USER_PPDU_MPDU_TX_COUNT_MASK 0x0000000000ff8000
- /* Description USER_BLOCKED
- When set, TXPCU received the TX_PEER_ENTRY TLV with bit 'Block_this_user'
- set. As a result TXDMA did not push in any MPDUs for this
- user and non were expected to be transmitted. TXPCU will
- therefor NOT report any underrun conditions for this user
-
- <legal all>
- */
- #define TX_FES_STATUS_USER_PPDU_USER_BLOCKED_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_USER_PPDU_USER_BLOCKED_LSB 24
- #define TX_FES_STATUS_USER_PPDU_USER_BLOCKED_MSB 24
- #define TX_FES_STATUS_USER_PPDU_USER_BLOCKED_MASK 0x0000000001000000
- /* Description PRE_TRIG_RESPONSE_DELIM_COUNT
- This field is only valid when this TX_FES_STATUS_USER_PPDU
- is generated in the context of sending a response to a
- received trigger frame....(=> TX_FES_STATUS start indicated
- for field Transmit_start_reason == Trigger_based_transmit_start)
-
-
- The number of NULL delimiters the TXPCU passed on to the
- PHY before any real MPDU (response) data is given to the
- PHY that originated from the SCHeduler command.
-
- NOTE that this should not be flagged as an underrun condition.
-
-
- In units of 32 delimiters.
-
- <legal all>
- */
- #define TX_FES_STATUS_USER_PPDU_PRE_TRIG_RESPONSE_DELIM_COUNT_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_USER_PPDU_PRE_TRIG_RESPONSE_DELIM_COUNT_LSB 25
- #define TX_FES_STATUS_USER_PPDU_PRE_TRIG_RESPONSE_DELIM_COUNT_MSB 31
- #define TX_FES_STATUS_USER_PPDU_PRE_TRIG_RESPONSE_DELIM_COUNT_MASK 0x00000000fe000000
- /* Description UNDERFLOW_BYTE_COUNT
- The number of bytes correctly received for this MPDU when
- the first underrun condition was detected
-
- In case of self-gen + SCH related data, self-gen will not
- be part of the underflow byte count. For example, in case
- of BA/CBF, if underrun is hit immediately after BA/CBF
- is sent, the underflow byte count will be 0.the BA/CBF bytes
- will not be part of the underflow byte count.
- */
- #define TX_FES_STATUS_USER_PPDU_UNDERFLOW_BYTE_COUNT_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_USER_PPDU_UNDERFLOW_BYTE_COUNT_LSB 32
- #define TX_FES_STATUS_USER_PPDU_UNDERFLOW_BYTE_COUNT_MSB 47
- #define TX_FES_STATUS_USER_PPDU_UNDERFLOW_BYTE_COUNT_MASK 0x0000ffff00000000
- /* Description COEX_ABORT_MPDU_COUNT_VALID
- When set to 1, the (A-MPDU) transmission was silently aborted
- in the middle of transmission. The PHY faked the remaining
- transmission on the medium, so that TX PCU is still waiting
- for the BA frame to be received.
- */
- #define TX_FES_STATUS_USER_PPDU_COEX_ABORT_MPDU_COUNT_VALID_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_USER_PPDU_COEX_ABORT_MPDU_COUNT_VALID_LSB 48
- #define TX_FES_STATUS_USER_PPDU_COEX_ABORT_MPDU_COUNT_VALID_MSB 48
- #define TX_FES_STATUS_USER_PPDU_COEX_ABORT_MPDU_COUNT_VALID_MASK 0x0001000000000000
- /* Description COEX_ABORT_MPDU_COUNT
- Field only valid when 'Coex_abort_mpdu_count_valid' is set.
-
- The number of MPDU frames that were properly sent bdoefore
- the coex transmit abort request was received
- <legal 0-256>
- */
- #define TX_FES_STATUS_USER_PPDU_COEX_ABORT_MPDU_COUNT_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_USER_PPDU_COEX_ABORT_MPDU_COUNT_LSB 49
- #define TX_FES_STATUS_USER_PPDU_COEX_ABORT_MPDU_COUNT_MSB 57
- #define TX_FES_STATUS_USER_PPDU_COEX_ABORT_MPDU_COUNT_MASK 0x03fe000000000000
- /* Description TRANSMITTED_TID
- TID field blindy copied over from the TX_QUEUE_EXTENSION
- TLV, field qos_ctrl[3:0]
- <legal all>
- */
- #define TX_FES_STATUS_USER_PPDU_TRANSMITTED_TID_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_USER_PPDU_TRANSMITTED_TID_LSB 58
- #define TX_FES_STATUS_USER_PPDU_TRANSMITTED_TID_MSB 61
- #define TX_FES_STATUS_USER_PPDU_TRANSMITTED_TID_MASK 0x3c00000000000000
- /* Description TXDMA_DROPPED_MPDU_WARNING
- Indication to FW a warning that Tx DMA has dropped MPDUs
- due to SFM FIFO full condition
- TXPCU fills this from OR of all TXDMA_dropped_mpdu_warning
- in 'TX_MPDU_STARTs' for this PPDU.
- <legal all>
- */
- #define TX_FES_STATUS_USER_PPDU_TXDMA_DROPPED_MPDU_WARNING_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_USER_PPDU_TXDMA_DROPPED_MPDU_WARNING_LSB 62
- #define TX_FES_STATUS_USER_PPDU_TXDMA_DROPPED_MPDU_WARNING_MSB 62
- #define TX_FES_STATUS_USER_PPDU_TXDMA_DROPPED_MPDU_WARNING_MASK 0x4000000000000000
- /* Description RESERVED_1
- Reserved and not used by HW
- <legal 0>
- */
- #define TX_FES_STATUS_USER_PPDU_RESERVED_1_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_USER_PPDU_RESERVED_1_LSB 63
- #define TX_FES_STATUS_USER_PPDU_RESERVED_1_MSB 63
- #define TX_FES_STATUS_USER_PPDU_RESERVED_1_MASK 0x8000000000000000
- /* Description DURATION
- The value of the duration field that TXPCU inserted in transmitted
- frames, for Tx Monitor to report
-
- For frames of encap type Ethernet or 802_3 TXPCU will always
- insert this value
-
-
- For frames of encap type: RAW and Native WiFi, TXPCU will
- check the 'Duration_field_mask' setting in TX_RAW_OR_NATIVE_FRAME_SETUP
- TLV to find out if overwrite is enabled. (This is per user)
-
-
- In case of multi TID transmission of Multi STA transmission,
- TXPCU will look at the 'TX_RAW_OR_NATIVE_FRAME_SETUP' of
- the 'first user'
- Hamilton v1 used this for 'num_null_delim_added' and bits
- [15:0] of word 4 for this field.
- <legal all>
- */
- #define TX_FES_STATUS_USER_PPDU_DURATION_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_USER_PPDU_DURATION_LSB 0
- #define TX_FES_STATUS_USER_PPDU_DURATION_MSB 15
- #define TX_FES_STATUS_USER_PPDU_DURATION_MASK 0x000000000000ffff
- /* Description NUM_EOF_DELIM_ADDED
- The total number of EOF pad delimiters added by TXPCU to
- the current PPDU for the MD/multi-TID group this user belongs
- to
-
- Set to 0xFFFF if the number exceeds the field width
- <legal all>
- */
- #define TX_FES_STATUS_USER_PPDU_NUM_EOF_DELIM_ADDED_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_USER_PPDU_NUM_EOF_DELIM_ADDED_LSB 16
- #define TX_FES_STATUS_USER_PPDU_NUM_EOF_DELIM_ADDED_MSB 31
- #define TX_FES_STATUS_USER_PPDU_NUM_EOF_DELIM_ADDED_MASK 0x00000000ffff0000
- /* Description PSDU_OCTET
- Field only valid in case in 'TX_FES_STATUS_START' the field
- Transmit_start_reason != Trigger_based_transmit_start
-
- PSDU length in octets which includes all useful data in
- a packet which includes EOF padding and final padding (including
- the last 0 - 3 bytes).
-
- This is copied by TXPCU from 'PCU_PPDU_SETUP_USER.'
-
- <legal all>
- */
- #define TX_FES_STATUS_USER_PPDU_PSDU_OCTET_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_USER_PPDU_PSDU_OCTET_LSB 32
- #define TX_FES_STATUS_USER_PPDU_PSDU_OCTET_MSB 55
- #define TX_FES_STATUS_USER_PPDU_PSDU_OCTET_MASK 0x00ffffff00000000
- /* Description QOS_BUF_STATE
- The value of the buffer state field in the QoS control that
- TXPCU inserted in transmitted frames, for Tx Monitor to
- report
-
- TXPCU checks the '*Buf_state*' settings in 'TX_QUEUE_EXTENSION'
- TLV to determine the value to insert.
-
- If TXPCU did not overwrite the buffer state field, this
- shall be set to 0x0.
- <legal all>
- */
- #define TX_FES_STATUS_USER_PPDU_QOS_BUF_STATE_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_USER_PPDU_QOS_BUF_STATE_LSB 56
- #define TX_FES_STATUS_USER_PPDU_QOS_BUF_STATE_MSB 63
- #define TX_FES_STATUS_USER_PPDU_QOS_BUF_STATE_MASK 0xff00000000000000
- /* Description NUM_NULL_DELIM_ADDED
- The total number of non-EOF pad/null delimiters added by
- TXPCU to the current PPDU for this user
-
- Set to 0x3FFFFF if the number exceeds the field width
- Hamilton v1 used bits [15:0] for 'Duration' and bits [23:16]
- for 'Qos_Buf_state' using bits [15:0] of word 2 for this
- field.
- <legal all>
- */
- #define TX_FES_STATUS_USER_PPDU_NUM_NULL_DELIM_ADDED_OFFSET 0x0000000000000010
- #define TX_FES_STATUS_USER_PPDU_NUM_NULL_DELIM_ADDED_LSB 0
- #define TX_FES_STATUS_USER_PPDU_NUM_NULL_DELIM_ADDED_MSB 21
- #define TX_FES_STATUS_USER_PPDU_NUM_NULL_DELIM_ADDED_MASK 0x00000000003fffff
- /* Description RESERVED_4A
- <legal 0>
- */
- #define TX_FES_STATUS_USER_PPDU_RESERVED_4A_OFFSET 0x0000000000000010
- #define TX_FES_STATUS_USER_PPDU_RESERVED_4A_LSB 22
- #define TX_FES_STATUS_USER_PPDU_RESERVED_4A_MSB 23
- #define TX_FES_STATUS_USER_PPDU_RESERVED_4A_MASK 0x0000000000c00000
- /* Description CV_CORR_USER_VALID_IN_PHY
- PDG sets this as 1 for up to 8 users enabled in 'PHYTX_CV_CORR_STATUS'
- after CV correlation, to be copied from 'PCU_PPDU_SETUP_USER.'
-
-
- <legal all>
- */
- #define TX_FES_STATUS_USER_PPDU_CV_CORR_USER_VALID_IN_PHY_OFFSET 0x0000000000000010
- #define TX_FES_STATUS_USER_PPDU_CV_CORR_USER_VALID_IN_PHY_LSB 24
- #define TX_FES_STATUS_USER_PPDU_CV_CORR_USER_VALID_IN_PHY_MSB 24
- #define TX_FES_STATUS_USER_PPDU_CV_CORR_USER_VALID_IN_PHY_MASK 0x0000000001000000
- /* Description NSS
- Number of Spatial Streams occupied by the User, to be copied
- from 'PCU_PPDU_SETUP_USER' by TXPCU
-
- <enum 0 1_spatial_stream>Single spatial stream
- <enum 1 2_spatial_streams>2 spatial streams
- <enum 2 3_spatial_streams>3 spatial streams
- <enum 3 4_spatial_streams>4 spatial streams
- <enum 4 5_spatial_streams>5 spatial streams
- <enum 5 6_spatial_streams>6 spatial streams
- <enum 6 7_spatial_streams>7 spatial streams
- <enum 7 8_spatial_streams>8 spatial streams
- */
- #define TX_FES_STATUS_USER_PPDU_NSS_OFFSET 0x0000000000000010
- #define TX_FES_STATUS_USER_PPDU_NSS_LSB 25
- #define TX_FES_STATUS_USER_PPDU_NSS_MSB 27
- #define TX_FES_STATUS_USER_PPDU_NSS_MASK 0x000000000e000000
- /* Description MCS
- Modulation Coding Scheme for the User, to be copied from
- 'PCU_PPDU_SETUP_USER' by TXPCU
-
- <legal all>
- */
- #define TX_FES_STATUS_USER_PPDU_MCS_OFFSET 0x0000000000000010
- #define TX_FES_STATUS_USER_PPDU_MCS_LSB 28
- #define TX_FES_STATUS_USER_PPDU_MCS_MSB 31
- #define TX_FES_STATUS_USER_PPDU_MCS_MASK 0x00000000f0000000
- /* Description HT_CONTROL
- The value of the HT control field that TXPCU inserted in
- transmitted frames, for Tx Monitor to report
-
- TXPCU checks the various HT-control-related settings in 'TX_QUEUE_EXTENSION'
- TLV to determine the value to insert.
-
- If TXPCU did not overwrite the HT control field, this shall
- be set to 0x0.
- <legal all>
- */
- #define TX_FES_STATUS_USER_PPDU_HT_CONTROL_OFFSET 0x0000000000000010
- #define TX_FES_STATUS_USER_PPDU_HT_CONTROL_LSB 32
- #define TX_FES_STATUS_USER_PPDU_HT_CONTROL_MSB 63
- #define TX_FES_STATUS_USER_PPDU_HT_CONTROL_MASK 0xffffffff00000000
- #endif // TX_FES_STATUS_USER_PPDU
|