123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229 |
- /* 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_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...
- NOTE 2: This Feature is not supported in Napier and Hastings.
-
- <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
- <enum 13 ul_mu_ba_expected>NOT SUPPORTED IN NAPIER AX AND
- HASTINGS
-
- 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
- <enum 14 ul_mu_ba_and_data_expected>NOT SUPPORTED IN NAPIER
- AX AND HASTINGS
-
- 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
-
- <enum 15 ul_mu_cbf_expected>NOT SUPPORTED IN NAPIER AX AND
- HASTINGS
-
- 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
- /* Description RESERVED_17A
- Hamilton v1 used this for 'Nss' for trigger-based PPDU response.
-
- <legal 0>
- */
- #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
- /* Description RESERVED_18A
- Hamilton v1 used bits [11:8] for 'Mcs' for trigger-based
- PPDU response.
- <legal 0>
- */
- #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.
-
- Hamilton v1 did not include this (and any subsequent) word.
-
- */
- #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
|