12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198 |
- /*
- * Copyright (c) 2023 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_END_H_
- #define _TX_FES_STATUS_END_H_
- #if !defined(__ASSEMBLER__)
- #endif
- #include "phytx_abort_request_info.h"
- #define NUM_OF_DWORDS_TX_FES_STATUS_END 22
- #define NUM_OF_QWORDS_TX_FES_STATUS_END 11
- struct tx_fes_status_end {
- #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
- uint32_t prot_coex_bt_tx_while_wlan_tx : 1, // [0:0]
- prot_coex_bt_tx_while_wlan_rx : 1, // [1:1]
- prot_coex_wan_tx_while_wlan_tx : 1, // [2:2]
- prot_coex_wan_tx_while_wlan_rx : 1, // [3:3]
- prot_coex_wlan_tx_while_wlan_tx : 1, // [4:4]
- prot_coex_wlan_tx_while_wlan_rx : 1, // [5:5]
- coex_bt_tx_while_wlan_tx : 1, // [6:6]
- coex_bt_tx_while_wlan_rx : 1, // [7:7]
- coex_wan_tx_while_wlan_tx : 1, // [8:8]
- coex_wan_tx_while_wlan_rx : 1, // [9:9]
- coex_wlan_tx_while_wlan_tx : 1, // [10:10]
- coex_wlan_tx_while_wlan_rx : 1, // [11:11]
- global_data_underflow_warning : 1, // [12:12]
- global_fes_transmit_result : 4, // [16:13]
- cbf_bw_received_valid : 1, // [17:17]
- cbf_bw_received : 3, // [20:18]
- actual_received_ack_type : 4, // [24:21]
- sta_response_count : 6, // [30:25]
- dpdtrain_done : 1; // [31:31]
- struct phytx_abort_request_info phytx_abort_request_info_details;
- uint16_t reserved_after_struct16 : 4, // [19:16]
- brp_info_valid : 1, // [20:20]
- reserved_1a : 6, // [26:21]
- phytx_pkt_end_info_valid : 1, // [27:27]
- phytx_abort_request_info_valid : 1, // [28:28]
- fes_in_11ax_trigger_response_config : 1, // [29:29]
- null_delim_inserted_before_mpdus : 1, // [30:30]
- only_null_delim_sent : 1; // [31:31]
- uint32_t start_of_frame_timestamp_15_0 : 16, // [15:0]
- start_of_frame_timestamp_31_16 : 16; // [31:16]
- uint32_t end_of_frame_timestamp_15_0 : 16, // [15:0]
- end_of_frame_timestamp_31_16 : 16; // [31:16]
- uint32_t terminate_ranging_sequence : 1, // [0:0]
- reserved_4a : 7, // [7:1]
- timing_status : 2, // [9:8]
- response_type : 5, // [14:10]
- r2r_end_status_to_follow : 1, // [15:15]
- transmit_delay : 16; // [31:16]
- uint32_t tx_group_delay : 12, // [11:0]
- reserved_5a : 4, // [15:12]
- tpc_dbg_info_cmn_15_0 : 16; // [31:16]
- uint32_t tpc_dbg_info_cmn_31_16 : 16, // [15:0]
- tpc_dbg_info_47_32 : 16; // [31:16]
- uint32_t tpc_dbg_info_chn1_15_0 : 16, // [15:0]
- tpc_dbg_info_chn1_31_16 : 16; // [31:16]
- uint32_t tpc_dbg_info_chn1_47_32 : 16, // [15:0]
- tpc_dbg_info_chn1_63_48 : 16; // [31:16]
- uint32_t tpc_dbg_info_chn1_79_64 : 16, // [15:0]
- tpc_dbg_info_chn2_15_0 : 16; // [31:16]
- uint32_t tpc_dbg_info_chn2_31_16 : 16, // [15:0]
- tpc_dbg_info_chn2_47_32 : 16; // [31:16]
- uint32_t tpc_dbg_info_chn2_63_48 : 16, // [15:0]
- tpc_dbg_info_chn2_79_64 : 16; // [31:16]
- uint32_t phytx_tx_end_sw_info_15_0 : 16, // [15:0]
- phytx_tx_end_sw_info_31_16 : 16; // [31:16]
- uint32_t phytx_tx_end_sw_info_47_32 : 16, // [15:0]
- phytx_tx_end_sw_info_63_48 : 16; // [31:16]
- uint32_t beamform_masked_user_bitmap_15_0 : 16, // [15:0]
- beamform_masked_user_bitmap_31_16 : 16; // [31:16]
- uint32_t cbf_segment_request_mask : 8, // [7:0]
- cbf_segment_sent_mask : 8, // [15:8]
- highest_achieved_data_null_ratio : 5, // [20:16]
- use_alt_power_sr : 1, // [21:21]
- static_2_pwr_mode_status : 1, // [22:22]
- obss_srg_opport_transmit_status : 1, // [23:23]
- srp_based_transmit_status : 1, // [24:24]
- obss_pd_based_transmit_status : 1, // [25:25]
- beamform_masked_user_bitmap_36_32 : 5, // [30:26]
- pdg_mpdu_ready : 1; // [31:31]
- uint32_t pdg_mpdu_count : 16, // [15:0]
- pdg_est_mpdu_tx_count : 16; // [31:16]
- uint32_t pdg_overview_length : 24, // [23:0]
- txop_duration : 7, // [30:24]
- pdg_dropped_mpdu_warning : 1; // [31:31]
- uint32_t packet_extension_a_factor : 2, // [1:0]
- packet_extension_pe_disambiguity : 1, // [2:2]
- packet_extension : 3, // [5:3]
- fec_type : 1, // [6:6]
- stbc : 1, // [7:7]
- num_data_symbols : 16, // [23:8]
- ru_size : 4, // [27:24]
- reserved_17a : 4; // [31:28]
- uint32_t num_ltf_symbols : 3, // [2:0]
- ltf_size : 2, // [4:3]
- cp_setting : 2, // [6:5]
- reserved_18a : 5, // [11:7]
- dcm : 1, // [12:12]
- ldpc_extra_symbol : 1, // [13:13]
- force_extra_symbol : 1, // [14:14]
- reserved_18b : 1, // [15:15]
- tx_pwr_shared : 8, // [23:16]
- tx_pwr_unshared : 8; // [31:24]
- uint32_t ranging_active_user_map : 16, // [15:0]
- ranging_sent_dummy_tx : 1, // [16:16]
- ranging_ftm_frame_sent : 1, // [17:17]
- reserved_20a : 6, // [23:18]
- cv_corr_status : 8; // [31:24]
- uint32_t current_tx_duration : 16, // [15:0]
- reserved_21a : 16; // [31:16]
- #else
- uint32_t dpdtrain_done : 1, // [31:31]
- sta_response_count : 6, // [30:25]
- actual_received_ack_type : 4, // [24:21]
- cbf_bw_received : 3, // [20:18]
- cbf_bw_received_valid : 1, // [17:17]
- global_fes_transmit_result : 4, // [16:13]
- global_data_underflow_warning : 1, // [12:12]
- coex_wlan_tx_while_wlan_rx : 1, // [11:11]
- coex_wlan_tx_while_wlan_tx : 1, // [10:10]
- coex_wan_tx_while_wlan_rx : 1, // [9:9]
- coex_wan_tx_while_wlan_tx : 1, // [8:8]
- coex_bt_tx_while_wlan_rx : 1, // [7:7]
- coex_bt_tx_while_wlan_tx : 1, // [6:6]
- prot_coex_wlan_tx_while_wlan_rx : 1, // [5:5]
- prot_coex_wlan_tx_while_wlan_tx : 1, // [4:4]
- prot_coex_wan_tx_while_wlan_rx : 1, // [3:3]
- prot_coex_wan_tx_while_wlan_tx : 1, // [2:2]
- prot_coex_bt_tx_while_wlan_rx : 1, // [1:1]
- prot_coex_bt_tx_while_wlan_tx : 1; // [0:0]
- uint32_t only_null_delim_sent : 1, // [31:31]
- null_delim_inserted_before_mpdus : 1, // [30:30]
- fes_in_11ax_trigger_response_config : 1, // [29:29]
- phytx_abort_request_info_valid : 1, // [28:28]
- phytx_pkt_end_info_valid : 1, // [27:27]
- reserved_1a : 6, // [26:21]
- brp_info_valid : 1, // [20:20]
- reserved_after_struct16 : 4; // [19:16]
- struct phytx_abort_request_info phytx_abort_request_info_details;
- uint32_t start_of_frame_timestamp_31_16 : 16, // [31:16]
- start_of_frame_timestamp_15_0 : 16; // [15:0]
- uint32_t end_of_frame_timestamp_31_16 : 16, // [31:16]
- end_of_frame_timestamp_15_0 : 16; // [15:0]
- uint32_t transmit_delay : 16, // [31:16]
- r2r_end_status_to_follow : 1, // [15:15]
- response_type : 5, // [14:10]
- timing_status : 2, // [9:8]
- reserved_4a : 7, // [7:1]
- terminate_ranging_sequence : 1; // [0:0]
- uint32_t tpc_dbg_info_cmn_15_0 : 16, // [31:16]
- reserved_5a : 4, // [15:12]
- tx_group_delay : 12; // [11:0]
- uint32_t tpc_dbg_info_47_32 : 16, // [31:16]
- tpc_dbg_info_cmn_31_16 : 16; // [15:0]
- uint32_t tpc_dbg_info_chn1_31_16 : 16, // [31:16]
- tpc_dbg_info_chn1_15_0 : 16; // [15:0]
- uint32_t tpc_dbg_info_chn1_63_48 : 16, // [31:16]
- tpc_dbg_info_chn1_47_32 : 16; // [15:0]
- uint32_t tpc_dbg_info_chn2_15_0 : 16, // [31:16]
- tpc_dbg_info_chn1_79_64 : 16; // [15:0]
- uint32_t tpc_dbg_info_chn2_47_32 : 16, // [31:16]
- tpc_dbg_info_chn2_31_16 : 16; // [15:0]
- uint32_t tpc_dbg_info_chn2_79_64 : 16, // [31:16]
- tpc_dbg_info_chn2_63_48 : 16; // [15:0]
- uint32_t phytx_tx_end_sw_info_31_16 : 16, // [31:16]
- phytx_tx_end_sw_info_15_0 : 16; // [15:0]
- uint32_t phytx_tx_end_sw_info_63_48 : 16, // [31:16]
- phytx_tx_end_sw_info_47_32 : 16; // [15:0]
- uint32_t beamform_masked_user_bitmap_31_16 : 16, // [31:16]
- beamform_masked_user_bitmap_15_0 : 16; // [15:0]
- uint32_t pdg_mpdu_ready : 1, // [31:31]
- beamform_masked_user_bitmap_36_32 : 5, // [30:26]
- obss_pd_based_transmit_status : 1, // [25:25]
- srp_based_transmit_status : 1, // [24:24]
- obss_srg_opport_transmit_status : 1, // [23:23]
- static_2_pwr_mode_status : 1, // [22:22]
- use_alt_power_sr : 1, // [21:21]
- highest_achieved_data_null_ratio : 5, // [20:16]
- cbf_segment_sent_mask : 8, // [15:8]
- cbf_segment_request_mask : 8; // [7:0]
- uint32_t pdg_est_mpdu_tx_count : 16, // [31:16]
- pdg_mpdu_count : 16; // [15:0]
- uint32_t pdg_dropped_mpdu_warning : 1, // [31:31]
- txop_duration : 7, // [30:24]
- pdg_overview_length : 24; // [23:0]
- uint32_t reserved_17a : 4, // [31:28]
- ru_size : 4, // [27:24]
- num_data_symbols : 16, // [23:8]
- stbc : 1, // [7:7]
- fec_type : 1, // [6:6]
- packet_extension : 3, // [5:3]
- packet_extension_pe_disambiguity : 1, // [2:2]
- packet_extension_a_factor : 2; // [1:0]
- uint32_t tx_pwr_unshared : 8, // [31:24]
- tx_pwr_shared : 8, // [23:16]
- reserved_18b : 1, // [15:15]
- force_extra_symbol : 1, // [14:14]
- ldpc_extra_symbol : 1, // [13:13]
- dcm : 1, // [12:12]
- reserved_18a : 5, // [11:7]
- cp_setting : 2, // [6:5]
- ltf_size : 2, // [4:3]
- num_ltf_symbols : 3; // [2:0]
- uint32_t cv_corr_status : 8, // [31:24]
- reserved_20a : 6, // [23:18]
- ranging_ftm_frame_sent : 1, // [17:17]
- ranging_sent_dummy_tx : 1, // [16:16]
- ranging_active_user_map : 16; // [15:0]
- uint32_t reserved_21a : 16, // [31:16]
- current_tx_duration : 16; // [15:0]
- #endif
- };
- /* Description PROT_COEX_BT_TX_WHILE_WLAN_TX
- When set, a BT tx coex event started while wlan was in the
- middle of TX a transmission.
-
- Field set when coex_status_broadcast TLV received with bt
- tx activity set and during WLAN tx
- <legal all>
- */
- #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_TX_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_TX_LSB 0
- #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_TX_MSB 0
- #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_TX_MASK 0x0000000000000001
- /* Description PROT_COEX_BT_TX_WHILE_WLAN_RX
- When set, a BT tx coex event started while wlan was in the
- middle of TX a transmission.
-
- Field set when coex broadcast TLV received with bt tx activity
- set and during WLAN rx
- <legal all>
- */
- #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_RX_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_RX_LSB 1
- #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_RX_MSB 1
- #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_RX_MASK 0x0000000000000002
- /* Description PROT_COEX_WAN_TX_WHILE_WLAN_TX
- When set, a WAN tx coex event started while wlan was in
- the middle of TX a transmission.
-
- Field set when coex_status_broadcast TLV received with WAN
- tx activity set and during WLAN tx
- <legal all>
- */
- #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_TX_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_TX_LSB 2
- #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_TX_MSB 2
- #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_TX_MASK 0x0000000000000004
- /* Description PROT_COEX_WAN_TX_WHILE_WLAN_RX
- When set, a WAN tx coex event started while wlan was in
- the middle of TX a transmission.
-
- Field set when coex broadcast TLV received with WAN tx activity
- set and during WLAN rx
- <legal all>
- */
- #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_RX_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_RX_LSB 3
- #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_RX_MSB 3
- #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_RX_MASK 0x0000000000000008
- /* Description PROT_COEX_WLAN_TX_WHILE_WLAN_TX
- When set, a WLAN tx coex event started while wlan was in
- the middle of TX a transmission.
-
- Field set when coex_status_broadcast TLV received with WLAN
- tx activity set and during WLAN tx
- <legal all>
- */
- #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_TX_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_TX_LSB 4
- #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_TX_MSB 4
- #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_TX_MASK 0x0000000000000010
- /* Description PROT_COEX_WLAN_TX_WHILE_WLAN_RX
- When set, a WLAN tx coex event started while wlan was in
- the middle of TX a transmission.
-
- Field set when coex broadcast TLV received with WLAN tx
- activity set and during WLAN rx
- <legal all>
- */
- #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_RX_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_RX_LSB 5
- #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_RX_MSB 5
- #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_RX_MASK 0x0000000000000020
- /* Description COEX_BT_TX_WHILE_WLAN_TX
- When set, a BT tx coex event started while wlan was in the
- middle of TX a transmission.
-
- Field set when coex_status_broadcast TLV received with bt
- tx activity set and during WLAN tx
- <legal all>
- */
- #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_TX_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_TX_LSB 6
- #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_TX_MSB 6
- #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_TX_MASK 0x0000000000000040
- /* Description COEX_BT_TX_WHILE_WLAN_RX
- When set, a BT tx coex event started while wlan was in the
- middle of TX a transmission.
-
- Field set when coex broadcast TLV received with bt tx activity
- set and during WLAN rx
- <legal all>
- */
- #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_RX_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_RX_LSB 7
- #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_RX_MSB 7
- #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_RX_MASK 0x0000000000000080
- /* Description COEX_WAN_TX_WHILE_WLAN_TX
- When set, a WAN tx coex event started while wlan was in
- the middle of TX a transmission.
-
- Field set when coex_status_broadcast TLV received with WAN
- tx activity set and during WLAN tx
- <legal all>
- */
- #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_TX_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_TX_LSB 8
- #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_TX_MSB 8
- #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_TX_MASK 0x0000000000000100
- /* Description COEX_WAN_TX_WHILE_WLAN_RX
- When set, a WAN tx coex event started while wlan was in
- the middle of TX a transmission.
-
- Field set when coex broadcast TLV received with WAN tx activity
- set and during WLAN rx
- <legal all>
- */
- #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_RX_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_RX_LSB 9
- #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_RX_MSB 9
- #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_RX_MASK 0x0000000000000200
- /* Description COEX_WLAN_TX_WHILE_WLAN_TX
- When set, a WLAN tx coex event started while wlan was in
- the middle of TX a transmission.
-
- Field set when coex_status_broadcast TLV received with WLAN
- tx activity set and during WLAN tx
- <legal all>
- */
- #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_TX_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_TX_LSB 10
- #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_TX_MSB 10
- #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_TX_MASK 0x0000000000000400
- /* Description COEX_WLAN_TX_WHILE_WLAN_RX
- When set, a WLAN tx coex event started while wlan was in
- the middle of TX a transmission.
-
- Field set when coex broadcast TLV received with WLAN tx
- activity set and during WLAN rx
- <legal all>
- */
- #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_RX_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_RX_LSB 11
- #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_RX_MSB 11
- #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_RX_MASK 0x0000000000000800
- /* Description GLOBAL_DATA_UNDERFLOW_WARNING
- Consumer: SCH/SW
- Producer: TXPCU
-
- When set, during transmission a data underflow occurred
- for one or more users.<legal all>
- */
- #define TX_FES_STATUS_END_GLOBAL_DATA_UNDERFLOW_WARNING_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_GLOBAL_DATA_UNDERFLOW_WARNING_LSB 12
- #define TX_FES_STATUS_END_GLOBAL_DATA_UNDERFLOW_WARNING_MSB 12
- #define TX_FES_STATUS_END_GLOBAL_DATA_UNDERFLOW_WARNING_MASK 0x0000000000001000
- /* Description GLOBAL_FES_TRANSMIT_RESULT
- Consumer: SCH/SW
- Producer: TXPCU
-
- Global Transmit result, not per USER transmit result
-
- Note: field "Response_type" indicates if the expected response
- was MU related or not.
-
- <enum 0 tx_ok> Successful transmission of entire Frame exchange
- sequence
- <enum 1 prot_resp_rx_timeout>
- No Protection response frame received so timeout is triggered.
-
- <enum 2 ppdu_resp_rx_timeout> No PPDU response frame received
- so timeout is triggered.
- <enum 3 resp_frame_crc_err> Response frame was received
- with an invalid FCS.
- <enum 4 SU_Response_type_mismatch> Response frame is received
- without CRC error but it's not matched with expected SU_Response_type.
-
- <enum 5 cbf_mimo_ctrl_mismatch> Set if CBF is received without
- any error but the Nr, Nc, BW, type or token in VHT MIMO
- control field is not matched with expected values which
- are specified by TX_FES_SETUP.cbf_* fields.
- <enum 7 MU_Response_type_mismatch> Response frame is received
- without CRC error but it's not matched with expected SU_Response_type.
-
- <enum 8 MU_Response_mpdu_not_valid> For this user, no MPDU
- was received at all, or all received MPDUs had an FCS error.
-
- <enum 9 MU_UL_not_enough_user_response> An MU UL response
- reception was expected. That response came but the threshold
- for number of successful user receptions was not met.
- NOTE: This e-num will only be used in the TX_FES_STATUS_END
- TLV...
- <enum 10 Transmit_data_null_ratio_not_met> transmission
- was successful and proper responses have been received.
- But the required ratio between useful MPDU data and null
- delimiters was not met as specified by field : Fes_continuation_ratio_threshold.
- The FES (and potentially the SIFS burst) shall be terminated
- by the SCHeduler
- NOTE 1: This e-num will only be used in the TX_FES_STATUS_END
- TLV...
-
- <enum 6 TB_ranging_resp_timeout> A TB ranging response was
- expected for a sounding TF, but the response did not arrive
- and timeout is triggered.
- NOTE: This e-num will only be used in the TX_FES_STATUS_END
- TLV...
- <enum 11 tb_ranging_resp_mismatch> A TB ranging response
- was expected for a sounding TF, but the reception did not
- match the expected response.
- NOTE: This e-num will only be used in the TX_FES_STATUS_END
- TLV...
-
- <legal 0-11>
- */
- #define TX_FES_STATUS_END_GLOBAL_FES_TRANSMIT_RESULT_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_GLOBAL_FES_TRANSMIT_RESULT_LSB 13
- #define TX_FES_STATUS_END_GLOBAL_FES_TRANSMIT_RESULT_MSB 16
- #define TX_FES_STATUS_END_GLOBAL_FES_TRANSMIT_RESULT_MASK 0x000000000001e000
- /* Description CBF_BW_RECEIVED_VALID
- Field only valid in case of SU reception.
- In MU set to 0
-
- When set, the cbf_bw_received field contains valid info
- */
- #define TX_FES_STATUS_END_CBF_BW_RECEIVED_VALID_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_CBF_BW_RECEIVED_VALID_LSB 17
- #define TX_FES_STATUS_END_CBF_BW_RECEIVED_VALID_MSB 17
- #define TX_FES_STATUS_END_CBF_BW_RECEIVED_VALID_MASK 0x0000000000020000
- /* Description CBF_BW_RECEIVED
- Field only valid when cbf_bw_received_valid is set.
-
- In MU set to 0
-
- <enum 0 20_mhz>20 Mhz BW
- <enum 1 40_mhz>40 Mhz BW
- <enum 2 80_mhz>80 Mhz BW
- <enum 3 160_mhz>160 Mhz BW
- <enum 4 320_mhz>320 Mhz BW
- <enum 5 240_mhz>240 Mhz BW
- */
- #define TX_FES_STATUS_END_CBF_BW_RECEIVED_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_CBF_BW_RECEIVED_LSB 18
- #define TX_FES_STATUS_END_CBF_BW_RECEIVED_MSB 20
- #define TX_FES_STATUS_END_CBF_BW_RECEIVED_MASK 0x00000000001c0000
- /* Description ACTUAL_RECEIVED_ACK_TYPE
- Field only valid in case of SU reception.
- In MU set to 0
-
-
- Field indicates what type of ACK was received. Can help
- determine if unexpected ACK Types (like 256 BA instead of
- 64 BA) is received.
-
- <enum 0 Ack_not_applicable> No ACK type response was received
- or expected
- <enum 1 ACK_basic_received > a basic ACk frame is received
-
- <enum 2 ACK_BA_0 > An ACK embedded in BA frame is received
-
- <enum 3 ACK_BA_32_received > a 32 bit BA has been received
-
- <enum 4 ACK_BA_64_received > a 64 bit BA has been received
-
- <enum 5 ACK_BA_128_received > a 128 bit BA has been received
-
-
- <enum 6 ACK_BA_256_received > a 256 bit BA has been received
-
- <enum 8 ACK_BA_512_received> a 512-bit BA has been received
-
- <enum 9 ACK_BA_1024_received> a 1024-bit BA has been received
-
- <enum 7 ACK_BA_multiple_received > multiple BA responses
- have been received. This field to be used in scenarios
- where multi TID data was send or data with management frames
- was send
-
- <legal 0-9>
- */
- #define TX_FES_STATUS_END_ACTUAL_RECEIVED_ACK_TYPE_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_ACTUAL_RECEIVED_ACK_TYPE_LSB 21
- #define TX_FES_STATUS_END_ACTUAL_RECEIVED_ACK_TYPE_MSB 24
- #define TX_FES_STATUS_END_ACTUAL_RECEIVED_ACK_TYPE_MASK 0x0000000001e00000
- /* Description STA_RESPONSE_COUNT
- In of case of a transmission where a response from multiple
- STAs in SIFS time is expected, this field indicates how
- many STAs actually send a response.
-
- <legal 0-63>
- */
- #define TX_FES_STATUS_END_STA_RESPONSE_COUNT_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_STA_RESPONSE_COUNT_LSB 25
- #define TX_FES_STATUS_END_STA_RESPONSE_COUNT_MSB 30
- #define TX_FES_STATUS_END_STA_RESPONSE_COUNT_MASK 0x000000007e000000
- /* Description DPDTRAIN_DONE
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- For DPD Training packets, this bit is set to indicate that
- DPD Training was successfully run to completion. Also
- reused by Implicit BF Calibration Packets. This bit is intended
- for debug purposes.
- <legal all>
- */
- #define TX_FES_STATUS_END_DPDTRAIN_DONE_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_DPDTRAIN_DONE_LSB 31
- #define TX_FES_STATUS_END_DPDTRAIN_DONE_MSB 31
- #define TX_FES_STATUS_END_DPDTRAIN_DONE_MASK 0x0000000080000000
- /* Description PHYTX_ABORT_REQUEST_INFO_DETAILS
- Field only valid when PHYTX_ABORT_REQUEST_info_valid is
- set
-
- The reason why PHYTX is requested an abort
- */
- /* Description PHYTX_ABORT_REASON
- Reason for early termination of TX packet by the PHY
-
- <enum_type PHYTX_ABORT_ENUM>
- */
- #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_LSB 32
- #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_MSB 39
- #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_MASK 0x000000ff00000000
- /* Description USER_NUMBER
- For some errors, the user for which this error was detected
- can be indicated in this field.
- <legal 0-36>
- */
- #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_LSB 40
- #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_MSB 45
- #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_MASK 0x00003f0000000000
- /* Description RESERVED
- <legal 0>
- */
- #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_LSB 46
- #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_MSB 47
- #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_MASK 0x0000c00000000000
- /* Description RESERVED_AFTER_STRUCT16
- <legal 0>
- */
- #define TX_FES_STATUS_END_RESERVED_AFTER_STRUCT16_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_RESERVED_AFTER_STRUCT16_LSB 48
- #define TX_FES_STATUS_END_RESERVED_AFTER_STRUCT16_MSB 51
- #define TX_FES_STATUS_END_RESERVED_AFTER_STRUCT16_MASK 0x000f000000000000
- /* Description BRP_INFO_VALID
- When set, TXPCU sent CBF segments.
-
- Fields cbf_segment_request_mask and cbf_segment_sent_mask
- contain valid info.
-
- <legal all>
- */
- #define TX_FES_STATUS_END_BRP_INFO_VALID_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_BRP_INFO_VALID_LSB 52
- #define TX_FES_STATUS_END_BRP_INFO_VALID_MSB 52
- #define TX_FES_STATUS_END_BRP_INFO_VALID_MASK 0x0010000000000000
- /* Description RESERVED_1A
- <legal 0>
- */
- #define TX_FES_STATUS_END_RESERVED_1A_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_RESERVED_1A_LSB 53
- #define TX_FES_STATUS_END_RESERVED_1A_MSB 58
- #define TX_FES_STATUS_END_RESERVED_1A_MASK 0x07e0000000000000
- /* Description PHYTX_PKT_END_INFO_VALID
- All the fields originating from PHYTX_PKT_END TLV contain
- valid info
- */
- #define TX_FES_STATUS_END_PHYTX_PKT_END_INFO_VALID_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_PHYTX_PKT_END_INFO_VALID_LSB 59
- #define TX_FES_STATUS_END_PHYTX_PKT_END_INFO_VALID_MSB 59
- #define TX_FES_STATUS_END_PHYTX_PKT_END_INFO_VALID_MASK 0x0800000000000000
- /* Description PHYTX_ABORT_REQUEST_INFO_VALID
- Field Phytx_abort_request_info_details contains valid info
-
- */
- #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_VALID_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_VALID_LSB 60
- #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_VALID_MSB 60
- #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_VALID_MASK 0x1000000000000000
- /* Description FES_IN_11AX_TRIGGER_RESPONSE_CONFIG
- When set, this transmission was the result of responding
- to the reception of an 11ax trigger. This is a copy of
- field Fes_in_11ax_Trigger_response_config in the TX_FES_SETUP
- TLV.
- <legal all>
- */
- #define TX_FES_STATUS_END_FES_IN_11AX_TRIGGER_RESPONSE_CONFIG_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_FES_IN_11AX_TRIGGER_RESPONSE_CONFIG_LSB 61
- #define TX_FES_STATUS_END_FES_IN_11AX_TRIGGER_RESPONSE_CONFIG_MSB 61
- #define TX_FES_STATUS_END_FES_IN_11AX_TRIGGER_RESPONSE_CONFIG_MASK 0x2000000000000000
- /* Description NULL_DELIM_INSERTED_BEFORE_MPDUS
- Field only valid when "Fes_in_11ax_Trigger_response_config"
- is set.
-
- This bit will get set if any NULL delimiter is sent out
- to PHY, during the whole transmit duration(self_gen + FES).
-
- This bit will NOT be set, if no MPDU data is sent out to
- PHY and whole transmit duration is filled with NULL delimiters.
-
-
- Note that SCH does not evaluate this field. It is only for
- SW to look at.
-
- <legal all>
- */
- #define TX_FES_STATUS_END_NULL_DELIM_INSERTED_BEFORE_MPDUS_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_NULL_DELIM_INSERTED_BEFORE_MPDUS_LSB 62
- #define TX_FES_STATUS_END_NULL_DELIM_INSERTED_BEFORE_MPDUS_MSB 62
- #define TX_FES_STATUS_END_NULL_DELIM_INSERTED_BEFORE_MPDUS_MASK 0x4000000000000000
- /* Description ONLY_NULL_DELIM_SENT
- Field only valid when "Fes_in_11ax_Trigger_response_config"
- is set.
-
- This bit will be set if only NULL delimiters are sent to
- the PHY and no SCH sourced MPDU data is sent out.
- NOTE here that self-gen MPDU data will not be considered
- while evaluating this bit.
-
- Note that SCH does not evaluate this field. It is only for
- SW to look at.
-
- <legal all>
- */
- #define TX_FES_STATUS_END_ONLY_NULL_DELIM_SENT_OFFSET 0x0000000000000000
- #define TX_FES_STATUS_END_ONLY_NULL_DELIM_SENT_LSB 63
- #define TX_FES_STATUS_END_ONLY_NULL_DELIM_SENT_MSB 63
- #define TX_FES_STATUS_END_ONLY_NULL_DELIM_SENT_MASK 0x8000000000000000
- /* Description START_OF_FRAME_TIMESTAMP_15_0
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- bits 15:0 of a 64 bit time stamp
- Start of frame in the medium @960 MHz
- <legal all>
- */
- #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_15_0_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_15_0_LSB 0
- #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_15_0_MSB 15
- #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_15_0_MASK 0x000000000000ffff
- /* Description START_OF_FRAME_TIMESTAMP_31_16
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- bits 31:16 of a 64 bit time stamp
- Start of frame in the medium @960 MHz
- <legal all>
- */
- #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_31_16_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_31_16_LSB 16
- #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_31_16_MSB 31
- #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_31_16_MASK 0x00000000ffff0000
- /* Description END_OF_FRAME_TIMESTAMP_15_0
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- bits 15:0 of a 64 bit time stamp
- End of frame in the medium @960 MHz
- <legal all>
- */
- #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_15_0_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_15_0_LSB 32
- #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_15_0_MSB 47
- #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_15_0_MASK 0x0000ffff00000000
- /* Description END_OF_FRAME_TIMESTAMP_31_16
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- bits 31:16 of a 64 bit time stamp
- End of frame in the medium @960 MHz
- <legal all>
- */
- #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_31_16_OFFSET 0x0000000000000008
- #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_31_16_LSB 48
- #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_31_16_MSB 63
- #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_31_16_MASK 0xffff000000000000
- /* Description TERMINATE_RANGING_SEQUENCE
- Consumer: SW/SCH
- Producer: TXPCU
-
- If set to 1, HWSCH will flush the TX pipeline and terminate
- the ongoing SIFS sequence for TB Ranging.
-
- TXPCU to set it only in the context of TB Ranging, when
- the condition to terminate the TB Ranging sequence is met
-
-
- <legal all>
- */
- #define TX_FES_STATUS_END_TERMINATE_RANGING_SEQUENCE_OFFSET 0x0000000000000010
- #define TX_FES_STATUS_END_TERMINATE_RANGING_SEQUENCE_LSB 0
- #define TX_FES_STATUS_END_TERMINATE_RANGING_SEQUENCE_MSB 0
- #define TX_FES_STATUS_END_TERMINATE_RANGING_SEQUENCE_MASK 0x0000000000000001
- /* Description RESERVED_4A
- <legal 0>
- */
- #define TX_FES_STATUS_END_RESERVED_4A_OFFSET 0x0000000000000010
- #define TX_FES_STATUS_END_RESERVED_4A_LSB 1
- #define TX_FES_STATUS_END_RESERVED_4A_MSB 7
- #define TX_FES_STATUS_END_RESERVED_4A_MASK 0x00000000000000fe
- /* Description TIMING_STATUS
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- <enum 0 No_tx_timing_request> The MAC did not request for
- the transmission to start at a particular time
- <enum 1 successful_tx_timing > MAC did request for transmission
- to start at a particular time and PHY was able to do so.
-
- <enum 2 tx_timing_not_honoured> PHY was not able to honour
- the requested transmit time by the MAC. The transmission
- started later, and field transmit_delay indicates how much
- later.
- <legal 0-2>
- */
- #define TX_FES_STATUS_END_TIMING_STATUS_OFFSET 0x0000000000000010
- #define TX_FES_STATUS_END_TIMING_STATUS_LSB 8
- #define TX_FES_STATUS_END_TIMING_STATUS_MSB 9
- #define TX_FES_STATUS_END_TIMING_STATUS_MASK 0x0000000000000300
- /* Description RESPONSE_TYPE
- The response type that TXPCU was checking for
-
- <enum 0 no_response_expected>After transmission of this
- frame, no response in SIFS time is expected
-
- When TXPCU sees this setting, it shall not generated the
- EXPECTED_RESPONSE TLV.
-
- RXPCU should never see this setting
- <enum 1 ack_expected>An ACK frame is expected as response
-
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received.
- <enum 2 ba_64_bitmap_expected>BA with 64 bitmap is expected.
-
-
- PDG DOES NOT use the size info to calculated response duration.
- The length of the response will have to be programmed by
- SW in the per-BW 'Expected_ppdu_resp_length' field.
-
- For TXPCU only the fact that it is a BA is important. Actual
- received BA size is not important
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received.
- <enum 3 ba_256_expected>BA with 256 bitmap is expected.
-
- PDG DOES NOT use the size info to calculated response duration.
- The length of the response will have to be programmed by
- SW in the per-BW 'Expected_ppdu_resp_length' field.
-
- For TXPCU only the fact that it is a BA is important. Actual
- received BA size is not important
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received.
- <enum 4 actionnoack_expected>SW sets this after sending
- NDP or BR-Poll.
-
- As PDG has no idea on how long the reception is going to
- be, the reception time of the response will have to be
- programmed by SW in the 'Extend_duration_value_bw...' field
-
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received.
- <enum 5 ack_ba_expected>PDG uses the size info and assumes
- single BA format with ACK and 64 bitmap embedded.
- If SW expects more bitmaps in case of multi-TID, is shall
- program the 'Extend_duration_value_bw...' field for additional
- duration time.
- For TXPCU only the fact that an ACK and/or BA is received
- is important. Reception of only ACK or BA is also considered
- a success.
- SW also typically sets this when sending VHT single MPDU.
- Some chip vendors might send BA rather than ACK in response
- to VHT single MPDU but still we want to accept BA as well.
-
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received.
- <enum 6 cts_expected>SW sets this after queuing RTS frame
- as standalone packet and sending it.
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received.
- <enum 7 ack_data_expected>SW sets this after sending PS-Poll.
-
-
- For TXPCU either ACK and/or data reception is considered
- success.
- PDG basis it's response duration calculation on an ACK.
- For the data portion, SW shall program the 'Extend_duration_value_bw...'
- field
- <enum 8 ndp_ack_expected>Reserved for 11ah usage.
- <enum 9 ndp_modified_ack>Reserved for 11ah usage
- <enum 10 ndp_ba_expected>Reserved for 11ah usage.
- <enum 11 ndp_cts_expected>Reserved for 11ah usage
- <enum 12 ndp_ack_or_ndp_modified_ack_expected>Reserved for
- 11ah usage
-
- TXPCU expects UL MU OFDMA or UL MU MIMO reception.
- As PDG does not know how RUs are assigned for the uplink
- portion, PDG can not calculate the uplink duration. Therefor
- SW shall program the 'Extend_duration_value_bw...' field
-
-
- RXPCU will report any frame received, irrespective of it
- having been UL MU or SU It is TXPCUs responsibility to
- distinguish between the UL MU or SU
-
- TXPCU can check in TLV RECEIVED_RESPONSE_INFO MU_Response_BA_bitmap
- if indeed BA was received
-
- TXPCU expects UL MU OFDMA or UL MU MIMO reception.
- As PDG does not know how RUs are assigned for the uplink
- portion, PDG can not calculate the uplink duration. Therefor
- SW shall program the 'Extend_duration_value_bw...' field
-
-
- RXPCU will report any frame received, irrespective of it
- having been UL MU or SU It is TXPCUs responsibility to
- distinguish between the UL MU or SU
-
- TXPCU can check in TLV RECEIVED_RESPONSE_INFO, field MU_Response_data_bitmap
- and MU_Response_BA_bitmap if indeed BA and data was received
-
- When selected, CBF frames are expected to be received in
- MU reception (uplink OFDMA or uplink MIMO)
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received
- TXPCU can check in TLV RECEIVED_RESPONSE_INFO, field MU_Response_cbf_bitmap
- if indeed CBF frames were received.
- <enum 16 ul_mu_frames_expected>When selected, MPDU frames
- are expected in the MU reception (uplink OFDMA or uplink
- MIMO)
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received
-
- TXPCU can check in TLV RECEIVED_RESPONSE_INFO, field MU_Response_bitmap
- if indeed frames were received.
- <enum 17 any_response_to_this_device>Any response expected
- to be send to this device in SIFS time is acceptable.
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received
-
- For TXPCU, UL MU or SU is both acceptable.
-
- Can be used for complex OFDMA scenarios. PDG can not calculate
- the uplink duration. Therefor SW shall program the 'Extend_duration_value_bw...'
- field
- <enum 18 any_response_accepted>Any frame in the medium to
- this or any other device, is acceptable as response.
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received
-
- For TXPCU, UL MU or SU is both acceptable.
-
- Can be used for complex OFDMA scenarios. PDG can not calculate
- the uplink duration. Therefor SW shall program the 'Extend_duration_value_bw...'
- field
- <enum 19 frameless_phyrx_response_accepted>Any MU frameless
- reception generated by the PHY is acceptable.
-
- PHY indicates this type of reception explicitly in TLV PHYRX_RSSI_LEGACY,
- field Reception_type == reception_is_frameless
-
- RXPCU will report any frame received, irrespective of it
- having been UL MU or SU.
-
- This can be used for complex MU-MIMO or OFDMA scenarios,
- like receiving MU-CTS.
-
- PDG can not calculate the uplink duration. Therefor SW shall
- program the 'Extend_duration_value_bw...' field
- <enum 20 ranging_ndp_and_lmr_expected>SW sets this after
- sending ranging NDPA followed by NDP as an ISTA and NDP
- and LMR (Action No Ack) are expected as back-to-back reception
- in SIFS.
-
- As PDG has no idea on how long the reception is going to
- be, the reception time of the response will have to be
- programmed by SW in the 'Extend_duration_value_bw...' field
-
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received.
- <enum 21 ba_512_expected>BA with 512 bitmap is expected.
-
-
- PDG DOES NOT use the size info to calculated response duration.
- The length of the response will have to be programmed by
- SW in the per-BW 'Expected_ppdu_resp_length' field.
-
- For TXPCU only the fact that it is a BA is important. Actual
- received BA size is not important
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received.
- <enum 22 ba_1024_expected>BA with 1024 bitmap is expected.
-
-
- PDG DOES NOT use the size info to calculated response duration.
- The length of the response will have to be programmed by
- SW in the per-BW 'Expected_ppdu_resp_length' field.
-
- For TXPCU only the fact that it is a BA is important. Actual
- received BA size is not important
-
- RXPCU is just expecting any response. It is TXPCU who checks
- that the right response was received.
- <enum 23 ul_mu_ranging_cts2s_expected>When selected, CTS2S
- frames are expected to be received in MU reception (uplink
- OFDMA)
-
- RXPCU shall check each response for CTS2S and report to
- TXPCU.
-
- TXPCU can check in the TLV 'RECEIVED_RESPONSE_INFO,' fields
- 'MU_Response_bitmap' and 'TB_Ranging_Resp' if indeed CTS2S
- frames were received.
- <enum 24 ul_mu_ranging_ndp_expected>When selected, UL NDP
- frames are expected to be received in MU reception (uplink
- spatial multiplexing)
-
- RXPCU shall check each response for NDP and report to TXPCU.
-
-
- TXPCU can check in the TLV 'RECEIVED_RESPONSE_INFO,' fields
- 'MU_Response_bitmap' and 'TB_Ranging_Resp' if indeed NDP
- frames were received.
- <enum 25 ul_mu_ranging_lmr_expected>When selected, LMR frames
- are expected to be received in MU reception (uplink OFDMA
- or uplink MIMO)
-
- RXPCU shall check each response for LMR and report to TXPCU.
-
-
- TXPCU can check in the TLV 'RECEIVED_RESPONSE_INFO,' fields
- 'MU_Response_bitmap' and 'TB_Ranging_Resp' if indeed LMR
- frames were received.
- */
- #define TX_FES_STATUS_END_RESPONSE_TYPE_OFFSET 0x0000000000000010
- #define TX_FES_STATUS_END_RESPONSE_TYPE_LSB 10
- #define TX_FES_STATUS_END_RESPONSE_TYPE_MSB 14
- #define TX_FES_STATUS_END_RESPONSE_TYPE_MASK 0x0000000000007c00
- /* Description R2R_END_STATUS_TO_FOLLOW
- When set, TXPCU will still generate an R2R frame (typically
- M-BA), and the 'R2R_STATUS_END' TLV.
- <legal all>
- */
- #define TX_FES_STATUS_END_R2R_END_STATUS_TO_FOLLOW_OFFSET 0x0000000000000010
- #define TX_FES_STATUS_END_R2R_END_STATUS_TO_FOLLOW_LSB 15
- #define TX_FES_STATUS_END_R2R_END_STATUS_TO_FOLLOW_MSB 15
- #define TX_FES_STATUS_END_R2R_END_STATUS_TO_FOLLOW_MASK 0x0000000000008000
- /* Description TRANSMIT_DELAY
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- The number of 480 MHz clock cycles that the transmission
- started after the actual requested transmit start time.
-
- Value saturates at 0xFFFF
- <legal all>
- */
- #define TX_FES_STATUS_END_TRANSMIT_DELAY_OFFSET 0x0000000000000010
- #define TX_FES_STATUS_END_TRANSMIT_DELAY_LSB 16
- #define TX_FES_STATUS_END_TRANSMIT_DELAY_MSB 31
- #define TX_FES_STATUS_END_TRANSMIT_DELAY_MASK 0x00000000ffff0000
- /* Description TX_GROUP_DELAY
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- Group delay on TxTD+PHYRF path for this PPDU (packet BW
- dependent), useful for RTT
-
- Unit is 960MHz cycles.
- <legal all>
- */
- #define TX_FES_STATUS_END_TX_GROUP_DELAY_OFFSET 0x0000000000000010
- #define TX_FES_STATUS_END_TX_GROUP_DELAY_LSB 32
- #define TX_FES_STATUS_END_TX_GROUP_DELAY_MSB 43
- #define TX_FES_STATUS_END_TX_GROUP_DELAY_MASK 0x00000fff00000000
- /* Description RESERVED_5A
- Bits [14:12]: service_cbw:
-
- Field only valid when a response was received
-
- Source of the info here is the 'RECEIVED_RESPONSE_INFO'
- TLV
-
- This field reflects the BW extracted from the Serivce Field
- for 11ac mode of operation .
-
- This field is used in the context of Dynamic BW evaluation
- purposes in SCH in case of SW-queued protection frame.
-
- Please refer 'BW_ENUM' e-num for the values used.
- <legal 0-5>
- */
- #define TX_FES_STATUS_END_RESERVED_5A_OFFSET 0x0000000000000010
- #define TX_FES_STATUS_END_RESERVED_5A_LSB 44
- #define TX_FES_STATUS_END_RESERVED_5A_MSB 47
- #define TX_FES_STATUS_END_RESERVED_5A_MASK 0x0000f00000000000
- /* Description TPC_DBG_INFO_CMN_15_0
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- Some TPC debug info that PHY can pass back to MAC FW
- <legal all>
- */
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_15_0_OFFSET 0x0000000000000010
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_15_0_LSB 48
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_15_0_MSB 63
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_15_0_MASK 0xffff000000000000
- /* Description TPC_DBG_INFO_CMN_31_16
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- Some TPC debug info that PHY can pass back to MAC FW
- <legal all>
- */
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_31_16_OFFSET 0x0000000000000018
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_31_16_LSB 0
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_31_16_MSB 15
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_31_16_MASK 0x000000000000ffff
- /* Description TPC_DBG_INFO_47_32
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- Some TPC debu info that PHY can pass back to MAC FW
- <legal all>
- */
- #define TX_FES_STATUS_END_TPC_DBG_INFO_47_32_OFFSET 0x0000000000000018
- #define TX_FES_STATUS_END_TPC_DBG_INFO_47_32_LSB 16
- #define TX_FES_STATUS_END_TPC_DBG_INFO_47_32_MSB 31
- #define TX_FES_STATUS_END_TPC_DBG_INFO_47_32_MASK 0x00000000ffff0000
- /* Description TPC_DBG_INFO_CHN1_15_0
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- Some per-chain TPC debug info for the first selected chain
- that PHY can pass back to MAC FW
- <legal all>
- */
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_15_0_OFFSET 0x0000000000000018
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_15_0_LSB 32
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_15_0_MSB 47
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_15_0_MASK 0x0000ffff00000000
- /* Description TPC_DBG_INFO_CHN1_31_16
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- Some per-chain TPC debug info for the first selected chain
- that PHY can pass back to MAC FW
- <legal all>
- */
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_31_16_OFFSET 0x0000000000000018
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_31_16_LSB 48
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_31_16_MSB 63
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_31_16_MASK 0xffff000000000000
- /* Description TPC_DBG_INFO_CHN1_47_32
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- Some per-chain TPC debug info for the first selected chain
- that PHY can pass back to MAC FW
- <legal all>
- */
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_47_32_OFFSET 0x0000000000000020
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_47_32_LSB 0
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_47_32_MSB 15
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_47_32_MASK 0x000000000000ffff
- /* Description TPC_DBG_INFO_CHN1_63_48
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- Some per-chain TPC debug info for the first selected chain
- that PHY can pass back to MAC FW
- <legal all>
- */
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_63_48_OFFSET 0x0000000000000020
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_63_48_LSB 16
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_63_48_MSB 31
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_63_48_MASK 0x00000000ffff0000
- /* Description TPC_DBG_INFO_CHN1_79_64
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- Some per-chain TPC debug info for the first selected chain
- that PHY can pass back to MAC FW
- <legal all>
- */
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_79_64_OFFSET 0x0000000000000020
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_79_64_LSB 32
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_79_64_MSB 47
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_79_64_MASK 0x0000ffff00000000
- /* Description TPC_DBG_INFO_CHN2_15_0
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- Some per-chain TPC debug info for the second selected chain
- that PHY can pass back to MAC FW
- <legal all>
- */
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_15_0_OFFSET 0x0000000000000020
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_15_0_LSB 48
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_15_0_MSB 63
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_15_0_MASK 0xffff000000000000
- /* Description TPC_DBG_INFO_CHN2_31_16
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- Some per-chain TPC debug info for the second selected chain
- that PHY can pass back to MAC FW
- <legal all>
- */
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_31_16_OFFSET 0x0000000000000028
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_31_16_LSB 0
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_31_16_MSB 15
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_31_16_MASK 0x000000000000ffff
- /* Description TPC_DBG_INFO_CHN2_47_32
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- Some per-chain TPC debug info for the second selected chain
- that PHY can pass back to MAC FW
- <legal all>
- */
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_47_32_OFFSET 0x0000000000000028
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_47_32_LSB 16
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_47_32_MSB 31
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_47_32_MASK 0x00000000ffff0000
- /* Description TPC_DBG_INFO_CHN2_63_48
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- Some per-chain TPC debug info for the second selected chain
- that PHY can pass back to MAC FW
- <legal all>
- */
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_63_48_OFFSET 0x0000000000000028
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_63_48_LSB 32
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_63_48_MSB 47
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_63_48_MASK 0x0000ffff00000000
- /* Description TPC_DBG_INFO_CHN2_79_64
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- Some per-chain TPC debug info for the second selected chain
- that PHY can pass back to MAC FW
- <legal all>
- */
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_79_64_OFFSET 0x0000000000000028
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_79_64_LSB 48
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_79_64_MSB 63
- #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_79_64_MASK 0xffff000000000000
- /* Description PHYTX_TX_END_SW_INFO_15_0
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- Some PHY status data that PHY microcode can pass back to
- MAC FW, for any future requests, e.g. any DMA download
- time
- <legal all>
- */
- #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_15_0_OFFSET 0x0000000000000030
- #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_15_0_LSB 0
- #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_15_0_MSB 15
- #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_15_0_MASK 0x000000000000ffff
- /* Description PHYTX_TX_END_SW_INFO_31_16
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- Some PHY status data that PHY microcode can pass back to
- MAC FW, for any future requests, e.g. any DMA download
- time
- <legal all>
- */
- #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_31_16_OFFSET 0x0000000000000030
- #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_31_16_LSB 16
- #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_31_16_MSB 31
- #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_31_16_MASK 0x00000000ffff0000
- /* Description PHYTX_TX_END_SW_INFO_47_32
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- Some PHY status data that PHY microcode can pass back to
- MAC FW, for any future requests, e.g. any DMA download
- time
- <legal all>
- */
- #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_47_32_OFFSET 0x0000000000000030
- #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_47_32_LSB 32
- #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_47_32_MSB 47
- #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_47_32_MASK 0x0000ffff00000000
- /* Description PHYTX_TX_END_SW_INFO_63_48
- PHYTX_PKT_END info
-
- Field only valid when PHYTX_PKT_END_info_valid is set
-
- Some PHY status data that PHY microcode can pass back to
- MAC FW, for any future requests, e.g. any DMA download
- time
- <legal all>
- */
- #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_63_48_OFFSET 0x0000000000000030
- #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_63_48_LSB 48
- #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_63_48_MSB 63
- #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_63_48_MASK 0xffff000000000000
- /* Description BEAMFORM_MASKED_USER_BITMAP_15_0
- Lower 16 bits of 'Beamform_masked_user_bitmap'
-
- PHY indicates in this field for which users it actually
- did not beamform it's transmission even though this was
- requested
-
- Bit 0: user 0, bit 1: user 1, etc.
-
- When 0: No beamform issue for this user
- When 1: PHY could not beamform for this user, but did not
- terminate the transmission
-
- <legal all>
- */
- #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_15_0_OFFSET 0x0000000000000038
- #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_15_0_LSB 0
- #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_15_0_MSB 15
- #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_15_0_MASK 0x000000000000ffff
- /* Description BEAMFORM_MASKED_USER_BITMAP_31_16
- Middle 16 bits of 'Beamform_masked_user_bitmap'
- See description above.
- <legal all>
- */
- #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_31_16_OFFSET 0x0000000000000038
- #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_31_16_LSB 16
- #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_31_16_MSB 31
- #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_31_16_MASK 0x00000000ffff0000
- /* Description CBF_SEGMENT_REQUEST_MASK
- Field only valid when brp_info_valid is set.
-
- Field equal to the 'Feedback Segment Retransmission Bitmap'
- from the Beamform Report Poll frame OR Beamform Report Poll
- Trigger frame
-
- Bit 0 represents segment 0
- Bit 1 represents segment 1
- Etc.
-
- 1'b1: Segment is requested
- 1'b0: Segment is NOT requested
-
- <legal all>
- */
- #define TX_FES_STATUS_END_CBF_SEGMENT_REQUEST_MASK_OFFSET 0x0000000000000038
- #define TX_FES_STATUS_END_CBF_SEGMENT_REQUEST_MASK_LSB 32
- #define TX_FES_STATUS_END_CBF_SEGMENT_REQUEST_MASK_MSB 39
- #define TX_FES_STATUS_END_CBF_SEGMENT_REQUEST_MASK_MASK 0x000000ff00000000
- /* Description CBF_SEGMENT_SENT_MASK
- Field only valid when brp_info_valid is set.
-
- Bit 0 represents segment 0
- Bit 1 represents segment 1
- Etc.
-
- 1'b1: Segment is sent
- 1'b0: Segment is not sent
-
- <legal all>
- */
- #define TX_FES_STATUS_END_CBF_SEGMENT_SENT_MASK_OFFSET 0x0000000000000038
- #define TX_FES_STATUS_END_CBF_SEGMENT_SENT_MASK_LSB 40
- #define TX_FES_STATUS_END_CBF_SEGMENT_SENT_MASK_MSB 47
- #define TX_FES_STATUS_END_CBF_SEGMENT_SENT_MASK_MASK 0x0000ff0000000000
- /* Description HIGHEST_ACHIEVED_DATA_NULL_RATIO
- Highest DATA:NULL ratio achieved for the current FES
-
- <enum 0 No_Data_Null_ratio_requirement> There was no Data:NULL
- ratio established.
- <enum 1 Data_Null_ratio_16_1> Best Data:NULL ratio was 16:1.
-
- <enum 2 Data_Null_ratio_8_1> Best Data:NULL ratio was 8:1.
-
- <enum 3 Data_Null_ratio_4_1> Best Data:NULL ratio was 4:1.
-
- <enum 4 Data_Null_ratio_2_1> Best Data:NULL ratio was 2:1.
-
- <enum 5 Data_Null_ratio_1_1> Best Data:NULL ratio was 1:1.
-
- terminate FES.
- <enum 6 Data_Null_ratio_1_2> Best Data:NULL ratio was 1:2.
-
- <enum 7 Data_Null_ratio_1_4> Best Data:NULL ratio was 1:4.
-
- <enum 8 Data_Null_ratio_1_8> Best Data:NULL ratio was 1:8.
-
- <enum 9 Data_Null_ratio_1_16> Best Data:NULL ratio was 1:16.
-
-
- <legal 0-9>
- */
- #define TX_FES_STATUS_END_HIGHEST_ACHIEVED_DATA_NULL_RATIO_OFFSET 0x0000000000000038
- #define TX_FES_STATUS_END_HIGHEST_ACHIEVED_DATA_NULL_RATIO_LSB 48
- #define TX_FES_STATUS_END_HIGHEST_ACHIEVED_DATA_NULL_RATIO_MSB 52
- #define TX_FES_STATUS_END_HIGHEST_ACHIEVED_DATA_NULL_RATIO_MASK 0x001f000000000000
- /* Description USE_ALT_POWER_SR
- 0: Primary/default power1: Alternate power
- <legal all>
- */
- #define TX_FES_STATUS_END_USE_ALT_POWER_SR_OFFSET 0x0000000000000038
- #define TX_FES_STATUS_END_USE_ALT_POWER_SR_LSB 53
- #define TX_FES_STATUS_END_USE_ALT_POWER_SR_MSB 53
- #define TX_FES_STATUS_END_USE_ALT_POWER_SR_MASK 0x0020000000000000
- /* Description STATIC_2_PWR_MODE_STATUS
- 0: Static 2 power mode disabled1: Static 2 power mode enabled
-
- <legal all>
- */
- #define TX_FES_STATUS_END_STATIC_2_PWR_MODE_STATUS_OFFSET 0x0000000000000038
- #define TX_FES_STATUS_END_STATIC_2_PWR_MODE_STATUS_LSB 54
- #define TX_FES_STATUS_END_STATIC_2_PWR_MODE_STATUS_MSB 54
- #define TX_FES_STATUS_END_STATIC_2_PWR_MODE_STATUS_MASK 0x0040000000000000
- /* Description OBSS_SRG_OPPORT_TRANSMIT_STATUS
- 0: Transmit based on SRG OBSS_PD opportunity initiated1:
- Transmit based on non-SRG OBSS_PD opportunity initiated
- <legal all>
- */
- #define TX_FES_STATUS_END_OBSS_SRG_OPPORT_TRANSMIT_STATUS_OFFSET 0x0000000000000038
- #define TX_FES_STATUS_END_OBSS_SRG_OPPORT_TRANSMIT_STATUS_LSB 55
- #define TX_FES_STATUS_END_OBSS_SRG_OPPORT_TRANSMIT_STATUS_MSB 55
- #define TX_FES_STATUS_END_OBSS_SRG_OPPORT_TRANSMIT_STATUS_MASK 0x0080000000000000
- /* Description SRP_BASED_TRANSMIT_STATUS
- 0: non-SRP based transmit initiated1: SRP based transmit
- initiated
- <legal all>
- */
- #define TX_FES_STATUS_END_SRP_BASED_TRANSMIT_STATUS_OFFSET 0x0000000000000038
- #define TX_FES_STATUS_END_SRP_BASED_TRANSMIT_STATUS_LSB 56
- #define TX_FES_STATUS_END_SRP_BASED_TRANSMIT_STATUS_MSB 56
- #define TX_FES_STATUS_END_SRP_BASED_TRANSMIT_STATUS_MASK 0x0100000000000000
- /* Description OBSS_PD_BASED_TRANSMIT_STATUS
- 0: non-OBSS_PD based transmit initiated1: obss_pd based
- transmit initiated
- <legal all>
- */
- #define TX_FES_STATUS_END_OBSS_PD_BASED_TRANSMIT_STATUS_OFFSET 0x0000000000000038
- #define TX_FES_STATUS_END_OBSS_PD_BASED_TRANSMIT_STATUS_LSB 57
- #define TX_FES_STATUS_END_OBSS_PD_BASED_TRANSMIT_STATUS_MSB 57
- #define TX_FES_STATUS_END_OBSS_PD_BASED_TRANSMIT_STATUS_MASK 0x0200000000000000
- /* Description BEAMFORM_MASKED_USER_BITMAP_36_32
- Upper 5 bits of 'Beamform_masked_user_bitmap'
- See description above.
- <legal all>
- */
- #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_36_32_OFFSET 0x0000000000000038
- #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_36_32_LSB 58
- #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_36_32_MSB 62
- #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_36_32_MASK 0x7c00000000000000
- /* Description PDG_MPDU_READY
- Field only valid in case of SU transmissions, copied over
- by TXPCU from 'PCU_PPDU_SETUP_END'
-
- Indicates the 'MPDU_INFO' or 'MPDU_QUEUE_OVERVIEW' ready
- status in PDG.
- <legal all>
- */
- #define TX_FES_STATUS_END_PDG_MPDU_READY_OFFSET 0x0000000000000038
- #define TX_FES_STATUS_END_PDG_MPDU_READY_LSB 63
- #define TX_FES_STATUS_END_PDG_MPDU_READY_MSB 63
- #define TX_FES_STATUS_END_PDG_MPDU_READY_MASK 0x8000000000000000
- /* Description PDG_MPDU_COUNT
- Field only valid in case of SU transmissions when pdg_MPDU_ready
- is set, copied over by TXPCU from 'PCU_PPDU_SETUP_END'
-
- Total MPDU count from 'MPDU_INFO' or 'MPDU_QUEUE_OVERVIEW'
-
- <legal 0-2130>
- */
- #define TX_FES_STATUS_END_PDG_MPDU_COUNT_OFFSET 0x0000000000000040
- #define TX_FES_STATUS_END_PDG_MPDU_COUNT_LSB 0
- #define TX_FES_STATUS_END_PDG_MPDU_COUNT_MSB 15
- #define TX_FES_STATUS_END_PDG_MPDU_COUNT_MASK 0x000000000000ffff
- /* Description PDG_EST_MPDU_TX_COUNT
- Field only valid in case of SU transmissions when pdg_MPDU_ready
- is set, copied over by TXPCU from 'PCU_PPDU_SETUP_END'
-
- PDG estimated MPDU Tx count from 'MPDU_INFO' or 'MPDU_QUEUE_OVERVIEW'
- limited by timing boundaries (HWSCH, COEX, SR, etc.)
- <legal 0-1024>
- */
- #define TX_FES_STATUS_END_PDG_EST_MPDU_TX_COUNT_OFFSET 0x0000000000000040
- #define TX_FES_STATUS_END_PDG_EST_MPDU_TX_COUNT_LSB 16
- #define TX_FES_STATUS_END_PDG_EST_MPDU_TX_COUNT_MSB 31
- #define TX_FES_STATUS_END_PDG_EST_MPDU_TX_COUNT_MASK 0x00000000ffff0000
- /* Description PDG_OVERVIEW_LENGTH
- Field only valid in case of SU transmissions when pdg_MPDU_ready
- is set, copied over by TXPCU from 'PCU_PPDU_SETUP_END'
-
- PDG estimated A-MPDU length from 'MPDU_QUEUE_OVERVIEW' limited
- by timing boundaries (HWSCH, COEX, SR, etc.)
- <legal all>
- */
- #define TX_FES_STATUS_END_PDG_OVERVIEW_LENGTH_OFFSET 0x0000000000000040
- #define TX_FES_STATUS_END_PDG_OVERVIEW_LENGTH_LSB 32
- #define TX_FES_STATUS_END_PDG_OVERVIEW_LENGTH_MSB 55
- #define TX_FES_STATUS_END_PDG_OVERVIEW_LENGTH_MASK 0x00ffffff00000000
- /* Description TXOP_DURATION
- TXOP_DURATION of HE-SIG-A calculated by PDG, to be copied
- from 'PCU_PPDU_SETUP_END' by TXPCU
- */
- #define TX_FES_STATUS_END_TXOP_DURATION_OFFSET 0x0000000000000040
- #define TX_FES_STATUS_END_TXOP_DURATION_LSB 56
- #define TX_FES_STATUS_END_TXOP_DURATION_MSB 62
- #define TX_FES_STATUS_END_TXOP_DURATION_MASK 0x7f00000000000000
- /* Description PDG_DROPPED_MPDU_WARNING
- Warning that PDG has dropped MPDUs due to SFM FIFO full
- condition, to be copied from 'PCU_PPDU_SETUP_END' by TXPCU
-
- */
- #define TX_FES_STATUS_END_PDG_DROPPED_MPDU_WARNING_OFFSET 0x0000000000000040
- #define TX_FES_STATUS_END_PDG_DROPPED_MPDU_WARNING_LSB 63
- #define TX_FES_STATUS_END_PDG_DROPPED_MPDU_WARNING_MSB 63
- #define TX_FES_STATUS_END_PDG_DROPPED_MPDU_WARNING_MASK 0x8000000000000000
- /* Description PACKET_EXTENSION_A_FACTOR
- The "a-factor" of the trigger-based PPDU response, to be
- copied from 'PCU_PPDU_SETUP_END' by TXPCU
-
- This affects the packet extension duration.
-
- <enum 0 a_factor_4>
- <enum 1 a_factor_1>
- <enum 2 a_factor_2>
- <enum 3 a_factor_3>
-
- <legal all>
- */
- #define TX_FES_STATUS_END_PACKET_EXTENSION_A_FACTOR_OFFSET 0x0000000000000048
- #define TX_FES_STATUS_END_PACKET_EXTENSION_A_FACTOR_LSB 0
- #define TX_FES_STATUS_END_PACKET_EXTENSION_A_FACTOR_MSB 1
- #define TX_FES_STATUS_END_PACKET_EXTENSION_A_FACTOR_MASK 0x0000000000000003
- /* Description PACKET_EXTENSION_PE_DISAMBIGUITY
- The "PE-Disambiguity" of the trigger-based PPDU response,
- to be copied from 'PCU_PPDU_SETUP_END' by TXPCU
-
- This affects the packet extension duration.
-
- <legal all>
- */
- #define TX_FES_STATUS_END_PACKET_EXTENSION_PE_DISAMBIGUITY_OFFSET 0x0000000000000048
- #define TX_FES_STATUS_END_PACKET_EXTENSION_PE_DISAMBIGUITY_LSB 2
- #define TX_FES_STATUS_END_PACKET_EXTENSION_PE_DISAMBIGUITY_MSB 2
- #define TX_FES_STATUS_END_PACKET_EXTENSION_PE_DISAMBIGUITY_MASK 0x0000000000000004
- /* Description PACKET_EXTENSION
- Packet extension size, to be copied from 'PCU_PPDU_SETUP_END'
- by TXPCU
-
- This is valid for all PPDUs including HE-Ranging NDPs (11az)
- and Short-NDPs.
-
- <enum 0 packet_ext_0>
- <enum 1 packet_ext_4>
- <enum 2 packet_ext_8>
- <enum 3 packet_ext_12>
- <enum 4 packet_ext_16>
- <enum 5 packet_ext_20>
- <legal 0 - 5>
- */
- #define TX_FES_STATUS_END_PACKET_EXTENSION_OFFSET 0x0000000000000048
- #define TX_FES_STATUS_END_PACKET_EXTENSION_LSB 3
- #define TX_FES_STATUS_END_PACKET_EXTENSION_MSB 5
- #define TX_FES_STATUS_END_PACKET_EXTENSION_MASK 0x0000000000000038
- /* Description FEC_TYPE
- For trigger-based PPDU response, to be copied from 'PCU_PPDU_SETUP_END'
- by TXPCU
- 0: BCC
- 1: LDPC
- <legal all>
- */
- #define TX_FES_STATUS_END_FEC_TYPE_OFFSET 0x0000000000000048
- #define TX_FES_STATUS_END_FEC_TYPE_LSB 6
- #define TX_FES_STATUS_END_FEC_TYPE_MSB 6
- #define TX_FES_STATUS_END_FEC_TYPE_MASK 0x0000000000000040
- /* Description STBC
- For trigger-based PPDU response, to be copied from 'PCU_PPDU_SETUP_END'
- by TXPCU
-
- When set, this transmission is based on STBC rates.
- */
- #define TX_FES_STATUS_END_STBC_OFFSET 0x0000000000000048
- #define TX_FES_STATUS_END_STBC_LSB 7
- #define TX_FES_STATUS_END_STBC_MSB 7
- #define TX_FES_STATUS_END_STBC_MASK 0x0000000000000080
- /* Description NUM_DATA_SYMBOLS
- The number of data symbols in the transmission, to be copied
- from 'PCU_PPDU_SETUP_END' by TXPCU
-
- This does not include PE_LTF. Also for STBC packets this
- has to be an even number. This is valid for all PPDUs.
- */
- #define TX_FES_STATUS_END_NUM_DATA_SYMBOLS_OFFSET 0x0000000000000048
- #define TX_FES_STATUS_END_NUM_DATA_SYMBOLS_LSB 8
- #define TX_FES_STATUS_END_NUM_DATA_SYMBOLS_MSB 23
- #define TX_FES_STATUS_END_NUM_DATA_SYMBOLS_MASK 0x0000000000ffff00
- /* Description RU_SIZE
- The size of the RU for this user, for trigger-based PPDU
- response, to be copied from 'PCU_PPDU_SETUP_END' by TXPCU
-
-
- <enum 0 RU_26>
- <enum 1 RU_52>
- <enum 2 RU_106>
- <enum 3 RU_242>
- <enum 4 RU_484>
- <enum 5 RU_996>
- <enum 6 RU_1992>
- <enum 7 RU_FULLBW> Set when the RU occupies the full packet
- bandwidth
- <enum 8 RU_FULLBW_240> Set when the RU occupies the full
- packet bandwidth
- <enum 9 RU_FULLBW_320> Set when the RU occupies the full
- packet bandwidth
- <enum 10 RU_MULTI_LARGE> HW will use per-user sub-band-mask
- to infer the actual RU-size for Multi-large-RU/SU-Puncturing
-
- <enum 11 RU_78> multi small RU
- <enum 12 RU_132> multi small RU
- <legal 0-12>
- */
- #define TX_FES_STATUS_END_RU_SIZE_OFFSET 0x0000000000000048
- #define TX_FES_STATUS_END_RU_SIZE_LSB 24
- #define TX_FES_STATUS_END_RU_SIZE_MSB 27
- #define TX_FES_STATUS_END_RU_SIZE_MASK 0x000000000f000000
- #define TX_FES_STATUS_END_RESERVED_17A_OFFSET 0x0000000000000048
- #define TX_FES_STATUS_END_RESERVED_17A_LSB 28
- #define TX_FES_STATUS_END_RESERVED_17A_MSB 31
- #define TX_FES_STATUS_END_RESERVED_17A_MASK 0x00000000f0000000
- /* Description NUM_LTF_SYMBOLS
- Indicates the number of HE-LTF symbols, for trigger-based
- PPDU response, to be copied from 'PCU_PPDU_SETUP_END' by
- TXPCU
-
- 0: 1 symbol
- 1: 2 symbols
- 2: 3 symbols
- 3: 4 symbols
- 4: 5 symbols
- 5: 6 symbols
- 6: 7 symbols
- 7: 8 symbols
-
- NOTE that this encoding is different from what is in "Num_LTF_symbols"
- in the HE_SIG_A_MU_DL.
- <legal all>
- */
- #define TX_FES_STATUS_END_NUM_LTF_SYMBOLS_OFFSET 0x0000000000000048
- #define TX_FES_STATUS_END_NUM_LTF_SYMBOLS_LSB 32
- #define TX_FES_STATUS_END_NUM_LTF_SYMBOLS_MSB 34
- #define TX_FES_STATUS_END_NUM_LTF_SYMBOLS_MASK 0x0000000700000000
- /* Description LTF_SIZE
- Ltf size, to be copied from 'PCU_PPDU_SETUP_END' by TXPCU
-
-
- This is valid for all PPDUs including HE-Ranging NDPs (11az)
- and Short-NDPs.
-
- <enum 0 ltf_1x >
- <enum 1 ltf_2x >
- <enum 2 ltf_4x >
- <legal 0 - 2>
- */
- #define TX_FES_STATUS_END_LTF_SIZE_OFFSET 0x0000000000000048
- #define TX_FES_STATUS_END_LTF_SIZE_LSB 35
- #define TX_FES_STATUS_END_LTF_SIZE_MSB 36
- #define TX_FES_STATUS_END_LTF_SIZE_MASK 0x0000001800000000
- /* Description CP_SETTING
- Field only valid when pkt type is HT, VHT or HE
-
- GI setting, to be copied from 'PCU_PPDU_SETUP_END' by TXPCU
-
-
- This is valid for all PPDUs including HE-Ranging NDPs (11az)
- and Short-NDPs.
-
- <enum 0 gi_0_8_us > Legacy normal GI
- <enum 1 gi_0_4_us > Legacy short GI
- <enum 2 gi_1_6_us > HE related GI
- <enum 3 gi_3_2_us > HE related GI
- <legal 0 - 3>
- */
- #define TX_FES_STATUS_END_CP_SETTING_OFFSET 0x0000000000000048
- #define TX_FES_STATUS_END_CP_SETTING_LSB 37
- #define TX_FES_STATUS_END_CP_SETTING_MSB 38
- #define TX_FES_STATUS_END_CP_SETTING_MASK 0x0000006000000000
- #define TX_FES_STATUS_END_RESERVED_18A_OFFSET 0x0000000000000048
- #define TX_FES_STATUS_END_RESERVED_18A_LSB 39
- #define TX_FES_STATUS_END_RESERVED_18A_MSB 43
- #define TX_FES_STATUS_END_RESERVED_18A_MASK 0x00000f8000000000
- /* Description DCM
- Field only valid in case of 11ax transmission
-
- Indicates whether dual sub-carrier modulation is applied,
- for trigger-based PPDU response, to be copied from 'PCU_PPDU_SETUP_END'
- by TXPCU
- 0: No DCM
- 1:DCM
- <legal all>
- */
- #define TX_FES_STATUS_END_DCM_OFFSET 0x0000000000000048
- #define TX_FES_STATUS_END_DCM_LSB 44
- #define TX_FES_STATUS_END_DCM_MSB 44
- #define TX_FES_STATUS_END_DCM_MASK 0x0000100000000000
- /* Description LDPC_EXTRA_SYMBOL
- Set to 1 if the LDPC PPDU encoding process (if an SU PPDU),
- or at least one LDPC user's PPDU encoding process (if an
- MU PPDU), results in an extra OFDM symbol (or symbols)
- as described in 22.3.10.5.4 (LDPC coding) and 22.3.10.5.5
- (Encoding process for MU PPDUs). Set to 0 otherwise.
-
- To be copied from 'PCU_PPDU_SETUP_END' by TXPCU
- <legal all>
- */
- #define TX_FES_STATUS_END_LDPC_EXTRA_SYMBOL_OFFSET 0x0000000000000048
- #define TX_FES_STATUS_END_LDPC_EXTRA_SYMBOL_LSB 45
- #define TX_FES_STATUS_END_LDPC_EXTRA_SYMBOL_MSB 45
- #define TX_FES_STATUS_END_LDPC_EXTRA_SYMBOL_MASK 0x0000200000000000
- /* Description FORCE_EXTRA_SYMBOL
- Set to 1 to force an extra OFDM symbol (or symbols) even
- if none of the users' PPDU encoding process resuls in an
- extra OFDM symbol (or symbols).
-
- To be copied from 'PCU_PPDU_SETUP_END' by TXPCU
- <legal all>
- */
- #define TX_FES_STATUS_END_FORCE_EXTRA_SYMBOL_OFFSET 0x0000000000000048
- #define TX_FES_STATUS_END_FORCE_EXTRA_SYMBOL_LSB 46
- #define TX_FES_STATUS_END_FORCE_EXTRA_SYMBOL_MSB 46
- #define TX_FES_STATUS_END_FORCE_EXTRA_SYMBOL_MASK 0x0000400000000000
- /* Description RESERVED_18B
- <legal 0>
- */
- #define TX_FES_STATUS_END_RESERVED_18B_OFFSET 0x0000000000000048
- #define TX_FES_STATUS_END_RESERVED_18B_LSB 47
- #define TX_FES_STATUS_END_RESERVED_18B_MSB 47
- #define TX_FES_STATUS_END_RESERVED_18B_MASK 0x0000800000000000
- /* Description TX_PWR_SHARED
- Transmit Power (signed value) in units of 0.25 dBm, to be
- copied from 'PCU_PPDU_SETUP_END' by TXPCU
- <legal all>
- */
- #define TX_FES_STATUS_END_TX_PWR_SHARED_OFFSET 0x0000000000000048
- #define TX_FES_STATUS_END_TX_PWR_SHARED_LSB 48
- #define TX_FES_STATUS_END_TX_PWR_SHARED_MSB 55
- #define TX_FES_STATUS_END_TX_PWR_SHARED_MASK 0x00ff000000000000
- /* Description TX_PWR_UNSHARED
- Transmit Power (signed value) in units of 0.25 dBm, to be
- copied from 'PCU_PPDU_SETUP_END' by TXPCU
- <legal all>
- */
- #define TX_FES_STATUS_END_TX_PWR_UNSHARED_OFFSET 0x0000000000000048
- #define TX_FES_STATUS_END_TX_PWR_UNSHARED_LSB 56
- #define TX_FES_STATUS_END_TX_PWR_UNSHARED_MSB 63
- #define TX_FES_STATUS_END_TX_PWR_UNSHARED_MASK 0xff00000000000000
- /* Description RANGING_ACTIVE_USER_MAP
- Field only valid for TB Ranging transmissions
-
- TXPCU sets this to the current active user bitmap, with
- each bit set to:
- 1: for an active user, and
- 0: for any user not part of the ranging.
-
- */
- #define TX_FES_STATUS_END_RANGING_ACTIVE_USER_MAP_OFFSET 0x0000000000000050
- #define TX_FES_STATUS_END_RANGING_ACTIVE_USER_MAP_LSB 0
- #define TX_FES_STATUS_END_RANGING_ACTIVE_USER_MAP_MSB 15
- #define TX_FES_STATUS_END_RANGING_ACTIVE_USER_MAP_MASK 0x000000000000ffff
- /* Description RANGING_SENT_DUMMY_TX
- Field only valid for TB Ranging transmissions
-
- TXPCU sets this bit if some user's 'STA Info' or 'User Info'
- was sent out as dummy, or the whole transmission was sent
- out as dummy.
- */
- #define TX_FES_STATUS_END_RANGING_SENT_DUMMY_TX_OFFSET 0x0000000000000050
- #define TX_FES_STATUS_END_RANGING_SENT_DUMMY_TX_LSB 16
- #define TX_FES_STATUS_END_RANGING_SENT_DUMMY_TX_MSB 16
- #define TX_FES_STATUS_END_RANGING_SENT_DUMMY_TX_MASK 0x0000000000010000
- /* Description RANGING_FTM_FRAME_SENT
- Field only valid for Ranging transmissions
-
- TXPCU sets this bit if an FTM frame aggregated with an LMR
- was sent.
- */
- #define TX_FES_STATUS_END_RANGING_FTM_FRAME_SENT_OFFSET 0x0000000000000050
- #define TX_FES_STATUS_END_RANGING_FTM_FRAME_SENT_LSB 17
- #define TX_FES_STATUS_END_RANGING_FTM_FRAME_SENT_MSB 17
- #define TX_FES_STATUS_END_RANGING_FTM_FRAME_SENT_MASK 0x0000000000020000
- /* Description RESERVED_20A
- <legal 0>
- */
- #define TX_FES_STATUS_END_RESERVED_20A_OFFSET 0x0000000000000050
- #define TX_FES_STATUS_END_RESERVED_20A_LSB 18
- #define TX_FES_STATUS_END_RESERVED_20A_MSB 23
- #define TX_FES_STATUS_END_RESERVED_20A_MASK 0x0000000000fc0000
- /* Description CV_CORR_STATUS
- CV correlation status from 'PHYTX_CV_CORR_STATUS,' to be
- copied from 'PCU_PPDU_SETUP_END' by TXPCU
- <legal all>
- */
- #define TX_FES_STATUS_END_CV_CORR_STATUS_OFFSET 0x0000000000000050
- #define TX_FES_STATUS_END_CV_CORR_STATUS_LSB 24
- #define TX_FES_STATUS_END_CV_CORR_STATUS_MSB 31
- #define TX_FES_STATUS_END_CV_CORR_STATUS_MASK 0x00000000ff000000
- /* Description CURRENT_TX_DURATION
- The duration of the transmission in us, copied over from
- PCU_PPDU_SETUP_{END, START} as the case may be
- <legal all>
- */
- #define TX_FES_STATUS_END_CURRENT_TX_DURATION_OFFSET 0x0000000000000050
- #define TX_FES_STATUS_END_CURRENT_TX_DURATION_LSB 32
- #define TX_FES_STATUS_END_CURRENT_TX_DURATION_MSB 47
- #define TX_FES_STATUS_END_CURRENT_TX_DURATION_MASK 0x0000ffff00000000
- /* Description RESERVED_21A
- Bits [19:16]: num_cts2self_transmitted:
-
- Number of CTS2SELF frames transmitted in this FES
-
- <legal 0-15>
- */
- #define TX_FES_STATUS_END_RESERVED_21A_OFFSET 0x0000000000000050
- #define TX_FES_STATUS_END_RESERVED_21A_LSB 48
- #define TX_FES_STATUS_END_RESERVED_21A_MSB 63
- #define TX_FES_STATUS_END_RESERVED_21A_MASK 0xffff000000000000
- #endif // TX_FES_STATUS_END
|