wmi-tlv.h 88 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682
  1. /* SPDX-License-Identifier: ISC */
  2. /*
  3. * Copyright (c) 2005-2011 Atheros Communications Inc.
  4. * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
  5. * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
  6. */
  7. #ifndef _WMI_TLV_H
  8. #define _WMI_TLV_H
  9. #include <linux/bitops.h>
  10. #define WMI_TLV_CMD(grp_id) (((grp_id) << 12) | 0x1)
  11. #define WMI_TLV_EV(grp_id) (((grp_id) << 12) | 0x1)
  12. #define WMI_TLV_CMD_UNSUPPORTED 0
  13. #define WMI_TLV_PDEV_PARAM_UNSUPPORTED 0
  14. #define WMI_TLV_VDEV_PARAM_UNSUPPORTED 0
  15. #define WMI_TLV_MGMT_TX_FRAME_MAX_LEN 64
  16. #define WMI_RSRC_CFG_FLAG_TX_ACK_RSSI BIT(18)
  17. enum wmi_tlv_grp_id {
  18. WMI_TLV_GRP_START = 0x3,
  19. WMI_TLV_GRP_SCAN = WMI_TLV_GRP_START,
  20. WMI_TLV_GRP_PDEV,
  21. WMI_TLV_GRP_VDEV,
  22. WMI_TLV_GRP_PEER,
  23. WMI_TLV_GRP_MGMT,
  24. WMI_TLV_GRP_BA_NEG,
  25. WMI_TLV_GRP_STA_PS,
  26. WMI_TLV_GRP_DFS,
  27. WMI_TLV_GRP_ROAM,
  28. WMI_TLV_GRP_OFL_SCAN,
  29. WMI_TLV_GRP_P2P,
  30. WMI_TLV_GRP_AP_PS,
  31. WMI_TLV_GRP_RATECTL,
  32. WMI_TLV_GRP_PROFILE,
  33. WMI_TLV_GRP_SUSPEND,
  34. WMI_TLV_GRP_BCN_FILTER,
  35. WMI_TLV_GRP_WOW,
  36. WMI_TLV_GRP_RTT,
  37. WMI_TLV_GRP_SPECTRAL,
  38. WMI_TLV_GRP_STATS,
  39. WMI_TLV_GRP_ARP_NS_OFL,
  40. WMI_TLV_GRP_NLO_OFL,
  41. WMI_TLV_GRP_GTK_OFL,
  42. WMI_TLV_GRP_CSA_OFL,
  43. WMI_TLV_GRP_CHATTER,
  44. WMI_TLV_GRP_TID_ADDBA,
  45. WMI_TLV_GRP_MISC,
  46. WMI_TLV_GRP_GPIO,
  47. WMI_TLV_GRP_FWTEST,
  48. WMI_TLV_GRP_TDLS,
  49. WMI_TLV_GRP_RESMGR,
  50. WMI_TLV_GRP_STA_SMPS,
  51. WMI_TLV_GRP_WLAN_HB,
  52. WMI_TLV_GRP_RMC,
  53. WMI_TLV_GRP_MHF_OFL,
  54. WMI_TLV_GRP_LOCATION_SCAN,
  55. WMI_TLV_GRP_OEM,
  56. WMI_TLV_GRP_NAN,
  57. WMI_TLV_GRP_COEX,
  58. WMI_TLV_GRP_OBSS_OFL,
  59. WMI_TLV_GRP_LPI,
  60. WMI_TLV_GRP_EXTSCAN,
  61. WMI_TLV_GRP_DHCP_OFL,
  62. WMI_TLV_GRP_IPA,
  63. WMI_TLV_GRP_MDNS_OFL,
  64. WMI_TLV_GRP_SAP_OFL,
  65. };
  66. enum wmi_tlv_cmd_id {
  67. WMI_TLV_INIT_CMDID = 0x1,
  68. WMI_TLV_START_SCAN_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_SCAN),
  69. WMI_TLV_STOP_SCAN_CMDID,
  70. WMI_TLV_SCAN_CHAN_LIST_CMDID,
  71. WMI_TLV_SCAN_SCH_PRIO_TBL_CMDID,
  72. WMI_TLV_SCAN_UPDATE_REQUEST_CMDID,
  73. WMI_TLV_SCAN_PROB_REQ_OUI_CMDID,
  74. WMI_TLV_PDEV_SET_REGDOMAIN_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_PDEV),
  75. WMI_TLV_PDEV_SET_CHANNEL_CMDID,
  76. WMI_TLV_PDEV_SET_PARAM_CMDID,
  77. WMI_TLV_PDEV_PKTLOG_ENABLE_CMDID,
  78. WMI_TLV_PDEV_PKTLOG_DISABLE_CMDID,
  79. WMI_TLV_PDEV_SET_WMM_PARAMS_CMDID,
  80. WMI_TLV_PDEV_SET_HT_CAP_IE_CMDID,
  81. WMI_TLV_PDEV_SET_VHT_CAP_IE_CMDID,
  82. WMI_TLV_PDEV_SET_DSCP_TID_MAP_CMDID,
  83. WMI_TLV_PDEV_SET_QUIET_MODE_CMDID,
  84. WMI_TLV_PDEV_GREEN_AP_PS_ENABLE_CMDID,
  85. WMI_TLV_PDEV_GET_TPC_CONFIG_CMDID,
  86. WMI_TLV_PDEV_SET_BASE_MACADDR_CMDID,
  87. WMI_TLV_PDEV_DUMP_CMDID,
  88. WMI_TLV_PDEV_SET_LED_CONFIG_CMDID,
  89. WMI_TLV_PDEV_GET_TEMPERATURE_CMDID,
  90. WMI_TLV_PDEV_SET_LED_FLASHING_CMDID,
  91. WMI_TLV_VDEV_CREATE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_VDEV),
  92. WMI_TLV_VDEV_DELETE_CMDID,
  93. WMI_TLV_VDEV_START_REQUEST_CMDID,
  94. WMI_TLV_VDEV_RESTART_REQUEST_CMDID,
  95. WMI_TLV_VDEV_UP_CMDID,
  96. WMI_TLV_VDEV_STOP_CMDID,
  97. WMI_TLV_VDEV_DOWN_CMDID,
  98. WMI_TLV_VDEV_SET_PARAM_CMDID,
  99. WMI_TLV_VDEV_INSTALL_KEY_CMDID,
  100. WMI_TLV_VDEV_WNM_SLEEPMODE_CMDID,
  101. WMI_TLV_VDEV_WMM_ADDTS_CMDID,
  102. WMI_TLV_VDEV_WMM_DELTS_CMDID,
  103. WMI_TLV_VDEV_SET_WMM_PARAMS_CMDID,
  104. WMI_TLV_VDEV_SET_GTX_PARAMS_CMDID,
  105. WMI_TLV_VDEV_IPSEC_NATKEEPALIVE_FILTER_CMDID,
  106. WMI_TLV_VDEV_PLMREQ_START_CMDID,
  107. WMI_TLV_VDEV_PLMREQ_STOP_CMDID,
  108. WMI_TLV_PEER_CREATE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_PEER),
  109. WMI_TLV_PEER_DELETE_CMDID,
  110. WMI_TLV_PEER_FLUSH_TIDS_CMDID,
  111. WMI_TLV_PEER_SET_PARAM_CMDID,
  112. WMI_TLV_PEER_ASSOC_CMDID,
  113. WMI_TLV_PEER_ADD_WDS_ENTRY_CMDID,
  114. WMI_TLV_PEER_REMOVE_WDS_ENTRY_CMDID,
  115. WMI_TLV_PEER_MCAST_GROUP_CMDID,
  116. WMI_TLV_PEER_INFO_REQ_CMDID,
  117. WMI_TLV_PEER_GET_ESTIMATED_LINKSPEED_CMDID,
  118. WMI_TLV_BCN_TX_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_MGMT),
  119. WMI_TLV_PDEV_SEND_BCN_CMDID,
  120. WMI_TLV_BCN_TMPL_CMDID,
  121. WMI_TLV_BCN_FILTER_RX_CMDID,
  122. WMI_TLV_PRB_REQ_FILTER_RX_CMDID,
  123. WMI_TLV_MGMT_TX_CMDID,
  124. WMI_TLV_PRB_TMPL_CMDID,
  125. WMI_TLV_MGMT_TX_SEND_CMD,
  126. WMI_TLV_ADDBA_CLEAR_RESP_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_BA_NEG),
  127. WMI_TLV_ADDBA_SEND_CMDID,
  128. WMI_TLV_ADDBA_STATUS_CMDID,
  129. WMI_TLV_DELBA_SEND_CMDID,
  130. WMI_TLV_ADDBA_SET_RESP_CMDID,
  131. WMI_TLV_SEND_SINGLEAMSDU_CMDID,
  132. WMI_TLV_STA_POWERSAVE_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_STA_PS),
  133. WMI_TLV_STA_POWERSAVE_PARAM_CMDID,
  134. WMI_TLV_STA_MIMO_PS_MODE_CMDID,
  135. WMI_TLV_PDEV_DFS_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_DFS),
  136. WMI_TLV_PDEV_DFS_DISABLE_CMDID,
  137. WMI_TLV_DFS_PHYERR_FILTER_ENA_CMDID,
  138. WMI_TLV_DFS_PHYERR_FILTER_DIS_CMDID,
  139. WMI_TLV_ROAM_SCAN_MODE = WMI_TLV_CMD(WMI_TLV_GRP_ROAM),
  140. WMI_TLV_ROAM_SCAN_RSSI_THRESHOLD,
  141. WMI_TLV_ROAM_SCAN_PERIOD,
  142. WMI_TLV_ROAM_SCAN_RSSI_CHANGE_THRESHOLD,
  143. WMI_TLV_ROAM_AP_PROFILE,
  144. WMI_TLV_ROAM_CHAN_LIST,
  145. WMI_TLV_ROAM_SCAN_CMD,
  146. WMI_TLV_ROAM_SYNCH_COMPLETE,
  147. WMI_TLV_ROAM_SET_RIC_REQUEST_CMDID,
  148. WMI_TLV_ROAM_INVOKE_CMDID,
  149. WMI_TLV_OFL_SCAN_ADD_AP_PROFILE = WMI_TLV_CMD(WMI_TLV_GRP_OFL_SCAN),
  150. WMI_TLV_OFL_SCAN_REMOVE_AP_PROFILE,
  151. WMI_TLV_OFL_SCAN_PERIOD,
  152. WMI_TLV_P2P_DEV_SET_DEVICE_INFO = WMI_TLV_CMD(WMI_TLV_GRP_P2P),
  153. WMI_TLV_P2P_DEV_SET_DISCOVERABILITY,
  154. WMI_TLV_P2P_GO_SET_BEACON_IE,
  155. WMI_TLV_P2P_GO_SET_PROBE_RESP_IE,
  156. WMI_TLV_P2P_SET_VENDOR_IE_DATA_CMDID,
  157. WMI_TLV_P2P_DISC_OFFLOAD_CONFIG_CMDID,
  158. WMI_TLV_P2P_DISC_OFFLOAD_APPIE_CMDID,
  159. WMI_TLV_P2P_DISC_OFFLOAD_PATTERN_CMDID,
  160. WMI_TLV_P2P_SET_OPPPS_PARAM_CMDID,
  161. WMI_TLV_AP_PS_PEER_PARAM_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_AP_PS),
  162. WMI_TLV_AP_PS_PEER_UAPSD_COEX_CMDID,
  163. WMI_TLV_PEER_RATE_RETRY_SCHED_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_RATECTL),
  164. WMI_TLV_WLAN_PROFILE_TRIGGER_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_PROFILE),
  165. WMI_TLV_WLAN_PROFILE_SET_HIST_INTVL_CMDID,
  166. WMI_TLV_WLAN_PROFILE_GET_PROFILE_DATA_CMDID,
  167. WMI_TLV_WLAN_PROFILE_ENABLE_PROFILE_ID_CMDID,
  168. WMI_TLV_WLAN_PROFILE_LIST_PROFILE_ID_CMDID,
  169. WMI_TLV_PDEV_SUSPEND_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_SUSPEND),
  170. WMI_TLV_PDEV_RESUME_CMDID,
  171. WMI_TLV_ADD_BCN_FILTER_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_BCN_FILTER),
  172. WMI_TLV_RMV_BCN_FILTER_CMDID,
  173. WMI_TLV_WOW_ADD_WAKE_PATTERN_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_WOW),
  174. WMI_TLV_WOW_DEL_WAKE_PATTERN_CMDID,
  175. WMI_TLV_WOW_ENABLE_DISABLE_WAKE_EVENT_CMDID,
  176. WMI_TLV_WOW_ENABLE_CMDID,
  177. WMI_TLV_WOW_HOSTWAKEUP_FROM_SLEEP_CMDID,
  178. WMI_TLV_WOW_ACER_IOAC_ADD_KEEPALIVE_CMDID,
  179. WMI_TLV_WOW_ACER_IOAC_DEL_KEEPALIVE_CMDID,
  180. WMI_TLV_WOW_ACER_IOAC_ADD_WAKE_PATTERN_CMDID,
  181. WMI_TLV_WOW_ACER_IOAC_DEL_WAKE_PATTERN_CMDID,
  182. WMI_TLV_D0_WOW_ENABLE_DISABLE_CMDID,
  183. WMI_TLV_EXTWOW_ENABLE_CMDID,
  184. WMI_TLV_EXTWOW_SET_APP_TYPE1_PARAMS_CMDID,
  185. WMI_TLV_EXTWOW_SET_APP_TYPE2_PARAMS_CMDID,
  186. WMI_TLV_RTT_MEASREQ_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_RTT),
  187. WMI_TLV_RTT_TSF_CMDID,
  188. WMI_TLV_SPECTRAL_SCAN_CONF_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_SPECTRAL),
  189. WMI_TLV_SPECTRAL_SCAN_ENABLE_CMDID,
  190. WMI_TLV_REQUEST_STATS_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_STATS),
  191. WMI_TLV_MCC_SCHED_TRAFFIC_STATS_CMDID,
  192. WMI_TLV_REQUEST_STATS_EXT_CMDID,
  193. WMI_TLV_REQUEST_LINK_STATS_CMDID,
  194. WMI_TLV_START_LINK_STATS_CMDID,
  195. WMI_TLV_CLEAR_LINK_STATS_CMDID,
  196. WMI_TLV_CGET_FW_MEM_DUMP_CMDID,
  197. WMI_TLV_CDEBUG_MESG_FLUSH_CMDID,
  198. WMI_TLV_CDIAG_EVENT_LOG_CONFIG_CMDID,
  199. WMI_TLV_CREQUEST_WLAN_STATS_CMDID,
  200. WMI_TLV_CREQUEST_RCPI_CMDID,
  201. WMI_TLV_REQUEST_PEER_STATS_INFO_CMDID,
  202. WMI_TLV_SET_ARP_NS_OFFLOAD_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_ARP_NS_OFL),
  203. WMI_TLV_ADD_PROACTIVE_ARP_RSP_PATTERN_CMDID,
  204. WMI_TLV_DEL_PROACTIVE_ARP_RSP_PATTERN_CMDID,
  205. WMI_TLV_NETWORK_LIST_OFFLOAD_CONFIG_CMDID =
  206. WMI_TLV_CMD(WMI_TLV_GRP_NLO_OFL),
  207. WMI_TLV_APFIND_CMDID,
  208. WMI_TLV_GTK_OFFLOAD_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_GTK_OFL),
  209. WMI_TLV_CSA_OFFLOAD_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_CSA_OFL),
  210. WMI_TLV_CSA_OFFLOAD_CHANSWITCH_CMDID,
  211. WMI_TLV_CHATTER_SET_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_CHATTER),
  212. WMI_TLV_CHATTER_ADD_COALESCING_FILTER_CMDID,
  213. WMI_TLV_CHATTER_DELETE_COALESCING_FILTER_CMDID,
  214. WMI_TLV_CHATTER_COALESCING_QUERY_CMDID,
  215. WMI_TLV_PEER_TID_ADDBA_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_TID_ADDBA),
  216. WMI_TLV_PEER_TID_DELBA_CMDID,
  217. WMI_TLV_STA_DTIM_PS_METHOD_CMDID,
  218. WMI_TLV_STA_UAPSD_AUTO_TRIG_CMDID,
  219. WMI_TLV_STA_KEEPALIVE_CMDID,
  220. WMI_TLV_BA_REQ_SSN_CMDID,
  221. WMI_TLV_ECHO_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_MISC),
  222. WMI_TLV_PDEV_UTF_CMDID,
  223. WMI_TLV_DBGLOG_CFG_CMDID,
  224. WMI_TLV_PDEV_QVIT_CMDID,
  225. WMI_TLV_PDEV_FTM_INTG_CMDID,
  226. WMI_TLV_VDEV_SET_KEEPALIVE_CMDID,
  227. WMI_TLV_VDEV_GET_KEEPALIVE_CMDID,
  228. WMI_TLV_FORCE_FW_HANG_CMDID,
  229. WMI_TLV_SET_MCASTBCAST_FILTER_CMDID,
  230. WMI_TLV_THERMAL_MGMT_CMDID,
  231. WMI_TLV_HOST_AUTO_SHUTDOWN_CFG_CMDID,
  232. WMI_TLV_TPC_CHAINMASK_CONFIG_CMDID,
  233. WMI_TLV_SET_ANTENNA_DIVERSITY_CMDID,
  234. WMI_TLV_GPIO_CONFIG_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_GPIO),
  235. WMI_TLV_GPIO_OUTPUT_CMDID,
  236. WMI_TLV_TXBF_CMDID,
  237. WMI_TLV_FWTEST_VDEV_MCC_SET_TBTT_MODE_CMDID =
  238. WMI_TLV_CMD(WMI_TLV_GRP_FWTEST),
  239. WMI_TLV_FWTEST_P2P_SET_NOA_PARAM_CMDID,
  240. WMI_TLV_UNIT_TEST_CMDID,
  241. WMI_TLV_TDLS_SET_STATE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_TDLS),
  242. WMI_TLV_TDLS_PEER_UPDATE_CMDID,
  243. WMI_TLV_TDLS_SET_OFFCHAN_MODE_CMDID,
  244. WMI_TLV_RESMGR_ADAPTIVE_OCS_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_RESMGR),
  245. WMI_TLV_RESMGR_SET_CHAN_TIME_QUOTA_CMDID,
  246. WMI_TLV_RESMGR_SET_CHAN_LATENCY_CMDID,
  247. WMI_TLV_STA_SMPS_FORCE_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_STA_SMPS),
  248. WMI_TLV_STA_SMPS_PARAM_CMDID,
  249. WMI_TLV_HB_SET_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_WLAN_HB),
  250. WMI_TLV_HB_SET_TCP_PARAMS_CMDID,
  251. WMI_TLV_HB_SET_TCP_PKT_FILTER_CMDID,
  252. WMI_TLV_HB_SET_UDP_PARAMS_CMDID,
  253. WMI_TLV_HB_SET_UDP_PKT_FILTER_CMDID,
  254. WMI_TLV_RMC_SET_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_RMC),
  255. WMI_TLV_RMC_SET_ACTION_PERIOD_CMDID,
  256. WMI_TLV_RMC_CONFIG_CMDID,
  257. WMI_TLV_MHF_OFFLOAD_SET_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_MHF_OFL),
  258. WMI_TLV_MHF_OFFLOAD_PLUMB_ROUTING_TBL_CMDID,
  259. WMI_TLV_BATCH_SCAN_ENABLE_CMDID =
  260. WMI_TLV_CMD(WMI_TLV_GRP_LOCATION_SCAN),
  261. WMI_TLV_BATCH_SCAN_DISABLE_CMDID,
  262. WMI_TLV_BATCH_SCAN_TRIGGER_RESULT_CMDID,
  263. WMI_TLV_OEM_REQ_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_OEM),
  264. WMI_TLV_NAN_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_NAN),
  265. WMI_TLV_MODEM_POWER_STATE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_COEX),
  266. WMI_TLV_CHAN_AVOID_UPDATE_CMDID,
  267. WMI_TLV_OBSS_SCAN_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_OBSS_OFL),
  268. WMI_TLV_OBSS_SCAN_DISABLE_CMDID,
  269. WMI_TLV_LPI_MGMT_SNOOPING_CONFIG_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_LPI),
  270. WMI_TLV_LPI_START_SCAN_CMDID,
  271. WMI_TLV_LPI_STOP_SCAN_CMDID,
  272. WMI_TLV_EXTSCAN_START_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_EXTSCAN),
  273. WMI_TLV_EXTSCAN_STOP_CMDID,
  274. WMI_TLV_EXTSCAN_CONFIGURE_WLAN_CHANGE_MONITOR_CMDID,
  275. WMI_TLV_EXTSCAN_CONFIGURE_HOTLIST_MONITOR_CMDID,
  276. WMI_TLV_EXTSCAN_GET_CACHED_RESULTS_CMDID,
  277. WMI_TLV_EXTSCAN_GET_WLAN_CHANGE_RESULTS_CMDID,
  278. WMI_TLV_EXTSCAN_SET_CAPABILITIES_CMDID,
  279. WMI_TLV_EXTSCAN_GET_CAPABILITIES_CMDID,
  280. WMI_TLV_SET_DHCP_SERVER_OFFLOAD_CMDID =
  281. WMI_TLV_CMD(WMI_TLV_GRP_DHCP_OFL),
  282. WMI_TLV_IPA_OFFLOAD_ENABLE_DISABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_IPA),
  283. WMI_TLV_MDNS_OFFLOAD_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_MDNS_OFL),
  284. WMI_TLV_MDNS_SET_FQDN_CMDID,
  285. WMI_TLV_MDNS_SET_RESPONSE_CMDID,
  286. WMI_TLV_MDNS_GET_STATS_CMDID,
  287. WMI_TLV_SAP_OFL_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_SAP_OFL),
  288. };
  289. enum wmi_tlv_event_id {
  290. WMI_TLV_SERVICE_READY_EVENTID = 0x1,
  291. WMI_TLV_READY_EVENTID,
  292. WMI_TLV_SERVICE_AVAILABLE_EVENTID,
  293. WMI_TLV_SCAN_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_SCAN),
  294. WMI_TLV_PDEV_TPC_CONFIG_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_PDEV),
  295. WMI_TLV_CHAN_INFO_EVENTID,
  296. WMI_TLV_PHYERR_EVENTID,
  297. WMI_TLV_PDEV_DUMP_EVENTID,
  298. WMI_TLV_TX_PAUSE_EVENTID,
  299. WMI_TLV_DFS_RADAR_EVENTID,
  300. WMI_TLV_PDEV_L1SS_TRACK_EVENTID,
  301. WMI_TLV_PDEV_TEMPERATURE_EVENTID,
  302. WMI_TLV_VDEV_START_RESP_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_VDEV),
  303. WMI_TLV_VDEV_STOPPED_EVENTID,
  304. WMI_TLV_VDEV_INSTALL_KEY_COMPLETE_EVENTID,
  305. WMI_TLV_VDEV_MCC_BCN_INTERVAL_CHANGE_REQ_EVENTID,
  306. WMI_TLV_VDEV_TSF_REPORT_EVENTID,
  307. WMI_TLV_VDEV_DELETE_RESP_EVENTID,
  308. WMI_TLV_PEER_STA_KICKOUT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_PEER),
  309. WMI_TLV_PEER_INFO_EVENTID,
  310. WMI_TLV_PEER_TX_FAIL_CNT_THR_EVENTID,
  311. WMI_TLV_PEER_ESTIMATED_LINKSPEED_EVENTID,
  312. WMI_TLV_PEER_STATE_EVENTID,
  313. WMI_TLV_PEER_ASSOC_CONF_EVENTID,
  314. WMI_TLV_PEER_DELETE_RESP_EVENTID,
  315. WMI_TLV_MGMT_RX_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_MGMT),
  316. WMI_TLV_HOST_SWBA_EVENTID,
  317. WMI_TLV_TBTTOFFSET_UPDATE_EVENTID,
  318. WMI_TLV_OFFLOAD_BCN_TX_STATUS_EVENTID,
  319. WMI_TLV_OFFLOAD_PROB_RESP_TX_STATUS_EVENTID,
  320. WMI_TLV_MGMT_TX_COMPLETION_EVENTID,
  321. WMI_TLV_MGMT_TX_BUNDLE_COMPLETION_EVENTID,
  322. WMI_TLV_TX_DELBA_COMPLETE_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_BA_NEG),
  323. WMI_TLV_TX_ADDBA_COMPLETE_EVENTID,
  324. WMI_TLV_BA_RSP_SSN_EVENTID,
  325. WMI_TLV_AGGR_STATE_TRIG_EVENTID,
  326. WMI_TLV_ROAM_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_ROAM),
  327. WMI_TLV_PROFILE_MATCH,
  328. WMI_TLV_ROAM_SYNCH_EVENTID,
  329. WMI_TLV_P2P_DISC_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_P2P),
  330. WMI_TLV_P2P_NOA_EVENTID,
  331. WMI_TLV_PDEV_RESUME_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_SUSPEND),
  332. WMI_TLV_WOW_WAKEUP_HOST_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_WOW),
  333. WMI_TLV_D0_WOW_DISABLE_ACK_EVENTID,
  334. WMI_TLV_RTT_MEASUREMENT_REPORT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_RTT),
  335. WMI_TLV_TSF_MEASUREMENT_REPORT_EVENTID,
  336. WMI_TLV_RTT_ERROR_REPORT_EVENTID,
  337. WMI_TLV_STATS_EXT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_STATS),
  338. WMI_TLV_IFACE_LINK_STATS_EVENTID,
  339. WMI_TLV_PEER_LINK_STATS_EVENTID,
  340. WMI_TLV_RADIO_LINK_STATS_EVENTID,
  341. WMI_TLV_UPDATE_FW_MEM_DUMP_EVENTID,
  342. WMI_TLV_DIAG_EVENT_LOG_SUPPORTED_EVENTID,
  343. WMI_TLV_INST_RSSI_STATS_EVENTID,
  344. WMI_TLV_RADIO_TX_POWER_LEVEL_STATS_EVENTID,
  345. WMI_TLV_REPORT_STATS_EVENTID,
  346. WMI_TLV_UPDATE_RCPI_EVENTID,
  347. WMI_TLV_PEER_STATS_INFO_EVENTID,
  348. WMI_TLV_NLO_MATCH_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_NLO_OFL),
  349. WMI_TLV_NLO_SCAN_COMPLETE_EVENTID,
  350. WMI_TLV_APFIND_EVENTID,
  351. WMI_TLV_GTK_OFFLOAD_STATUS_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_GTK_OFL),
  352. WMI_TLV_GTK_REKEY_FAIL_EVENTID,
  353. WMI_TLV_CSA_HANDLING_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_CSA_OFL),
  354. WMI_TLV_CHATTER_PC_QUERY_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_CHATTER),
  355. WMI_TLV_ECHO_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_MISC),
  356. WMI_TLV_PDEV_UTF_EVENTID,
  357. WMI_TLV_DEBUG_MESG_EVENTID,
  358. WMI_TLV_UPDATE_STATS_EVENTID,
  359. WMI_TLV_DEBUG_PRINT_EVENTID,
  360. WMI_TLV_DCS_INTERFERENCE_EVENTID,
  361. WMI_TLV_PDEV_QVIT_EVENTID,
  362. WMI_TLV_WLAN_PROFILE_DATA_EVENTID,
  363. WMI_TLV_PDEV_FTM_INTG_EVENTID,
  364. WMI_TLV_WLAN_FREQ_AVOID_EVENTID,
  365. WMI_TLV_VDEV_GET_KEEPALIVE_EVENTID,
  366. WMI_TLV_THERMAL_MGMT_EVENTID,
  367. WMI_TLV_DIAG_DATA_CONTAINER_EVENTID,
  368. WMI_TLV_HOST_AUTO_SHUTDOWN_EVENTID,
  369. WMI_TLV_UPDATE_WHAL_MIB_STATS_EVENTID,
  370. WMI_TLV_UPDATE_VDEV_RATE_STATS_EVENTID,
  371. WMI_TLV_DIAG_EVENTID,
  372. WMI_TLV_GPIO_INPUT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_GPIO),
  373. WMI_TLV_UPLOADH_EVENTID,
  374. WMI_TLV_CAPTUREH_EVENTID,
  375. WMI_TLV_RFKILL_STATE_CHANGE_EVENTID,
  376. WMI_TLV_TDLS_PEER_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_TDLS),
  377. WMI_TLV_BATCH_SCAN_ENABLED_EVENTID =
  378. WMI_TLV_EV(WMI_TLV_GRP_LOCATION_SCAN),
  379. WMI_TLV_BATCH_SCAN_RESULT_EVENTID,
  380. WMI_TLV_OEM_CAPABILITY_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_OEM),
  381. WMI_TLV_OEM_MEASUREMENT_REPORT_EVENTID,
  382. WMI_TLV_OEM_ERROR_REPORT_EVENTID,
  383. WMI_TLV_NAN_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_NAN),
  384. WMI_TLV_LPI_RESULT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_LPI),
  385. WMI_TLV_LPI_STATUS_EVENTID,
  386. WMI_TLV_LPI_HANDOFF_EVENTID,
  387. WMI_TLV_EXTSCAN_START_STOP_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_EXTSCAN),
  388. WMI_TLV_EXTSCAN_OPERATION_EVENTID,
  389. WMI_TLV_EXTSCAN_TABLE_USAGE_EVENTID,
  390. WMI_TLV_EXTSCAN_CACHED_RESULTS_EVENTID,
  391. WMI_TLV_EXTSCAN_WLAN_CHANGE_RESULTS_EVENTID,
  392. WMI_TLV_EXTSCAN_HOTLIST_MATCH_EVENTID,
  393. WMI_TLV_EXTSCAN_CAPABILITIES_EVENTID,
  394. WMI_TLV_MDNS_STATS_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_MDNS_OFL),
  395. WMI_TLV_SAP_OFL_ADD_STA_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_SAP_OFL),
  396. WMI_TLV_SAP_OFL_DEL_STA_EVENTID,
  397. };
  398. enum wmi_tlv_pdev_param {
  399. WMI_TLV_PDEV_PARAM_TX_CHAIN_MASK = 0x1,
  400. WMI_TLV_PDEV_PARAM_RX_CHAIN_MASK,
  401. WMI_TLV_PDEV_PARAM_TXPOWER_LIMIT2G,
  402. WMI_TLV_PDEV_PARAM_TXPOWER_LIMIT5G,
  403. WMI_TLV_PDEV_PARAM_TXPOWER_SCALE,
  404. WMI_TLV_PDEV_PARAM_BEACON_GEN_MODE,
  405. WMI_TLV_PDEV_PARAM_BEACON_TX_MODE,
  406. WMI_TLV_PDEV_PARAM_RESMGR_OFFCHAN_MODE,
  407. WMI_TLV_PDEV_PARAM_PROTECTION_MODE,
  408. WMI_TLV_PDEV_PARAM_DYNAMIC_BW,
  409. WMI_TLV_PDEV_PARAM_NON_AGG_SW_RETRY_TH,
  410. WMI_TLV_PDEV_PARAM_AGG_SW_RETRY_TH,
  411. WMI_TLV_PDEV_PARAM_STA_KICKOUT_TH,
  412. WMI_TLV_PDEV_PARAM_AC_AGGRSIZE_SCALING,
  413. WMI_TLV_PDEV_PARAM_LTR_ENABLE,
  414. WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_BE,
  415. WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_BK,
  416. WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_VI,
  417. WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_VO,
  418. WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_TIMEOUT,
  419. WMI_TLV_PDEV_PARAM_LTR_SLEEP_OVERRIDE,
  420. WMI_TLV_PDEV_PARAM_LTR_RX_OVERRIDE,
  421. WMI_TLV_PDEV_PARAM_LTR_TX_ACTIVITY_TIMEOUT,
  422. WMI_TLV_PDEV_PARAM_L1SS_ENABLE,
  423. WMI_TLV_PDEV_PARAM_DSLEEP_ENABLE,
  424. WMI_TLV_PDEV_PARAM_PCIELP_TXBUF_FLUSH,
  425. WMI_TLV_PDEV_PARAM_PCIELP_TXBUF_WATERMARK,
  426. WMI_TLV_PDEV_PARAM_PCIELP_TXBUF_TMO_EN,
  427. WMI_TLV_PDEV_PARAM_PCIELP_TXBUF_TMO_VALUE,
  428. WMI_TLV_PDEV_PARAM_PDEV_STATS_UPDATE_PERIOD,
  429. WMI_TLV_PDEV_PARAM_VDEV_STATS_UPDATE_PERIOD,
  430. WMI_TLV_PDEV_PARAM_PEER_STATS_UPDATE_PERIOD,
  431. WMI_TLV_PDEV_PARAM_BCNFLT_STATS_UPDATE_PERIOD,
  432. WMI_TLV_PDEV_PARAM_PMF_QOS,
  433. WMI_TLV_PDEV_PARAM_ARP_AC_OVERRIDE,
  434. WMI_TLV_PDEV_PARAM_DCS,
  435. WMI_TLV_PDEV_PARAM_ANI_ENABLE,
  436. WMI_TLV_PDEV_PARAM_ANI_POLL_PERIOD,
  437. WMI_TLV_PDEV_PARAM_ANI_LISTEN_PERIOD,
  438. WMI_TLV_PDEV_PARAM_ANI_OFDM_LEVEL,
  439. WMI_TLV_PDEV_PARAM_ANI_CCK_LEVEL,
  440. WMI_TLV_PDEV_PARAM_DYNTXCHAIN,
  441. WMI_TLV_PDEV_PARAM_PROXY_STA,
  442. WMI_TLV_PDEV_PARAM_IDLE_PS_CONFIG,
  443. WMI_TLV_PDEV_PARAM_POWER_GATING_SLEEP,
  444. WMI_TLV_PDEV_PARAM_RFKILL_ENABLE,
  445. WMI_TLV_PDEV_PARAM_BURST_DUR,
  446. WMI_TLV_PDEV_PARAM_BURST_ENABLE,
  447. WMI_TLV_PDEV_PARAM_HW_RFKILL_CONFIG,
  448. WMI_TLV_PDEV_PARAM_LOW_POWER_RF_ENABLE,
  449. WMI_TLV_PDEV_PARAM_L1SS_TRACK,
  450. WMI_TLV_PDEV_PARAM_HYST_EN,
  451. WMI_TLV_PDEV_PARAM_POWER_COLLAPSE_ENABLE,
  452. WMI_TLV_PDEV_PARAM_LED_SYS_STATE,
  453. WMI_TLV_PDEV_PARAM_LED_ENABLE,
  454. WMI_TLV_PDEV_PARAM_AUDIO_OVER_WLAN_LATENCY,
  455. WMI_TLV_PDEV_PARAM_AUDIO_OVER_WLAN_ENABLE,
  456. WMI_TLV_PDEV_PARAM_WHAL_MIB_STATS_UPDATE_ENABLE,
  457. WMI_TLV_PDEV_PARAM_VDEV_RATE_STATS_UPDATE_PERIOD,
  458. WMI_TLV_PDEV_PARAM_TXPOWER_REASON_NONE,
  459. WMI_TLV_PDEV_PARAM_TXPOWER_REASON_SAR,
  460. WMI_TLV_PDEV_PARAM_PEER_STATS_INFO_ENABLE = 0x8b,
  461. WMI_TLV_PDEV_PARAM_TXPOWER_REASON_MAX,
  462. };
  463. enum wmi_tlv_vdev_param {
  464. WMI_TLV_VDEV_PARAM_RTS_THRESHOLD = 0x1,
  465. WMI_TLV_VDEV_PARAM_FRAGMENTATION_THRESHOLD,
  466. WMI_TLV_VDEV_PARAM_BEACON_INTERVAL,
  467. WMI_TLV_VDEV_PARAM_LISTEN_INTERVAL,
  468. WMI_TLV_VDEV_PARAM_MULTICAST_RATE,
  469. WMI_TLV_VDEV_PARAM_MGMT_TX_RATE,
  470. WMI_TLV_VDEV_PARAM_SLOT_TIME,
  471. WMI_TLV_VDEV_PARAM_PREAMBLE,
  472. WMI_TLV_VDEV_PARAM_SWBA_TIME,
  473. WMI_TLV_VDEV_STATS_UPDATE_PERIOD,
  474. WMI_TLV_VDEV_PWRSAVE_AGEOUT_TIME,
  475. WMI_TLV_VDEV_HOST_SWBA_INTERVAL,
  476. WMI_TLV_VDEV_PARAM_DTIM_PERIOD,
  477. WMI_TLV_VDEV_OC_SCHEDULER_AIR_TIME_LIMIT,
  478. WMI_TLV_VDEV_PARAM_WDS,
  479. WMI_TLV_VDEV_PARAM_ATIM_WINDOW,
  480. WMI_TLV_VDEV_PARAM_BMISS_COUNT_MAX,
  481. WMI_TLV_VDEV_PARAM_BMISS_FIRST_BCNT,
  482. WMI_TLV_VDEV_PARAM_BMISS_FINAL_BCNT,
  483. WMI_TLV_VDEV_PARAM_FEATURE_WMM,
  484. WMI_TLV_VDEV_PARAM_CHWIDTH,
  485. WMI_TLV_VDEV_PARAM_CHEXTOFFSET,
  486. WMI_TLV_VDEV_PARAM_DISABLE_HTPROTECTION,
  487. WMI_TLV_VDEV_PARAM_STA_QUICKKICKOUT,
  488. WMI_TLV_VDEV_PARAM_MGMT_RATE,
  489. WMI_TLV_VDEV_PARAM_PROTECTION_MODE,
  490. WMI_TLV_VDEV_PARAM_FIXED_RATE,
  491. WMI_TLV_VDEV_PARAM_SGI,
  492. WMI_TLV_VDEV_PARAM_LDPC,
  493. WMI_TLV_VDEV_PARAM_TX_STBC,
  494. WMI_TLV_VDEV_PARAM_RX_STBC,
  495. WMI_TLV_VDEV_PARAM_INTRA_BSS_FWD,
  496. WMI_TLV_VDEV_PARAM_DEF_KEYID,
  497. WMI_TLV_VDEV_PARAM_NSS,
  498. WMI_TLV_VDEV_PARAM_BCAST_DATA_RATE,
  499. WMI_TLV_VDEV_PARAM_MCAST_DATA_RATE,
  500. WMI_TLV_VDEV_PARAM_MCAST_INDICATE,
  501. WMI_TLV_VDEV_PARAM_DHCP_INDICATE,
  502. WMI_TLV_VDEV_PARAM_UNKNOWN_DEST_INDICATE,
  503. WMI_TLV_VDEV_PARAM_AP_KEEPALIVE_MIN_IDLE_INACTIVE_TIME_SECS,
  504. WMI_TLV_VDEV_PARAM_AP_KEEPALIVE_MAX_IDLE_INACTIVE_TIME_SECS,
  505. WMI_TLV_VDEV_PARAM_AP_KEEPALIVE_MAX_UNRESPONSIVE_TIME_SECS,
  506. WMI_TLV_VDEV_PARAM_AP_ENABLE_NAWDS,
  507. WMI_TLV_VDEV_PARAM_ENABLE_RTSCTS,
  508. WMI_TLV_VDEV_PARAM_TXBF,
  509. WMI_TLV_VDEV_PARAM_PACKET_POWERSAVE,
  510. WMI_TLV_VDEV_PARAM_DROP_UNENCRY,
  511. WMI_TLV_VDEV_PARAM_TX_ENCAP_TYPE,
  512. WMI_TLV_VDEV_PARAM_AP_DETECT_OUT_OF_SYNC_SLEEPING_STA_TIME_SECS,
  513. WMI_TLV_VDEV_PARAM_EARLY_RX_ADJUST_ENABLE,
  514. WMI_TLV_VDEV_PARAM_EARLY_RX_TGT_BMISS_NUM,
  515. WMI_TLV_VDEV_PARAM_EARLY_RX_BMISS_SAMPLE_CYCLE,
  516. WMI_TLV_VDEV_PARAM_EARLY_RX_SLOP_STEP,
  517. WMI_TLV_VDEV_PARAM_EARLY_RX_INIT_SLOP,
  518. WMI_TLV_VDEV_PARAM_EARLY_RX_ADJUST_PAUSE,
  519. WMI_TLV_VDEV_PARAM_TX_PWRLIMIT,
  520. WMI_TLV_VDEV_PARAM_SNR_NUM_FOR_CAL,
  521. WMI_TLV_VDEV_PARAM_ROAM_FW_OFFLOAD,
  522. WMI_TLV_VDEV_PARAM_ENABLE_RMC,
  523. WMI_TLV_VDEV_PARAM_IBSS_MAX_BCN_LOST_MS,
  524. WMI_TLV_VDEV_PARAM_MAX_RATE,
  525. WMI_TLV_VDEV_PARAM_EARLY_RX_DRIFT_SAMPLE,
  526. WMI_TLV_VDEV_PARAM_SET_IBSS_TX_FAIL_CNT_THR,
  527. WMI_TLV_VDEV_PARAM_EBT_RESYNC_TIMEOUT,
  528. WMI_TLV_VDEV_PARAM_AGGR_TRIG_EVENT_ENABLE,
  529. WMI_TLV_VDEV_PARAM_IS_IBSS_POWER_SAVE_ALLOWED,
  530. WMI_TLV_VDEV_PARAM_IS_POWER_COLLAPSE_ALLOWED,
  531. WMI_TLV_VDEV_PARAM_IS_AWAKE_ON_TXRX_ENABLED,
  532. WMI_TLV_VDEV_PARAM_INACTIVITY_CNT,
  533. WMI_TLV_VDEV_PARAM_TXSP_END_INACTIVITY_TIME_MS,
  534. WMI_TLV_VDEV_PARAM_DTIM_POLICY,
  535. WMI_TLV_VDEV_PARAM_IBSS_PS_WARMUP_TIME_SECS,
  536. WMI_TLV_VDEV_PARAM_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_ENABLE,
  537. };
  538. enum wmi_tlv_peer_param {
  539. WMI_TLV_PEER_SMPS_STATE = 0x1, /* see %wmi_peer_smps_state */
  540. WMI_TLV_PEER_AMPDU = 0x2,
  541. WMI_TLV_PEER_AUTHORIZE = 0x3,
  542. WMI_TLV_PEER_CHAN_WIDTH = 0x4,
  543. WMI_TLV_PEER_NSS = 0x5,
  544. WMI_TLV_PEER_USE_4ADDR = 0x6,
  545. WMI_TLV_PEER_MEMBERSHIP = 0x7,
  546. WMI_TLV_PEER_USERPOS = 0x8,
  547. WMI_TLV_PEER_CRIT_PROTO_HINT_ENABLED = 0x9,
  548. WMI_TLV_PEER_TX_FAIL_CNT_THR = 0xa,
  549. WMI_TLV_PEER_SET_HW_RETRY_CTS2S = 0xb,
  550. WMI_TLV_PEER_IBSS_ATIM_WINDOW_LENGTH = 0xc,
  551. WMI_TLV_PEER_PHYMODE = 0xd,
  552. WMI_TLV_PEER_USE_FIXED_PWR = 0xe,
  553. WMI_TLV_PEER_DUMMY_VAR = 0xff,
  554. };
  555. enum wmi_tlv_peer_flags {
  556. WMI_TLV_PEER_AUTH = 0x00000001,
  557. WMI_TLV_PEER_QOS = 0x00000002,
  558. WMI_TLV_PEER_NEED_PTK_4_WAY = 0x00000004,
  559. WMI_TLV_PEER_NEED_GTK_2_WAY = 0x00000010,
  560. WMI_TLV_PEER_APSD = 0x00000800,
  561. WMI_TLV_PEER_HT = 0x00001000,
  562. WMI_TLV_PEER_40MHZ = 0x00002000,
  563. WMI_TLV_PEER_STBC = 0x00008000,
  564. WMI_TLV_PEER_LDPC = 0x00010000,
  565. WMI_TLV_PEER_DYN_MIMOPS = 0x00020000,
  566. WMI_TLV_PEER_STATIC_MIMOPS = 0x00040000,
  567. WMI_TLV_PEER_SPATIAL_MUX = 0x00200000,
  568. WMI_TLV_PEER_VHT = 0x02000000,
  569. WMI_TLV_PEER_80MHZ = 0x04000000,
  570. WMI_TLV_PEER_PMF = 0x08000000,
  571. WMI_TLV_PEER_160MHZ = 0x20000000,
  572. };
  573. enum wmi_tlv_tag {
  574. WMI_TLV_TAG_LAST_RESERVED = 15,
  575. WMI_TLV_TAG_FIRST_ARRAY_ENUM,
  576. WMI_TLV_TAG_ARRAY_UINT32 = WMI_TLV_TAG_FIRST_ARRAY_ENUM,
  577. WMI_TLV_TAG_ARRAY_BYTE,
  578. WMI_TLV_TAG_ARRAY_STRUCT,
  579. WMI_TLV_TAG_ARRAY_FIXED_STRUCT,
  580. WMI_TLV_TAG_LAST_ARRAY_ENUM = 31,
  581. WMI_TLV_TAG_STRUCT_SERVICE_READY_EVENT,
  582. WMI_TLV_TAG_STRUCT_HAL_REG_CAPABILITIES,
  583. WMI_TLV_TAG_STRUCT_WLAN_HOST_MEM_REQ,
  584. WMI_TLV_TAG_STRUCT_READY_EVENT,
  585. WMI_TLV_TAG_STRUCT_SCAN_EVENT,
  586. WMI_TLV_TAG_STRUCT_PDEV_TPC_CONFIG_EVENT,
  587. WMI_TLV_TAG_STRUCT_CHAN_INFO_EVENT,
  588. WMI_TLV_TAG_STRUCT_COMB_PHYERR_RX_HDR,
  589. WMI_TLV_TAG_STRUCT_VDEV_START_RESPONSE_EVENT,
  590. WMI_TLV_TAG_STRUCT_VDEV_STOPPED_EVENT,
  591. WMI_TLV_TAG_STRUCT_VDEV_INSTALL_KEY_COMPLETE_EVENT,
  592. WMI_TLV_TAG_STRUCT_PEER_STA_KICKOUT_EVENT,
  593. WMI_TLV_TAG_STRUCT_MGMT_RX_HDR,
  594. WMI_TLV_TAG_STRUCT_TBTT_OFFSET_EVENT,
  595. WMI_TLV_TAG_STRUCT_TX_DELBA_COMPLETE_EVENT,
  596. WMI_TLV_TAG_STRUCT_TX_ADDBA_COMPLETE_EVENT,
  597. WMI_TLV_TAG_STRUCT_ROAM_EVENT,
  598. WMI_TLV_TAG_STRUCT_WOW_EVENT_INFO,
  599. WMI_TLV_TAG_STRUCT_WOW_EVENT_INFO_SECTION_BITMAP,
  600. WMI_TLV_TAG_STRUCT_RTT_EVENT_HEADER,
  601. WMI_TLV_TAG_STRUCT_RTT_ERROR_REPORT_EVENT,
  602. WMI_TLV_TAG_STRUCT_RTT_MEAS_EVENT,
  603. WMI_TLV_TAG_STRUCT_ECHO_EVENT,
  604. WMI_TLV_TAG_STRUCT_FTM_INTG_EVENT,
  605. WMI_TLV_TAG_STRUCT_VDEV_GET_KEEPALIVE_EVENT,
  606. WMI_TLV_TAG_STRUCT_GPIO_INPUT_EVENT,
  607. WMI_TLV_TAG_STRUCT_CSA_EVENT,
  608. WMI_TLV_TAG_STRUCT_GTK_OFFLOAD_STATUS_EVENT,
  609. WMI_TLV_TAG_STRUCT_IGTK_INFO,
  610. WMI_TLV_TAG_STRUCT_DCS_INTERFERENCE_EVENT,
  611. WMI_TLV_TAG_STRUCT_ATH_DCS_CW_INT,
  612. WMI_TLV_TAG_STRUCT_ATH_DCS_WLAN_INT_STAT,
  613. WMI_TLV_TAG_STRUCT_WLAN_PROFILE_CTX_T,
  614. WMI_TLV_TAG_STRUCT_WLAN_PROFILE_T,
  615. WMI_TLV_TAG_STRUCT_PDEV_QVIT_EVENT,
  616. WMI_TLV_TAG_STRUCT_HOST_SWBA_EVENT,
  617. WMI_TLV_TAG_STRUCT_TIM_INFO,
  618. WMI_TLV_TAG_STRUCT_P2P_NOA_INFO,
  619. WMI_TLV_TAG_STRUCT_STATS_EVENT,
  620. WMI_TLV_TAG_STRUCT_AVOID_FREQ_RANGES_EVENT,
  621. WMI_TLV_TAG_STRUCT_AVOID_FREQ_RANGE_DESC,
  622. WMI_TLV_TAG_STRUCT_GTK_REKEY_FAIL_EVENT,
  623. WMI_TLV_TAG_STRUCT_INIT_CMD,
  624. WMI_TLV_TAG_STRUCT_RESOURCE_CONFIG,
  625. WMI_TLV_TAG_STRUCT_WLAN_HOST_MEMORY_CHUNK,
  626. WMI_TLV_TAG_STRUCT_START_SCAN_CMD,
  627. WMI_TLV_TAG_STRUCT_STOP_SCAN_CMD,
  628. WMI_TLV_TAG_STRUCT_SCAN_CHAN_LIST_CMD,
  629. WMI_TLV_TAG_STRUCT_CHANNEL,
  630. WMI_TLV_TAG_STRUCT_PDEV_SET_REGDOMAIN_CMD,
  631. WMI_TLV_TAG_STRUCT_PDEV_SET_PARAM_CMD,
  632. WMI_TLV_TAG_STRUCT_PDEV_SET_WMM_PARAMS_CMD,
  633. WMI_TLV_TAG_STRUCT_WMM_PARAMS,
  634. WMI_TLV_TAG_STRUCT_PDEV_SET_QUIET_CMD,
  635. WMI_TLV_TAG_STRUCT_VDEV_CREATE_CMD,
  636. WMI_TLV_TAG_STRUCT_VDEV_DELETE_CMD,
  637. WMI_TLV_TAG_STRUCT_VDEV_START_REQUEST_CMD,
  638. WMI_TLV_TAG_STRUCT_P2P_NOA_DESCRIPTOR,
  639. WMI_TLV_TAG_STRUCT_P2P_GO_SET_BEACON_IE,
  640. WMI_TLV_TAG_STRUCT_GTK_OFFLOAD_CMD,
  641. WMI_TLV_TAG_STRUCT_VDEV_UP_CMD,
  642. WMI_TLV_TAG_STRUCT_VDEV_STOP_CMD,
  643. WMI_TLV_TAG_STRUCT_VDEV_DOWN_CMD,
  644. WMI_TLV_TAG_STRUCT_VDEV_SET_PARAM_CMD,
  645. WMI_TLV_TAG_STRUCT_VDEV_INSTALL_KEY_CMD,
  646. WMI_TLV_TAG_STRUCT_PEER_CREATE_CMD,
  647. WMI_TLV_TAG_STRUCT_PEER_DELETE_CMD,
  648. WMI_TLV_TAG_STRUCT_PEER_FLUSH_TIDS_CMD,
  649. WMI_TLV_TAG_STRUCT_PEER_SET_PARAM_CMD,
  650. WMI_TLV_TAG_STRUCT_PEER_ASSOC_COMPLETE_CMD,
  651. WMI_TLV_TAG_STRUCT_VHT_RATE_SET,
  652. WMI_TLV_TAG_STRUCT_BCN_TMPL_CMD,
  653. WMI_TLV_TAG_STRUCT_PRB_TMPL_CMD,
  654. WMI_TLV_TAG_STRUCT_BCN_PRB_INFO,
  655. WMI_TLV_TAG_STRUCT_PEER_TID_ADDBA_CMD,
  656. WMI_TLV_TAG_STRUCT_PEER_TID_DELBA_CMD,
  657. WMI_TLV_TAG_STRUCT_STA_POWERSAVE_MODE_CMD,
  658. WMI_TLV_TAG_STRUCT_STA_POWERSAVE_PARAM_CMD,
  659. WMI_TLV_TAG_STRUCT_STA_DTIM_PS_METHOD_CMD,
  660. WMI_TLV_TAG_STRUCT_ROAM_SCAN_MODE,
  661. WMI_TLV_TAG_STRUCT_ROAM_SCAN_RSSI_THRESHOLD,
  662. WMI_TLV_TAG_STRUCT_ROAM_SCAN_PERIOD,
  663. WMI_TLV_TAG_STRUCT_ROAM_SCAN_RSSI_CHANGE_THRESHOLD,
  664. WMI_TLV_TAG_STRUCT_PDEV_SUSPEND_CMD,
  665. WMI_TLV_TAG_STRUCT_PDEV_RESUME_CMD,
  666. WMI_TLV_TAG_STRUCT_ADD_BCN_FILTER_CMD,
  667. WMI_TLV_TAG_STRUCT_RMV_BCN_FILTER_CMD,
  668. WMI_TLV_TAG_STRUCT_WOW_ENABLE_CMD,
  669. WMI_TLV_TAG_STRUCT_WOW_HOSTWAKEUP_FROM_SLEEP_CMD,
  670. WMI_TLV_TAG_STRUCT_STA_UAPSD_AUTO_TRIG_CMD,
  671. WMI_TLV_TAG_STRUCT_STA_UAPSD_AUTO_TRIG_PARAM,
  672. WMI_TLV_TAG_STRUCT_SET_ARP_NS_OFFLOAD_CMD,
  673. WMI_TLV_TAG_STRUCT_ARP_OFFLOAD_TUPLE,
  674. WMI_TLV_TAG_STRUCT_NS_OFFLOAD_TUPLE,
  675. WMI_TLV_TAG_STRUCT_FTM_INTG_CMD,
  676. WMI_TLV_TAG_STRUCT_STA_KEEPALIVE_CMD,
  677. WMI_TLV_TAG_STRUCT_STA_KEEPALVE_ARP_RESPONSE,
  678. WMI_TLV_TAG_STRUCT_P2P_SET_VENDOR_IE_DATA_CMD,
  679. WMI_TLV_TAG_STRUCT_AP_PS_PEER_CMD,
  680. WMI_TLV_TAG_STRUCT_PEER_RATE_RETRY_SCHED_CMD,
  681. WMI_TLV_TAG_STRUCT_WLAN_PROFILE_TRIGGER_CMD,
  682. WMI_TLV_TAG_STRUCT_WLAN_PROFILE_SET_HIST_INTVL_CMD,
  683. WMI_TLV_TAG_STRUCT_WLAN_PROFILE_GET_PROF_DATA_CMD,
  684. WMI_TLV_TAG_STRUCT_WLAN_PROFILE_ENABLE_PROFILE_ID_CMD,
  685. WMI_TLV_TAG_STRUCT_WOW_DEL_PATTERN_CMD,
  686. WMI_TLV_TAG_STRUCT_WOW_ADD_DEL_EVT_CMD,
  687. WMI_TLV_TAG_STRUCT_RTT_MEASREQ_HEAD,
  688. WMI_TLV_TAG_STRUCT_RTT_MEASREQ_BODY,
  689. WMI_TLV_TAG_STRUCT_RTT_TSF_CMD,
  690. WMI_TLV_TAG_STRUCT_VDEV_SPECTRAL_CONFIGURE_CMD,
  691. WMI_TLV_TAG_STRUCT_VDEV_SPECTRAL_ENABLE_CMD,
  692. WMI_TLV_TAG_STRUCT_REQUEST_STATS_CMD,
  693. WMI_TLV_TAG_STRUCT_NLO_CONFIG_CMD,
  694. WMI_TLV_TAG_STRUCT_NLO_CONFIGURED_PARAMETERS,
  695. WMI_TLV_TAG_STRUCT_CSA_OFFLOAD_ENABLE_CMD,
  696. WMI_TLV_TAG_STRUCT_CSA_OFFLOAD_CHANSWITCH_CMD,
  697. WMI_TLV_TAG_STRUCT_CHATTER_SET_MODE_CMD,
  698. WMI_TLV_TAG_STRUCT_ECHO_CMD,
  699. WMI_TLV_TAG_STRUCT_VDEV_SET_KEEPALIVE_CMD,
  700. WMI_TLV_TAG_STRUCT_VDEV_GET_KEEPALIVE_CMD,
  701. WMI_TLV_TAG_STRUCT_FORCE_FW_HANG_CMD,
  702. WMI_TLV_TAG_STRUCT_GPIO_CONFIG_CMD,
  703. WMI_TLV_TAG_STRUCT_GPIO_OUTPUT_CMD,
  704. WMI_TLV_TAG_STRUCT_PEER_ADD_WDS_ENTRY_CMD,
  705. WMI_TLV_TAG_STRUCT_PEER_REMOVE_WDS_ENTRY_CMD,
  706. WMI_TLV_TAG_STRUCT_BCN_TX_HDR,
  707. WMI_TLV_TAG_STRUCT_BCN_SEND_FROM_HOST_CMD,
  708. WMI_TLV_TAG_STRUCT_MGMT_TX_HDR,
  709. WMI_TLV_TAG_STRUCT_ADDBA_CLEAR_RESP_CMD,
  710. WMI_TLV_TAG_STRUCT_ADDBA_SEND_CMD,
  711. WMI_TLV_TAG_STRUCT_DELBA_SEND_CMD,
  712. WMI_TLV_TAG_STRUCT_ADDBA_SETRESPONSE_CMD,
  713. WMI_TLV_TAG_STRUCT_SEND_SINGLEAMSDU_CMD,
  714. WMI_TLV_TAG_STRUCT_PDEV_PKTLOG_ENABLE_CMD,
  715. WMI_TLV_TAG_STRUCT_PDEV_PKTLOG_DISABLE_CMD,
  716. WMI_TLV_TAG_STRUCT_PDEV_SET_HT_IE_CMD,
  717. WMI_TLV_TAG_STRUCT_PDEV_SET_VHT_IE_CMD,
  718. WMI_TLV_TAG_STRUCT_PDEV_SET_DSCP_TID_MAP_CMD,
  719. WMI_TLV_TAG_STRUCT_PDEV_GREEN_AP_PS_ENABLE_CMD,
  720. WMI_TLV_TAG_STRUCT_PDEV_GET_TPC_CONFIG_CMD,
  721. WMI_TLV_TAG_STRUCT_PDEV_SET_BASE_MACADDR_CMD,
  722. WMI_TLV_TAG_STRUCT_PEER_MCAST_GROUP_CMD,
  723. WMI_TLV_TAG_STRUCT_ROAM_AP_PROFILE,
  724. WMI_TLV_TAG_STRUCT_AP_PROFILE,
  725. WMI_TLV_TAG_STRUCT_SCAN_SCH_PRIORITY_TABLE_CMD,
  726. WMI_TLV_TAG_STRUCT_PDEV_DFS_ENABLE_CMD,
  727. WMI_TLV_TAG_STRUCT_PDEV_DFS_DISABLE_CMD,
  728. WMI_TLV_TAG_STRUCT_WOW_ADD_PATTERN_CMD,
  729. WMI_TLV_TAG_STRUCT_WOW_BITMAP_PATTERN_T,
  730. WMI_TLV_TAG_STRUCT_WOW_IPV4_SYNC_PATTERN_T,
  731. WMI_TLV_TAG_STRUCT_WOW_IPV6_SYNC_PATTERN_T,
  732. WMI_TLV_TAG_STRUCT_WOW_MAGIC_PATTERN_CMD,
  733. WMI_TLV_TAG_STRUCT_SCAN_UPDATE_REQUEST_CMD,
  734. WMI_TLV_TAG_STRUCT_CHATTER_PKT_COALESCING_FILTER,
  735. WMI_TLV_TAG_STRUCT_CHATTER_COALESCING_ADD_FILTER_CMD,
  736. WMI_TLV_TAG_STRUCT_CHATTER_COALESCING_DELETE_FILTER_CMD,
  737. WMI_TLV_TAG_STRUCT_CHATTER_COALESCING_QUERY_CMD,
  738. WMI_TLV_TAG_STRUCT_TXBF_CMD,
  739. WMI_TLV_TAG_STRUCT_DEBUG_LOG_CONFIG_CMD,
  740. WMI_TLV_TAG_STRUCT_NLO_EVENT,
  741. WMI_TLV_TAG_STRUCT_CHATTER_QUERY_REPLY_EVENT,
  742. WMI_TLV_TAG_STRUCT_UPLOAD_H_HDR,
  743. WMI_TLV_TAG_STRUCT_CAPTURE_H_EVENT_HDR,
  744. WMI_TLV_TAG_STRUCT_VDEV_WNM_SLEEPMODE_CMD,
  745. WMI_TLV_TAG_STRUCT_VDEV_IPSEC_NATKEEPALIVE_FILTER_CMD,
  746. WMI_TLV_TAG_STRUCT_VDEV_WMM_ADDTS_CMD,
  747. WMI_TLV_TAG_STRUCT_VDEV_WMM_DELTS_CMD,
  748. WMI_TLV_TAG_STRUCT_VDEV_SET_WMM_PARAMS_CMD,
  749. WMI_TLV_TAG_STRUCT_TDLS_SET_STATE_CMD,
  750. WMI_TLV_TAG_STRUCT_TDLS_PEER_UPDATE_CMD,
  751. WMI_TLV_TAG_STRUCT_TDLS_PEER_EVENT,
  752. WMI_TLV_TAG_STRUCT_TDLS_PEER_CAPABILITIES,
  753. WMI_TLV_TAG_STRUCT_VDEV_MCC_SET_TBTT_MODE_CMD,
  754. WMI_TLV_TAG_STRUCT_ROAM_CHAN_LIST,
  755. WMI_TLV_TAG_STRUCT_VDEV_MCC_BCN_INTVL_CHANGE_EVENT,
  756. WMI_TLV_TAG_STRUCT_RESMGR_ADAPTIVE_OCS_CMD,
  757. WMI_TLV_TAG_STRUCT_RESMGR_SET_CHAN_TIME_QUOTA_CMD,
  758. WMI_TLV_TAG_STRUCT_RESMGR_SET_CHAN_LATENCY_CMD,
  759. WMI_TLV_TAG_STRUCT_BA_REQ_SSN_CMD,
  760. WMI_TLV_TAG_STRUCT_BA_RSP_SSN_EVENT,
  761. WMI_TLV_TAG_STRUCT_STA_SMPS_FORCE_MODE_CMD,
  762. WMI_TLV_TAG_STRUCT_SET_MCASTBCAST_FILTER_CMD,
  763. WMI_TLV_TAG_STRUCT_P2P_SET_OPPPS_CMD,
  764. WMI_TLV_TAG_STRUCT_P2P_SET_NOA_CMD,
  765. WMI_TLV_TAG_STRUCT_BA_REQ_SSN_CMD_SUB_STRUCT_PARAM,
  766. WMI_TLV_TAG_STRUCT_BA_REQ_SSN_EVENT_SUB_STRUCT_PARAM,
  767. WMI_TLV_TAG_STRUCT_STA_SMPS_PARAM_CMD,
  768. WMI_TLV_TAG_STRUCT_VDEV_SET_GTX_PARAMS_CMD,
  769. WMI_TLV_TAG_STRUCT_MCC_SCHED_TRAFFIC_STATS_CMD,
  770. WMI_TLV_TAG_STRUCT_MCC_SCHED_STA_TRAFFIC_STATS,
  771. WMI_TLV_TAG_STRUCT_OFFLOAD_BCN_TX_STATUS_EVENT,
  772. WMI_TLV_TAG_STRUCT_P2P_NOA_EVENT,
  773. WMI_TLV_TAG_STRUCT_HB_SET_ENABLE_CMD,
  774. WMI_TLV_TAG_STRUCT_HB_SET_TCP_PARAMS_CMD,
  775. WMI_TLV_TAG_STRUCT_HB_SET_TCP_PKT_FILTER_CMD,
  776. WMI_TLV_TAG_STRUCT_HB_SET_UDP_PARAMS_CMD,
  777. WMI_TLV_TAG_STRUCT_HB_SET_UDP_PKT_FILTER_CMD,
  778. WMI_TLV_TAG_STRUCT_HB_IND_EVENT,
  779. WMI_TLV_TAG_STRUCT_TX_PAUSE_EVENT,
  780. WMI_TLV_TAG_STRUCT_RFKILL_EVENT,
  781. WMI_TLV_TAG_STRUCT_DFS_RADAR_EVENT,
  782. WMI_TLV_TAG_STRUCT_DFS_PHYERR_FILTER_ENA_CMD,
  783. WMI_TLV_TAG_STRUCT_DFS_PHYERR_FILTER_DIS_CMD,
  784. WMI_TLV_TAG_STRUCT_BATCH_SCAN_RESULT_SCAN_LIST,
  785. WMI_TLV_TAG_STRUCT_BATCH_SCAN_RESULT_NETWORK_INFO,
  786. WMI_TLV_TAG_STRUCT_BATCH_SCAN_ENABLE_CMD,
  787. WMI_TLV_TAG_STRUCT_BATCH_SCAN_DISABLE_CMD,
  788. WMI_TLV_TAG_STRUCT_BATCH_SCAN_TRIGGER_RESULT_CMD,
  789. WMI_TLV_TAG_STRUCT_BATCH_SCAN_ENABLED_EVENT,
  790. WMI_TLV_TAG_STRUCT_BATCH_SCAN_RESULT_EVENT,
  791. WMI_TLV_TAG_STRUCT_VDEV_PLMREQ_START_CMD,
  792. WMI_TLV_TAG_STRUCT_VDEV_PLMREQ_STOP_CMD,
  793. WMI_TLV_TAG_STRUCT_THERMAL_MGMT_CMD,
  794. WMI_TLV_TAG_STRUCT_THERMAL_MGMT_EVENT,
  795. WMI_TLV_TAG_STRUCT_PEER_INFO_REQ_CMD,
  796. WMI_TLV_TAG_STRUCT_PEER_INFO_EVENT,
  797. WMI_TLV_TAG_STRUCT_PEER_INFO,
  798. WMI_TLV_TAG_STRUCT_PEER_TX_FAIL_CNT_THR_EVENT,
  799. WMI_TLV_TAG_STRUCT_RMC_SET_MODE_CMD,
  800. WMI_TLV_TAG_STRUCT_RMC_SET_ACTION_PERIOD_CMD,
  801. WMI_TLV_TAG_STRUCT_RMC_CONFIG_CMD,
  802. WMI_TLV_TAG_STRUCT_MHF_OFFLOAD_SET_MODE_CMD,
  803. WMI_TLV_TAG_STRUCT_MHF_OFFLOAD_PLUMB_ROUTING_TABLE_CMD,
  804. WMI_TLV_TAG_STRUCT_ADD_PROACTIVE_ARP_RSP_PATTERN_CMD,
  805. WMI_TLV_TAG_STRUCT_DEL_PROACTIVE_ARP_RSP_PATTERN_CMD,
  806. WMI_TLV_TAG_STRUCT_NAN_CMD_PARAM,
  807. WMI_TLV_TAG_STRUCT_NAN_EVENT_HDR,
  808. WMI_TLV_TAG_STRUCT_PDEV_L1SS_TRACK_EVENT,
  809. WMI_TLV_TAG_STRUCT_DIAG_DATA_CONTAINER_EVENT,
  810. WMI_TLV_TAG_STRUCT_MODEM_POWER_STATE_CMD_PARAM,
  811. WMI_TLV_TAG_STRUCT_PEER_GET_ESTIMATED_LINKSPEED_CMD,
  812. WMI_TLV_TAG_STRUCT_PEER_ESTIMATED_LINKSPEED_EVENT,
  813. WMI_TLV_TAG_STRUCT_AGGR_STATE_TRIG_EVENT,
  814. WMI_TLV_TAG_STRUCT_MHF_OFFLOAD_ROUTING_TABLE_ENTRY,
  815. WMI_TLV_TAG_STRUCT_ROAM_SCAN_CMD,
  816. WMI_TLV_TAG_STRUCT_REQ_STATS_EXT_CMD,
  817. WMI_TLV_TAG_STRUCT_STATS_EXT_EVENT,
  818. WMI_TLV_TAG_STRUCT_OBSS_SCAN_ENABLE_CMD,
  819. WMI_TLV_TAG_STRUCT_OBSS_SCAN_DISABLE_CMD,
  820. WMI_TLV_TAG_STRUCT_OFFLOAD_PRB_RSP_TX_STATUS_EVENT,
  821. WMI_TLV_TAG_STRUCT_PDEV_SET_LED_CONFIG_CMD,
  822. WMI_TLV_TAG_STRUCT_HOST_AUTO_SHUTDOWN_CFG_CMD,
  823. WMI_TLV_TAG_STRUCT_HOST_AUTO_SHUTDOWN_EVENT,
  824. WMI_TLV_TAG_STRUCT_UPDATE_WHAL_MIB_STATS_EVENT,
  825. WMI_TLV_TAG_STRUCT_CHAN_AVOID_UPDATE_CMD_PARAM,
  826. WMI_TLV_TAG_STRUCT_WOW_ACER_IOAC_PKT_PATTERN_T,
  827. WMI_TLV_TAG_STRUCT_WOW_ACER_IOAC_TMR_PATTERN_T,
  828. WMI_TLV_TAG_STRUCT_WOW_IOAC_ADD_KEEPALIVE_CMD,
  829. WMI_TLV_TAG_STRUCT_WOW_IOAC_DEL_KEEPALIVE_CMD,
  830. WMI_TLV_TAG_STRUCT_WOW_IOAC_KEEPALIVE_T,
  831. WMI_TLV_TAG_STRUCT_WOW_ACER_IOAC_ADD_PATTERN_CMD,
  832. WMI_TLV_TAG_STRUCT_WOW_ACER_IOAC_DEL_PATTERN_CMD,
  833. WMI_TLV_TAG_STRUCT_START_LINK_STATS_CMD,
  834. WMI_TLV_TAG_STRUCT_CLEAR_LINK_STATS_CMD,
  835. WMI_TLV_TAG_STRUCT_REQUEST_LINK_STATS_CMD,
  836. WMI_TLV_TAG_STRUCT_IFACE_LINK_STATS_EVENT,
  837. WMI_TLV_TAG_STRUCT_RADIO_LINK_STATS_EVENT,
  838. WMI_TLV_TAG_STRUCT_PEER_STATS_EVENT,
  839. WMI_TLV_TAG_STRUCT_CHANNEL_STATS,
  840. WMI_TLV_TAG_STRUCT_RADIO_LINK_STATS,
  841. WMI_TLV_TAG_STRUCT_RATE_STATS,
  842. WMI_TLV_TAG_STRUCT_PEER_LINK_STATS,
  843. WMI_TLV_TAG_STRUCT_WMM_AC_STATS,
  844. WMI_TLV_TAG_STRUCT_IFACE_LINK_STATS,
  845. WMI_TLV_TAG_STRUCT_LPI_MGMT_SNOOPING_CONFIG_CMD,
  846. WMI_TLV_TAG_STRUCT_LPI_START_SCAN_CMD,
  847. WMI_TLV_TAG_STRUCT_LPI_STOP_SCAN_CMD,
  848. WMI_TLV_TAG_STRUCT_LPI_RESULT_EVENT,
  849. WMI_TLV_TAG_STRUCT_PEER_STATE_EVENT,
  850. WMI_TLV_TAG_STRUCT_EXTSCAN_BUCKET_CMD,
  851. WMI_TLV_TAG_STRUCT_EXTSCAN_BUCKET_CHANNEL_EVENT,
  852. WMI_TLV_TAG_STRUCT_EXTSCAN_START_CMD,
  853. WMI_TLV_TAG_STRUCT_EXTSCAN_STOP_CMD,
  854. WMI_TLV_TAG_STRUCT_EXTSCAN_CONFIGURE_WLAN_CHANGE_MONITOR_CMD,
  855. WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_CHANGE_BSSID_PARAM_CMD,
  856. WMI_TLV_TAG_STRUCT_EXTSCAN_CONFIGURE_HOTLIST_MONITOR_CMD,
  857. WMI_TLV_TAG_STRUCT_EXTSCAN_GET_CACHED_RESULTS_CMD,
  858. WMI_TLV_TAG_STRUCT_EXTSCAN_GET_WLAN_CHANGE_RESULTS_CMD,
  859. WMI_TLV_TAG_STRUCT_EXTSCAN_SET_CAPABILITIES_CMD,
  860. WMI_TLV_TAG_STRUCT_EXTSCAN_GET_CAPABILITIES_CMD,
  861. WMI_TLV_TAG_STRUCT_EXTSCAN_OPERATION_EVENT,
  862. WMI_TLV_TAG_STRUCT_EXTSCAN_START_STOP_EVENT,
  863. WMI_TLV_TAG_STRUCT_EXTSCAN_TABLE_USAGE_EVENT,
  864. WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_DESCRIPTOR_EVENT,
  865. WMI_TLV_TAG_STRUCT_EXTSCAN_RSSI_INFO_EVENT,
  866. WMI_TLV_TAG_STRUCT_EXTSCAN_CACHED_RESULTS_EVENT,
  867. WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_CHANGE_RESULTS_EVENT,
  868. WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_CHANGE_RESULT_BSSID_EVENT,
  869. WMI_TLV_TAG_STRUCT_EXTSCAN_HOTLIST_MATCH_EVENT,
  870. WMI_TLV_TAG_STRUCT_EXTSCAN_CAPABILITIES_EVENT,
  871. WMI_TLV_TAG_STRUCT_EXTSCAN_CACHE_CAPABILITIES_EVENT,
  872. WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_CHANGE_MONITOR_CAPABILITIES_EVENT,
  873. WMI_TLV_TAG_STRUCT_EXTSCAN_HOTLIST_MONITOR_CAPABILITIES_EVENT,
  874. WMI_TLV_TAG_STRUCT_D0_WOW_ENABLE_DISABLE_CMD,
  875. WMI_TLV_TAG_STRUCT_D0_WOW_DISABLE_ACK_EVENT,
  876. WMI_TLV_TAG_STRUCT_UNIT_TEST_CMD,
  877. WMI_TLV_TAG_STRUCT_ROAM_OFFLOAD_TLV_PARAM,
  878. WMI_TLV_TAG_STRUCT_ROAM_11I_OFFLOAD_TLV_PARAM,
  879. WMI_TLV_TAG_STRUCT_ROAM_11R_OFFLOAD_TLV_PARAM,
  880. WMI_TLV_TAG_STRUCT_ROAM_ESE_OFFLOAD_TLV_PARAM,
  881. WMI_TLV_TAG_STRUCT_ROAM_SYNCH_EVENT,
  882. WMI_TLV_TAG_STRUCT_ROAM_SYNCH_COMPLETE,
  883. WMI_TLV_TAG_STRUCT_EXTWOW_ENABLE_CMD,
  884. WMI_TLV_TAG_STRUCT_EXTWOW_SET_APP_TYPE1_PARAMS_CMD,
  885. WMI_TLV_TAG_STRUCT_EXTWOW_SET_APP_TYPE2_PARAMS_CMD,
  886. WMI_TLV_TAG_STRUCT_LPI_STATUS_EVENT,
  887. WMI_TLV_TAG_STRUCT_LPI_HANDOFF_EVENT,
  888. WMI_TLV_TAG_STRUCT_VDEV_RATE_STATS_EVENT,
  889. WMI_TLV_TAG_STRUCT_VDEV_RATE_HT_INFO,
  890. WMI_TLV_TAG_STRUCT_RIC_REQUEST,
  891. WMI_TLV_TAG_STRUCT_PDEV_GET_TEMPERATURE_CMD,
  892. WMI_TLV_TAG_STRUCT_PDEV_TEMPERATURE_EVENT,
  893. WMI_TLV_TAG_STRUCT_SET_DHCP_SERVER_OFFLOAD_CMD,
  894. WMI_TLV_TAG_STRUCT_TPC_CHAINMASK_CONFIG_CMD,
  895. WMI_TLV_TAG_STRUCT_RIC_TSPEC,
  896. WMI_TLV_TAG_STRUCT_TPC_CHAINMASK_CONFIG,
  897. WMI_TLV_TAG_STRUCT_IPA_OFFLOAD_CMD,
  898. WMI_TLV_TAG_STRUCT_SCAN_PROB_REQ_OUI_CMD,
  899. WMI_TLV_TAG_STRUCT_KEY_MATERIAL,
  900. WMI_TLV_TAG_STRUCT_TDLS_SET_OFFCHAN_MODE_CMD,
  901. WMI_TLV_TAG_STRUCT_SET_LED_FLASHING_CMD,
  902. WMI_TLV_TAG_STRUCT_MDNS_OFFLOAD_CMD,
  903. WMI_TLV_TAG_STRUCT_MDNS_SET_FQDN_CMD,
  904. WMI_TLV_TAG_STRUCT_MDNS_SET_RESP_CMD,
  905. WMI_TLV_TAG_STRUCT_MDNS_GET_STATS_CMD,
  906. WMI_TLV_TAG_STRUCT_MDNS_STATS_EVENT,
  907. WMI_TLV_TAG_STRUCT_ROAM_INVOKE_CMD,
  908. WMI_TLV_TAG_STRUCT_PDEV_RESUME_EVENT,
  909. WMI_TLV_TAG_STRUCT_PDEV_SET_ANTENNA_DIVERSITY_CMD,
  910. WMI_TLV_TAG_STRUCT_SAP_OFL_ENABLE_CMD,
  911. WMI_TLV_TAG_STRUCT_SAP_OFL_ADD_STA_EVENT,
  912. WMI_TLV_TAG_STRUCT_SAP_OFL_DEL_STA_EVENT,
  913. WMI_TLV_TAG_STRUCT_APFIND_CMD_PARAM,
  914. WMI_TLV_TAG_STRUCT_APFIND_EVENT_HDR,
  915. WMI_TLV_TAG_STRUCT_OCB_SET_SCHED_CMD,
  916. WMI_TLV_TAG_STRUCT_OCB_SET_SCHED_EVENT,
  917. WMI_TLV_TAG_STRUCT_OCB_SET_CONFIG_CMD,
  918. WMI_TLV_TAG_STRUCT_OCB_SET_CONFIG_RESP_EVENT,
  919. WMI_TLV_TAG_STRUCT_OCB_SET_UTC_TIME_CMD,
  920. WMI_TLV_TAG_STRUCT_OCB_START_TIMING_ADVERT_CMD,
  921. WMI_TLV_TAG_STRUCT_OCB_STOP_TIMING_ADVERT_CMD,
  922. WMI_TLV_TAG_STRUCT_OCB_GET_TSF_TIMER_CMD,
  923. WMI_TLV_TAG_STRUCT_OCB_GET_TSF_TIMER_RESP_EVENT,
  924. WMI_TLV_TAG_STRUCT_DCC_GET_STATS_CMD,
  925. WMI_TLV_TAG_STRUCT_DCC_CHANNEL_STATS_REQUEST,
  926. WMI_TLV_TAG_STRUCT_DCC_GET_STATS_RESP_EVENT,
  927. WMI_TLV_TAG_STRUCT_DCC_CLEAR_STATS_CMD,
  928. WMI_TLV_TAG_STRUCT_DCC_UPDATE_NDL_CMD,
  929. WMI_TLV_TAG_STRUCT_DCC_UPDATE_NDL_RESP_EVENT,
  930. WMI_TLV_TAG_STRUCT_DCC_STATS_EVENT,
  931. WMI_TLV_TAG_STRUCT_OCB_CHANNEL,
  932. WMI_TLV_TAG_STRUCT_OCB_SCHEDULE_ELEMENT,
  933. WMI_TLV_TAG_STRUCT_DCC_NDL_STATS_PER_CHANNEL,
  934. WMI_TLV_TAG_STRUCT_DCC_NDL_CHAN,
  935. WMI_TLV_TAG_STRUCT_QOS_PARAMETER,
  936. WMI_TLV_TAG_STRUCT_DCC_NDL_ACTIVE_STATE_CONFIG,
  937. WMI_TLV_TAG_STRUCT_ROAM_SCAN_EXTENDED_THRESHOLD_PARAM,
  938. WMI_TLV_TAG_STRUCT_ROAM_FILTER_FIXED_PARAM,
  939. WMI_TLV_TAG_STRUCT_PASSPOINT_CONFIG_CMD,
  940. WMI_TLV_TAG_STRUCT_PASSPOINT_EVENT_HDR,
  941. WMI_TLV_TAG_STRUCT_EXTSCAN_CONFIGURE_HOTLIST_SSID_MONITOR_CMD,
  942. WMI_TLV_TAG_STRUCT_EXTSCAN_HOTLIST_SSID_MATCH_EVENT,
  943. WMI_TLV_TAG_STRUCT_VDEV_TSF_TSTAMP_ACTION_CMD,
  944. WMI_TLV_TAG_STRUCT_VDEV_TSF_REPORT_EVENT,
  945. WMI_TLV_TAG_STRUCT_GET_FW_MEM_DUMP,
  946. WMI_TLV_TAG_STRUCT_UPDATE_FW_MEM_DUMP,
  947. WMI_TLV_TAG_STRUCT_FW_MEM_DUMP_PARAMS,
  948. WMI_TLV_TAG_STRUCT_DEBUG_MESG_FLUSH,
  949. WMI_TLV_TAG_STRUCT_DEBUG_MESG_FLUSH_COMPLETE,
  950. WMI_TLV_TAG_STRUCT_PEER_SET_RATE_REPORT_CONDITION,
  951. WMI_TLV_TAG_STRUCT_ROAM_SUBNET_CHANGE_CONFIG,
  952. WMI_TLV_TAG_STRUCT_VDEV_SET_IE_CMD,
  953. WMI_TLV_TAG_STRUCT_RSSI_BREACH_MONITOR_CONFIG,
  954. WMI_TLV_TAG_STRUCT_RSSI_BREACH_EVENT,
  955. WMI_TLV_TAG_STRUCT_EVENT_INITIAL_WAKEUP,
  956. WMI_TLV_TAG_STRUCT_SOC_SET_PCL_CMD,
  957. WMI_TLV_TAG_STRUCT_SOC_SET_HW_MODE_CMD,
  958. WMI_TLV_TAG_STRUCT_SOC_SET_HW_MODE_RESPONSE_EVENT,
  959. WMI_TLV_TAG_STRUCT_SOC_HW_MODE_TRANSITION_EVENT,
  960. WMI_TLV_TAG_STRUCT_VDEV_TXRX_STREAMS,
  961. WMI_TLV_TAG_STRUCT_SOC_SET_HW_MODE_RESPONSE_VDEV_MAC_ENTRY,
  962. WMI_TLV_TAG_STRUCT_SOC_SET_DUAL_MAC_CONFIG_CMD,
  963. WMI_TLV_TAG_STRUCT_SOC_SET_DUAL_MAC_CONFIG_RESPONSE_EVENT,
  964. WMI_TLV_TAG_STRUCT_IOAC_SOCK_PATTERN_T,
  965. WMI_TLV_TAG_STRUCT_WOW_ENABLE_ICMPV6_NA_FLT_CMD,
  966. WMI_TLV_TAG_STRUCT_DIAG_EVENT_LOG_CONFIG,
  967. WMI_TLV_TAG_STRUCT_DIAG_EVENT_LOG_SUPPORTED_EVENT,
  968. WMI_TLV_TAG_STRUCT_PACKET_FILTER_CONFIG,
  969. WMI_TLV_TAG_STRUCT_PACKET_FILTER_ENABLE,
  970. WMI_TLV_TAG_STRUCT_SAP_SET_BLACKLIST_PARAM_CMD,
  971. WMI_TLV_TAG_STRUCT_MGMT_TX_CMD,
  972. WMI_TLV_TAG_STRUCT_MGMT_TX_COMPL_EVENT,
  973. WMI_TLV_TAG_STRUCT_SOC_SET_ANTENNA_MODE_CMD,
  974. WMI_TLV_TAG_STRUCT_WOW_UDP_SVC_OFLD_CMD,
  975. WMI_TLV_TAG_STRUCT_LRO_INFO_CMD,
  976. WMI_TLV_TAG_STRUCT_ROAM_EARLYSTOP_RSSI_THRES_PARAM,
  977. WMI_TLV_TAG_STRUCT_SERVICE_READY_EXT_EVENT,
  978. WMI_TLV_TAG_STRUCT_MAWC_SENSOR_REPORT_IND_CMD,
  979. WMI_TLV_TAG_STRUCT_MAWC_ENABLE_SENSOR_EVENT,
  980. WMI_TLV_TAG_STRUCT_ROAM_CONFIGURE_MAWC_CMD,
  981. WMI_TLV_TAG_STRUCT_NLO_CONFIGURE_MAWC_CMD,
  982. WMI_TLV_TAG_STRUCT_EXTSCAN_CONFIGURE_MAWC_CMD,
  983. WMI_TLV_TAG_STRUCT_PEER_ASSOC_CONF_EVENT,
  984. WMI_TLV_TAG_STRUCT_WOW_HOSTWAKEUP_GPIO_PIN_PATTERN_CONFIG_CMD,
  985. WMI_TLV_TAG_STRUCT_AP_PS_EGAP_PARAM_CMD,
  986. WMI_TLV_TAG_STRUCT_AP_PS_EGAP_INFO_EVENT,
  987. WMI_TLV_TAG_STRUCT_PMF_OFFLOAD_SET_SA_QUERY_CMD,
  988. WMI_TLV_TAG_STRUCT_TRANSFER_DATA_TO_FLASH_CMD,
  989. WMI_TLV_TAG_STRUCT_TRANSFER_DATA_TO_FLASH_COMPLETE_EVENT,
  990. WMI_TLV_TAG_STRUCT_SCPC_EVENT,
  991. WMI_TLV_TAG_STRUCT_AP_PS_EGAP_INFO_CHAINMASK_LIST,
  992. WMI_TLV_TAG_STRUCT_STA_SMPS_FORCE_MODE_COMPLETE_EVENT,
  993. WMI_TLV_TAG_STRUCT_BPF_GET_CAPABILITY_CMD,
  994. WMI_TLV_TAG_STRUCT_BPF_CAPABILITY_INFO_EVT,
  995. WMI_TLV_TAG_STRUCT_BPF_GET_VDEV_STATS_CMD,
  996. WMI_TLV_TAG_STRUCT_BPF_VDEV_STATS_INFO_EVT,
  997. WMI_TLV_TAG_STRUCT_BPF_SET_VDEV_INSTRUCTIONS_CMD,
  998. WMI_TLV_TAG_STRUCT_BPF_DEL_VDEV_INSTRUCTIONS_CMD,
  999. WMI_TLV_TAG_STRUCT_VDEV_DELETE_RESP_EVENT,
  1000. WMI_TLV_TAG_STRUCT_PEER_DELETE_RESP_EVENT,
  1001. WMI_TLV_TAG_STRUCT_ROAM_DENSE_THRES_PARAM,
  1002. WMI_TLV_TAG_STRUCT_ENLO_CANDIDATE_SCORE_PARAM,
  1003. WMI_TLV_TAG_STRUCT_PEER_UPDATE_WDS_ENTRY_CMD,
  1004. WMI_TLV_TAG_STRUCT_VDEV_CONFIG_RATEMASK,
  1005. WMI_TLV_TAG_STRUCT_PDEV_FIPS_CMD,
  1006. WMI_TLV_TAG_STRUCT_PDEV_SMART_ANT_ENABLE_CMD,
  1007. WMI_TLV_TAG_STRUCT_PDEV_SMART_ANT_SET_RX_ANTENNA_CMD,
  1008. WMI_TLV_TAG_STRUCT_PEER_SMART_ANT_SET_TX_ANTENNA_CMD,
  1009. WMI_TLV_TAG_STRUCT_PEER_SMART_ANT_SET_TRAIN_ANTENNA_CMD,
  1010. WMI_TLV_TAG_STRUCT_PEER_SMART_ANT_SET_NODE_CONFIG_OPS_CMD,
  1011. WMI_TLV_TAG_STRUCT_PDEV_SET_ANT_SWITCH_TBL_CMD,
  1012. WMI_TLV_TAG_STRUCT_PDEV_SET_CTL_TABLE_CMD,
  1013. WMI_TLV_TAG_STRUCT_PDEV_SET_MIMOGAIN_TABLE_CMD,
  1014. WMI_TLV_TAG_STRUCT_FWTEST_SET_PARAM_CMD,
  1015. WMI_TLV_TAG_STRUCT_PEER_ATF_REQUEST,
  1016. WMI_TLV_TAG_STRUCT_VDEV_ATF_REQUEST,
  1017. WMI_TLV_TAG_STRUCT_PDEV_GET_ANI_CCK_CONFIG_CMD,
  1018. WMI_TLV_TAG_STRUCT_PDEV_GET_ANI_OFDM_CONFIG_CMD,
  1019. WMI_TLV_TAG_STRUCT_INST_RSSI_STATS_RESP,
  1020. WMI_TLV_TAG_STRUCT_MED_UTIL_REPORT_EVENT,
  1021. WMI_TLV_TAG_STRUCT_PEER_STA_PS_STATECHANGE_EVENT,
  1022. WMI_TLV_TAG_STRUCT_WDS_ADDR_EVENT,
  1023. WMI_TLV_TAG_STRUCT_PEER_RATECODE_LIST_EVENT,
  1024. WMI_TLV_TAG_STRUCT_PDEV_NFCAL_POWER_ALL_CHANNELS_EVENT,
  1025. WMI_TLV_TAG_STRUCT_PDEV_TPC_EVENT,
  1026. WMI_TLV_TAG_STRUCT_ANI_OFDM_EVENT,
  1027. WMI_TLV_TAG_STRUCT_ANI_CCK_EVENT,
  1028. WMI_TLV_TAG_STRUCT_PDEV_CHANNEL_HOPPING_EVENT,
  1029. WMI_TLV_TAG_STRUCT_PDEV_FIPS_EVENT,
  1030. WMI_TLV_TAG_STRUCT_ATF_PEER_INFO,
  1031. WMI_TLV_TAG_STRUCT_PDEV_GET_TPC_CMD,
  1032. WMI_TLV_TAG_STRUCT_VDEV_FILTER_NRP_CONFIG_CMD,
  1033. WMI_TLV_TAG_STRUCT_QBOOST_CFG_CMD,
  1034. WMI_TLV_TAG_STRUCT_PDEV_SMART_ANT_GPIO_HANDLE,
  1035. WMI_TLV_TAG_STRUCT_PEER_SMART_ANT_SET_TX_ANTENNA_SERIES,
  1036. WMI_TLV_TAG_STRUCT_PEER_SMART_ANT_SET_TRAIN_ANTENNA_PARAM,
  1037. WMI_TLV_TAG_STRUCT_PDEV_SET_ANT_CTRL_CHAIN,
  1038. WMI_TLV_TAG_STRUCT_PEER_CCK_OFDM_RATE_INFO,
  1039. WMI_TLV_TAG_STRUCT_PEER_MCS_RATE_INFO,
  1040. WMI_TLV_TAG_STRUCT_PDEV_NFCAL_POWER_ALL_CHANNELS_NFDBR,
  1041. WMI_TLV_TAG_STRUCT_PDEV_NFCAL_POWER_ALL_CHANNELS_NFDBM,
  1042. WMI_TLV_TAG_STRUCT_PDEV_NFCAL_POWER_ALL_CHANNELS_FREQNUM,
  1043. WMI_TLV_TAG_STRUCT_MU_REPORT_TOTAL_MU,
  1044. WMI_TLV_TAG_STRUCT_VDEV_SET_DSCP_TID_MAP_CMD,
  1045. WMI_TLV_TAG_STRUCT_ROAM_SET_MBO,
  1046. WMI_TLV_TAG_STRUCT_MIB_STATS_ENABLE_CMD,
  1047. WMI_TLV_TAG_STRUCT_NAN_DISC_IFACE_CREATED_EVENT,
  1048. WMI_TLV_TAG_STRUCT_NAN_DISC_IFACE_DELETED_EVENT,
  1049. WMI_TLV_TAG_STRUCT_NAN_STARTED_CLUSTER_EVENT,
  1050. WMI_TLV_TAG_STRUCT_NAN_JOINED_CLUSTER_EVENT,
  1051. WMI_TLV_TAG_STRUCT_NDI_GET_CAP_REQ,
  1052. WMI_TLV_TAG_STRUCT_NDP_INITIATOR_REQ,
  1053. WMI_TLV_TAG_STRUCT_NDP_RESPONDER_REQ,
  1054. WMI_TLV_TAG_STRUCT_NDP_END_REQ,
  1055. WMI_TLV_TAG_STRUCT_NDI_CAP_RSP_EVENT,
  1056. WMI_TLV_TAG_STRUCT_NDP_INITIATOR_RSP_EVENT,
  1057. WMI_TLV_TAG_STRUCT_NDP_RESPONDER_RSP_EVENT,
  1058. WMI_TLV_TAG_STRUCT_NDP_END_RSP_EVENT,
  1059. WMI_TLV_TAG_STRUCT_NDP_INDICATION_EVENT,
  1060. WMI_TLV_TAG_STRUCT_NDP_CONFIRM_EVENT,
  1061. WMI_TLV_TAG_STRUCT_NDP_END_INDICATION_EVENT,
  1062. WMI_TLV_TAG_STRUCT_VDEV_SET_QUIET_CMD,
  1063. WMI_TLV_TAG_STRUCT_PDEV_SET_PCL_CMD,
  1064. WMI_TLV_TAG_STRUCT_PDEV_SET_HW_MODE_CMD,
  1065. WMI_TLV_TAG_STRUCT_PDEV_SET_MAC_CONFIG_CMD,
  1066. WMI_TLV_TAG_STRUCT_PDEV_SET_ANTENNA_MODE_CMD,
  1067. WMI_TLV_TAG_STRUCT_PDEV_SET_HW_MODE_RESPONSE_EVENT,
  1068. WMI_TLV_TAG_STRUCT_PDEV_HW_MODE_TRANSITION_EVENT,
  1069. WMI_TLV_TAG_STRUCT_PDEV_SET_HW_MODE_RESPONSE_VDEV_MAC_ENTRY,
  1070. WMI_TLV_TAG_STRUCT_PDEV_SET_MAC_CONFIG_RESPONSE_EVENT,
  1071. WMI_TLV_TAG_STRUCT_COEX_CONFIG_CMD,
  1072. WMI_TLV_TAG_STRUCT_CONFIG_ENHANCED_MCAST_FILTER,
  1073. WMI_TLV_TAG_STRUCT_CHAN_AVOID_RPT_ALLOW_CMD,
  1074. WMI_TLV_TAG_STRUCT_SET_PERIODIC_CHANNEL_STATS_CONFIG,
  1075. WMI_TLV_TAG_STRUCT_VDEV_SET_CUSTOM_AGGR_SIZE_CMD,
  1076. WMI_TLV_TAG_STRUCT_PDEV_WAL_POWER_DEBUG_CMD,
  1077. WMI_TLV_TAG_STRUCT_MAC_PHY_CAPABILITIES,
  1078. WMI_TLV_TAG_STRUCT_HW_MODE_CAPABILITIES,
  1079. WMI_TLV_TAG_STRUCT_SOC_MAC_PHY_HW_MODE_CAPS,
  1080. WMI_TLV_TAG_STRUCT_HAL_REG_CAPABILITIES_EXT,
  1081. WMI_TLV_TAG_STRUCT_SOC_HAL_REG_CAPABILITIES,
  1082. WMI_TLV_TAG_STRUCT_VDEV_WISA_CMD,
  1083. WMI_TLV_TAG_STRUCT_TX_POWER_LEVEL_STATS_EVT,
  1084. WMI_TLV_TAG_STRUCT_SCAN_ADAPTIVE_DWELL_PARAMETERS_TLV,
  1085. WMI_TLV_TAG_STRUCT_SCAN_ADAPTIVE_DWELL_CONFIG,
  1086. WMI_TLV_TAG_STRUCT_WOW_SET_ACTION_WAKE_UP_CMD,
  1087. WMI_TLV_TAG_STRUCT_NDP_END_RSP_PER_NDI,
  1088. WMI_TLV_TAG_STRUCT_PEER_BWF_REQUEST,
  1089. WMI_TLV_TAG_STRUCT_BWF_PEER_INFO,
  1090. WMI_TLV_TAG_STRUCT_DBGLOG_TIME_STAMP_SYNC_CMD,
  1091. WMI_TLV_TAG_STRUCT_RMC_SET_LEADER_CMD,
  1092. WMI_TLV_TAG_STRUCT_RMC_MANUAL_LEADER_EVENT,
  1093. WMI_TLV_TAG_STRUCT_PER_CHAIN_RSSI_STATS,
  1094. WMI_TLV_TAG_STRUCT_RSSI_STATS,
  1095. WMI_TLV_TAG_STRUCT_P2P_LO_START_CMD,
  1096. WMI_TLV_TAG_STRUCT_P2P_LO_STOP_CMD,
  1097. WMI_TLV_TAG_STRUCT_P2P_LO_STOPPED_EVENT,
  1098. WMI_TLV_TAG_STRUCT_PEER_REORDER_QUEUE_SETUP_CMD,
  1099. WMI_TLV_TAG_STRUCT_PEER_REORDER_QUEUE_REMOVE_CMD,
  1100. WMI_TLV_TAG_STRUCT_SET_MULTIPLE_MCAST_FILTER_CMD,
  1101. WMI_TLV_TAG_STRUCT_MGMT_TX_COMPL_BUNDLE_EVENT,
  1102. WMI_TLV_TAG_STRUCT_READ_DATA_FROM_FLASH_CMD,
  1103. WMI_TLV_TAG_STRUCT_READ_DATA_FROM_FLASH_EVENT,
  1104. WMI_TLV_TAG_STRUCT_PDEV_SET_REORDER_TIMEOUT_VAL_CMD,
  1105. WMI_TLV_TAG_STRUCT_PEER_SET_RX_BLOCKSIZE_CMD,
  1106. WMI_TLV_TAG_STRUCT_PDEV_SET_WAKEUP_CONFIG_CMDID,
  1107. WMI_TLV_TAG_STRUCT_TLV_BUF_LEN_PARAM,
  1108. WMI_TLV_TAG_STRUCT_SERVICE_AVAILABLE_EVENT,
  1109. WMI_TLV_TAG_STRUCT_PEER_ANTDIV_INFO_REQ_CMD,
  1110. WMI_TLV_TAG_STRUCT_PEER_ANTDIV_INFO_EVENT,
  1111. WMI_TLV_TAG_STRUCT_PEER_ANTDIV_INFO,
  1112. WMI_TLV_TAG_STRUCT_PDEV_GET_ANTDIV_STATUS_CMD,
  1113. WMI_TLV_TAG_STRUCT_PDEV_ANTDIV_STATUS_EVENT,
  1114. WMI_TLV_TAG_STRUCT_MNT_FILTER_CMD,
  1115. WMI_TLV_TAG_STRUCT_GET_CHIP_POWER_STATS_CMD,
  1116. WMI_TLV_TAG_STRUCT_PDEV_CHIP_POWER_STATS_EVENT,
  1117. WMI_TLV_TAG_STRUCT_COEX_GET_ANTENNA_ISOLATION_CMD,
  1118. WMI_TLV_TAG_STRUCT_COEX_REPORT_ISOLATION_EVENT,
  1119. WMI_TLV_TAG_STRUCT_CHAN_CCA_STATS,
  1120. WMI_TLV_TAG_STRUCT_PEER_SIGNAL_STATS,
  1121. WMI_TLV_TAG_STRUCT_TX_STATS,
  1122. WMI_TLV_TAG_STRUCT_PEER_AC_TX_STATS,
  1123. WMI_TLV_TAG_STRUCT_RX_STATS,
  1124. WMI_TLV_TAG_STRUCT_PEER_AC_RX_STATS,
  1125. WMI_TLV_TAG_STRUCT_REPORT_STATS_EVENT,
  1126. WMI_TLV_TAG_STRUCT_CHAN_CCA_STATS_THRESH,
  1127. WMI_TLV_TAG_STRUCT_PEER_SIGNAL_STATS_THRESH,
  1128. WMI_TLV_TAG_STRUCT_TX_STATS_THRESH,
  1129. WMI_TLV_TAG_STRUCT_RX_STATS_THRESH,
  1130. WMI_TLV_TAG_STRUCT_PDEV_SET_STATS_THRESHOLD_CMD,
  1131. WMI_TLV_TAG_STRUCT_REQUEST_WLAN_STATS_CMD,
  1132. WMI_TLV_TAG_STRUCT_RX_AGGR_FAILURE_EVENT,
  1133. WMI_TLV_TAG_STRUCT_RX_AGGR_FAILURE_INFO,
  1134. WMI_TLV_TAG_STRUCT_VDEV_ENCRYPT_DECRYPT_DATA_REQ_CMD,
  1135. WMI_TLV_TAG_STRUCT_VDEV_ENCRYPT_DECRYPT_DATA_RESP_EVENT,
  1136. WMI_TLV_TAG_STRUCT_PDEV_BAND_TO_MAC,
  1137. WMI_TLV_TAG_STRUCT_TBTT_OFFSET_INFO,
  1138. WMI_TLV_TAG_STRUCT_TBTT_OFFSET_EXT_EVENT,
  1139. WMI_TLV_TAG_STRUCT_SAR_LIMITS_CMD,
  1140. WMI_TLV_TAG_STRUCT_SAR_LIMIT_CMD_ROW,
  1141. WMI_TLV_TAG_STRUCT_PDEV_DFS_PHYERR_OFFLOAD_ENABLE_CMD,
  1142. WMI_TLV_TAG_STRUCT_PDEV_DFS_PHYERR_OFFLOAD_DISABLE_CMD,
  1143. WMI_TLV_TAG_STRUCT_VDEV_ADFS_CH_CFG_CMD,
  1144. WMI_TLV_TAG_STRUCT_VDEV_ADFS_OCAC_ABORT_CMD,
  1145. WMI_TLV_TAG_STRUCT_PDEV_DFS_RADAR_DETECTION_EVENT,
  1146. WMI_TLV_TAG_STRUCT_VDEV_ADFS_OCAC_COMPLETE_EVENT,
  1147. WMI_TLV_TAG_STRUCT_VDEV_DFS_CAC_COMPLETE_EVENT,
  1148. WMI_TLV_TAG_STRUCT_VENDOR_OUI,
  1149. WMI_TLV_TAG_STRUCT_REQUEST_RCPI_CMD,
  1150. WMI_TLV_TAG_STRUCT_UPDATE_RCPI_EVENT,
  1151. WMI_TLV_TAG_STRUCT_REQUEST_PEER_STATS_INFO_CMD,
  1152. WMI_TLV_TAG_STRUCT_PEER_STATS_INFO,
  1153. WMI_TLV_TAG_STRUCT_PEER_STATS_INFO_EVENT,
  1154. WMI_TLV_TAG_STRUCT_PKGID_EVENT,
  1155. WMI_TLV_TAG_STRUCT_CONNECTED_NLO_RSSI_PARAMS,
  1156. WMI_TLV_TAG_STRUCT_SET_CURRENT_COUNTRY_CMD,
  1157. WMI_TLV_TAG_STRUCT_REGULATORY_RULE_STRUCT,
  1158. WMI_TLV_TAG_STRUCT_REG_CHAN_LIST_CC_EVENT,
  1159. WMI_TLV_TAG_STRUCT_11D_SCAN_START_CMD,
  1160. WMI_TLV_TAG_STRUCT_11D_SCAN_STOP_CMD,
  1161. WMI_TLV_TAG_STRUCT_11D_NEW_COUNTRY_EVENT,
  1162. WMI_TLV_TAG_STRUCT_REQUEST_RADIO_CHAN_STATS_CMD,
  1163. WMI_TLV_TAG_STRUCT_RADIO_CHAN_STATS,
  1164. WMI_TLV_TAG_STRUCT_RADIO_CHAN_STATS_EVENT,
  1165. WMI_TLV_TAG_STRUCT_ROAM_PER_CONFIG,
  1166. WMI_TLV_TAG_STRUCT_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_CMD,
  1167. WMI_TLV_TAG_STRUCT_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_STATUS_EVENT,
  1168. WMI_TLV_TAG_STRUCT_BPF_SET_VDEV_ACTIVE_MODE_CMD,
  1169. WMI_TLV_TAG_STRUCT_HW_DATA_FILTER_CMD,
  1170. WMI_TLV_TAG_STRUCT_CONNECTED_NLO_BSS_BAND_RSSI_PREF,
  1171. WMI_TLV_TAG_STRUCT_PEER_OPER_MODE_CHANGE_EVENT,
  1172. WMI_TLV_TAG_STRUCT_CHIP_POWER_SAVE_FAILURE_DETECTED,
  1173. WMI_TLV_TAG_STRUCT_PDEV_MULTIPLE_VDEV_RESTART_REQUEST_CMD,
  1174. WMI_TLV_TAG_STRUCT_PDEV_CSA_SWITCH_COUNT_STATUS_EVENT,
  1175. WMI_TLV_TAG_STRUCT_PDEV_UPDATE_PKT_ROUTING_CMD,
  1176. WMI_TLV_TAG_STRUCT_PDEV_CHECK_CAL_VERSION_CMD,
  1177. WMI_TLV_TAG_STRUCT_PDEV_CHECK_CAL_VERSION_EVENT,
  1178. WMI_TLV_TAG_STRUCT_PDEV_SET_DIVERSITY_GAIN_CMD,
  1179. WMI_TLV_TAG_STRUCT_MAC_PHY_CHAINMASK_COMBO,
  1180. WMI_TLV_TAG_STRUCT_MAC_PHY_CHAINMASK_CAPABILITY,
  1181. WMI_TLV_TAG_STRUCT_VDEV_SET_ARP_STATS_CMD,
  1182. WMI_TLV_TAG_STRUCT_VDEV_GET_ARP_STATS_CMD,
  1183. WMI_TLV_TAG_STRUCT_VDEV_GET_ARP_STATS_EVENT,
  1184. WMI_TLV_TAG_STRUCT_IFACE_OFFLOAD_STATS,
  1185. WMI_TLV_TAG_STRUCT_REQUEST_STATS_CMD_SUB_STRUCT_PARAM,
  1186. WMI_TLV_TAG_STRUCT_RSSI_CTL_EXT,
  1187. WMI_TLV_TAG_STRUCT_SINGLE_PHYERR_EXT_RX_HDR,
  1188. WMI_TLV_TAG_STRUCT_COEX_BT_ACTIVITY_EVENT,
  1189. WMI_TLV_TAG_STRUCT_VDEV_GET_TX_POWER_CMD,
  1190. WMI_TLV_TAG_STRUCT_VDEV_TX_POWER_EVENT,
  1191. WMI_TLV_TAG_STRUCT_OFFCHAN_DATA_TX_COMPL_EVENT,
  1192. WMI_TLV_TAG_STRUCT_OFFCHAN_DATA_TX_SEND_CMD,
  1193. WMI_TLV_TAG_STRUCT_TX_SEND_PARAMS,
  1194. WMI_TLV_TAG_STRUCT_HE_RATE_SET,
  1195. WMI_TLV_TAG_STRUCT_CONGESTION_STATS,
  1196. WMI_TLV_TAG_STRUCT_SET_INIT_COUNTRY_CMD,
  1197. WMI_TLV_TAG_STRUCT_SCAN_DBS_DUTY_CYCLE,
  1198. WMI_TLV_TAG_STRUCT_SCAN_DBS_DUTY_CYCLE_PARAM_TLV,
  1199. WMI_TLV_TAG_STRUCT_PDEV_DIV_GET_RSSI_ANTID,
  1200. WMI_TLV_TAG_STRUCT_THERM_THROT_CONFIG_REQUEST,
  1201. WMI_TLV_TAG_STRUCT_THERM_THROT_LEVEL_CONFIG_INFO,
  1202. WMI_TLV_TAG_STRUCT_THERM_THROT_STATS_EVENT,
  1203. WMI_TLV_TAG_STRUCT_THERM_THROT_LEVEL_STATS_INFO,
  1204. WMI_TLV_TAG_STRUCT_PDEV_DIV_RSSI_ANTID_EVENT,
  1205. WMI_TLV_TAG_STRUCT_OEM_DMA_RING_CAPABILITIES,
  1206. WMI_TLV_TAG_STRUCT_OEM_DMA_RING_CFG_REQ,
  1207. WMI_TLV_TAG_STRUCT_OEM_DMA_RING_CFG_RSP,
  1208. WMI_TLV_TAG_STRUCT_OEM_INDIRECT_DATA,
  1209. WMI_TLV_TAG_STRUCT_OEM_DMA_BUF_RELEASE,
  1210. WMI_TLV_TAG_STRUCT_OEM_DMA_BUF_RELEASE_ENTRY,
  1211. WMI_TLV_TAG_STRUCT_PDEV_BSS_CHAN_INFO_REQUEST,
  1212. WMI_TLV_TAG_STRUCT_PDEV_BSS_CHAN_INFO_EVENT,
  1213. WMI_TLV_TAG_STRUCT_ROAM_LCA_DISALLOW_CONFIG_TLV_PARAM,
  1214. WMI_TLV_TAG_STRUCT_VDEV_LIMIT_OFFCHAN_CMD,
  1215. WMI_TLV_TAG_STRUCT_ROAM_RSSI_REJECTION_OCE_CONFIG_PARAM,
  1216. WMI_TLV_TAG_STRUCT_UNIT_TEST_EVENT,
  1217. WMI_TLV_TAG_STRUCT_ROAM_FILS_OFFLOAD_TLV_PARAM,
  1218. WMI_TLV_TAG_STRUCT_PDEV_UPDATE_PMK_CACHE_CMD,
  1219. WMI_TLV_TAG_STRUCT_PMK_CACHE,
  1220. WMI_TLV_TAG_STRUCT_PDEV_UPDATE_FILS_HLP_PKT_CMD,
  1221. WMI_TLV_TAG_STRUCT_ROAM_FILS_SYNCH_TLV_PARAM,
  1222. WMI_TLV_TAG_STRUCT_GTK_OFFLOAD_EXTENDED_TLV_PARAM,
  1223. WMI_TLV_TAG_STRUCT_ROAM_BG_SCAN_ROAMING_PARAM,
  1224. WMI_TLV_TAG_STRUCT_OIC_PING_OFFLOAD_PARAMS_CMD,
  1225. WMI_TLV_TAG_STRUCT_OIC_PING_OFFLOAD_SET_ENABLE_CMD,
  1226. WMI_TLV_TAG_STRUCT_OIC_PING_HANDOFF_EVENT,
  1227. WMI_TLV_TAG_STRUCT_DHCP_LEASE_RENEW_OFFLOAD_CMD,
  1228. WMI_TLV_TAG_STRUCT_DHCP_LEASE_RENEW_EVENT,
  1229. WMI_TLV_TAG_STRUCT_BTM_CONFIG,
  1230. WMI_TLV_TAG_STRUCT_DEBUG_MESG_FW_DATA_STALL_PARAM,
  1231. WMI_TLV_TAG_STRUCT_WLM_CONFIG_CMD,
  1232. WMI_TLV_TAG_STRUCT_PDEV_UPDATE_CTLTABLE_REQUEST,
  1233. WMI_TLV_TAG_STRUCT_PDEV_UPDATE_CTLTABLE_EVENT,
  1234. WMI_TLV_TAG_STRUCT_ROAM_CND_SCORING_PARAM,
  1235. WMI_TLV_TAG_STRUCT_PDEV_CONFIG_VENDOR_OUI_ACTION,
  1236. WMI_TLV_TAG_STRUCT_VENDOR_OUI_EXT,
  1237. WMI_TLV_TAG_STRUCT_ROAM_SYNCH_FRAME_EVENT,
  1238. WMI_TLV_TAG_STRUCT_FD_SEND_FROM_HOST_CMD,
  1239. WMI_TLV_TAG_STRUCT_ENABLE_FILS_CMD,
  1240. WMI_TLV_TAG_STRUCT_HOST_SWFDA_EVENT,
  1241. WMI_TLV_TAG_MAX
  1242. };
  1243. enum wmi_tlv_service {
  1244. WMI_TLV_SERVICE_BEACON_OFFLOAD = 0,
  1245. WMI_TLV_SERVICE_SCAN_OFFLOAD,
  1246. WMI_TLV_SERVICE_ROAM_SCAN_OFFLOAD,
  1247. WMI_TLV_SERVICE_BCN_MISS_OFFLOAD,
  1248. WMI_TLV_SERVICE_STA_PWRSAVE,
  1249. WMI_TLV_SERVICE_STA_ADVANCED_PWRSAVE,
  1250. WMI_TLV_SERVICE_AP_UAPSD,
  1251. WMI_TLV_SERVICE_AP_DFS,
  1252. WMI_TLV_SERVICE_11AC,
  1253. WMI_TLV_SERVICE_BLOCKACK,
  1254. WMI_TLV_SERVICE_PHYERR,
  1255. WMI_TLV_SERVICE_BCN_FILTER,
  1256. WMI_TLV_SERVICE_RTT,
  1257. WMI_TLV_SERVICE_WOW,
  1258. WMI_TLV_SERVICE_RATECTRL_CACHE,
  1259. WMI_TLV_SERVICE_IRAM_TIDS,
  1260. WMI_TLV_SERVICE_ARPNS_OFFLOAD,
  1261. WMI_TLV_SERVICE_NLO,
  1262. WMI_TLV_SERVICE_GTK_OFFLOAD,
  1263. WMI_TLV_SERVICE_SCAN_SCH,
  1264. WMI_TLV_SERVICE_CSA_OFFLOAD,
  1265. WMI_TLV_SERVICE_CHATTER,
  1266. WMI_TLV_SERVICE_COEX_FREQAVOID,
  1267. WMI_TLV_SERVICE_PACKET_POWER_SAVE,
  1268. WMI_TLV_SERVICE_FORCE_FW_HANG,
  1269. WMI_TLV_SERVICE_GPIO,
  1270. WMI_TLV_SERVICE_STA_DTIM_PS_MODULATED_DTIM,
  1271. WMI_TLV_SERVICE_STA_UAPSD_BASIC_AUTO_TRIG,
  1272. WMI_TLV_SERVICE_STA_UAPSD_VAR_AUTO_TRIG,
  1273. WMI_TLV_SERVICE_STA_KEEP_ALIVE,
  1274. WMI_TLV_SERVICE_TX_ENCAP,
  1275. WMI_TLV_SERVICE_AP_PS_DETECT_OUT_OF_SYNC,
  1276. WMI_TLV_SERVICE_EARLY_RX,
  1277. WMI_TLV_SERVICE_STA_SMPS,
  1278. WMI_TLV_SERVICE_FWTEST,
  1279. WMI_TLV_SERVICE_STA_WMMAC,
  1280. WMI_TLV_SERVICE_TDLS,
  1281. WMI_TLV_SERVICE_BURST,
  1282. WMI_TLV_SERVICE_MCC_BCN_INTERVAL_CHANGE,
  1283. WMI_TLV_SERVICE_ADAPTIVE_OCS,
  1284. WMI_TLV_SERVICE_BA_SSN_SUPPORT,
  1285. WMI_TLV_SERVICE_FILTER_IPSEC_NATKEEPALIVE,
  1286. WMI_TLV_SERVICE_WLAN_HB,
  1287. WMI_TLV_SERVICE_LTE_ANT_SHARE_SUPPORT,
  1288. WMI_TLV_SERVICE_BATCH_SCAN,
  1289. WMI_TLV_SERVICE_QPOWER,
  1290. WMI_TLV_SERVICE_PLMREQ,
  1291. WMI_TLV_SERVICE_THERMAL_MGMT,
  1292. WMI_TLV_SERVICE_RMC,
  1293. WMI_TLV_SERVICE_MHF_OFFLOAD,
  1294. WMI_TLV_SERVICE_COEX_SAR,
  1295. WMI_TLV_SERVICE_BCN_TXRATE_OVERRIDE,
  1296. WMI_TLV_SERVICE_NAN,
  1297. WMI_TLV_SERVICE_L1SS_STAT,
  1298. WMI_TLV_SERVICE_ESTIMATE_LINKSPEED,
  1299. WMI_TLV_SERVICE_OBSS_SCAN,
  1300. WMI_TLV_SERVICE_TDLS_OFFCHAN,
  1301. WMI_TLV_SERVICE_TDLS_UAPSD_BUFFER_STA,
  1302. WMI_TLV_SERVICE_TDLS_UAPSD_SLEEP_STA,
  1303. WMI_TLV_SERVICE_IBSS_PWRSAVE,
  1304. WMI_TLV_SERVICE_LPASS,
  1305. WMI_TLV_SERVICE_EXTSCAN,
  1306. WMI_TLV_SERVICE_D0WOW,
  1307. WMI_TLV_SERVICE_HSOFFLOAD,
  1308. WMI_TLV_SERVICE_ROAM_HO_OFFLOAD,
  1309. WMI_TLV_SERVICE_RX_FULL_REORDER,
  1310. WMI_TLV_SERVICE_DHCP_OFFLOAD,
  1311. WMI_TLV_SERVICE_STA_RX_IPA_OFFLOAD_SUPPORT,
  1312. WMI_TLV_SERVICE_MDNS_OFFLOAD,
  1313. WMI_TLV_SERVICE_SAP_AUTH_OFFLOAD,
  1314. WMI_TLV_SERVICE_DUAL_BAND_SIMULTANEOUS_SUPPORT,
  1315. WMI_TLV_SERVICE_OCB,
  1316. WMI_TLV_SERVICE_AP_ARPNS_OFFLOAD,
  1317. WMI_TLV_SERVICE_PER_BAND_CHAINMASK_SUPPORT,
  1318. WMI_TLV_SERVICE_PACKET_FILTER_OFFLOAD,
  1319. WMI_TLV_SERVICE_MGMT_TX_HTT,
  1320. WMI_TLV_SERVICE_MGMT_TX_WMI,
  1321. WMI_TLV_SERVICE_EXT_MSG,
  1322. WMI_TLV_SERVICE_MAWC,
  1323. WMI_TLV_SERVICE_PEER_ASSOC_CONF,
  1324. WMI_TLV_SERVICE_EGAP,
  1325. WMI_TLV_SERVICE_STA_PMF_OFFLOAD,
  1326. WMI_TLV_SERVICE_UNIFIED_WOW_CAPABILITY,
  1327. WMI_TLV_SERVICE_ENHANCED_PROXY_STA,
  1328. WMI_TLV_SERVICE_ATF,
  1329. WMI_TLV_SERVICE_COEX_GPIO,
  1330. WMI_TLV_SERVICE_AUX_SPECTRAL_INTF,
  1331. WMI_TLV_SERVICE_AUX_CHAN_LOAD_INTF,
  1332. WMI_TLV_SERVICE_BSS_CHANNEL_INFO_64,
  1333. WMI_TLV_SERVICE_ENTERPRISE_MESH,
  1334. WMI_TLV_SERVICE_RESTRT_CHNL_SUPPORT,
  1335. WMI_TLV_SERVICE_BPF_OFFLOAD,
  1336. WMI_TLV_SERVICE_SYNC_DELETE_CMDS,
  1337. WMI_TLV_SERVICE_SMART_ANTENNA_SW_SUPPORT,
  1338. WMI_TLV_SERVICE_SMART_ANTENNA_HW_SUPPORT,
  1339. WMI_TLV_SERVICE_RATECTRL_LIMIT_MAX_MIN_RATES,
  1340. WMI_TLV_SERVICE_NAN_DATA,
  1341. WMI_TLV_SERVICE_NAN_RTT,
  1342. WMI_TLV_SERVICE_11AX,
  1343. WMI_TLV_SERVICE_DEPRECATED_REPLACE,
  1344. WMI_TLV_SERVICE_TDLS_CONN_TRACKER_IN_HOST_MODE,
  1345. WMI_TLV_SERVICE_ENHANCED_MCAST_FILTER,
  1346. WMI_TLV_SERVICE_PERIODIC_CHAN_STAT_SUPPORT,
  1347. WMI_TLV_SERVICE_MESH_11S,
  1348. WMI_TLV_SERVICE_HALF_RATE_QUARTER_RATE_SUPPORT,
  1349. WMI_TLV_SERVICE_VDEV_RX_FILTER,
  1350. WMI_TLV_SERVICE_P2P_LISTEN_OFFLOAD_SUPPORT,
  1351. WMI_TLV_SERVICE_MARK_FIRST_WAKEUP_PACKET,
  1352. WMI_TLV_SERVICE_MULTIPLE_MCAST_FILTER_SET,
  1353. WMI_TLV_SERVICE_HOST_MANAGED_RX_REORDER,
  1354. WMI_TLV_SERVICE_FLASH_RDWR_SUPPORT,
  1355. WMI_TLV_SERVICE_WLAN_STATS_REPORT,
  1356. WMI_TLV_SERVICE_TX_MSDU_ID_NEW_PARTITION_SUPPORT,
  1357. WMI_TLV_SERVICE_DFS_PHYERR_OFFLOAD,
  1358. WMI_TLV_SERVICE_RCPI_SUPPORT,
  1359. WMI_TLV_SERVICE_FW_MEM_DUMP_SUPPORT,
  1360. WMI_TLV_SERVICE_PEER_STATS_INFO,
  1361. WMI_TLV_SERVICE_REGULATORY_DB,
  1362. WMI_TLV_SERVICE_11D_OFFLOAD,
  1363. WMI_TLV_SERVICE_HW_DATA_FILTERING,
  1364. WMI_TLV_SERVICE_MULTIPLE_VDEV_RESTART,
  1365. WMI_TLV_SERVICE_PKT_ROUTING,
  1366. WMI_TLV_SERVICE_CHECK_CAL_VERSION,
  1367. WMI_TLV_SERVICE_OFFCHAN_TX_WMI,
  1368. WMI_TLV_SERVICE_8SS_TX_BFEE,
  1369. WMI_TLV_SERVICE_EXTENDED_NSS_SUPPORT,
  1370. WMI_TLV_SERVICE_ACK_TIMEOUT,
  1371. WMI_TLV_SERVICE_PDEV_BSS_CHANNEL_INFO_64,
  1372. WMI_TLV_MAX_SERVICE = 128,
  1373. /* NOTE:
  1374. * The above service flags are delivered in the wmi_service_bitmap field
  1375. * of the WMI_TLV_SERVICE_READY_EVENT message.
  1376. * The below service flags are delivered in a WMI_TLV_SERVICE_AVAILABLE_EVENT
  1377. * message rather than in the WMI_TLV_SERVICE_READY_EVENT message's
  1378. * wmi_service_bitmap field.
  1379. * The WMI_TLV_SERVICE_AVAILABLE_EVENT message immediately precedes the
  1380. * WMI_TLV_SERVICE_READY_EVENT message.
  1381. */
  1382. WMI_TLV_SERVICE_CHAN_LOAD_INFO = 128,
  1383. WMI_TLV_SERVICE_TX_PPDU_INFO_STATS_SUPPORT,
  1384. WMI_TLV_SERVICE_VDEV_LIMIT_OFFCHAN_SUPPORT,
  1385. WMI_TLV_SERVICE_FILS_SUPPORT,
  1386. WMI_TLV_SERVICE_WLAN_OIC_PING_OFFLOAD,
  1387. WMI_TLV_SERVICE_WLAN_DHCP_RENEW,
  1388. WMI_TLV_SERVICE_MAWC_SUPPORT,
  1389. WMI_TLV_SERVICE_VDEV_LATENCY_CONFIG,
  1390. WMI_TLV_SERVICE_PDEV_UPDATE_CTLTABLE_SUPPORT,
  1391. WMI_TLV_SERVICE_PKTLOG_SUPPORT_OVER_HTT,
  1392. WMI_TLV_SERVICE_VDEV_MULTI_GROUP_KEY_SUPPORT,
  1393. WMI_TLV_SERVICE_SCAN_PHYMODE_SUPPORT,
  1394. WMI_TLV_SERVICE_THERM_THROT,
  1395. WMI_TLV_SERVICE_BCN_OFFLOAD_START_STOP_SUPPORT,
  1396. WMI_TLV_SERVICE_WOW_WAKEUP_BY_TIMER_PATTERN,
  1397. WMI_TLV_SERVICE_PEER_MAP_UNMAP_V2_SUPPORT = 143,
  1398. WMI_TLV_SERVICE_OFFCHAN_DATA_TID_SUPPORT = 144,
  1399. WMI_TLV_SERVICE_RX_PROMISC_ENABLE_SUPPORT = 145,
  1400. WMI_TLV_SERVICE_SUPPORT_DIRECT_DMA = 146,
  1401. WMI_TLV_SERVICE_AP_OBSS_DETECTION_OFFLOAD = 147,
  1402. WMI_TLV_SERVICE_11K_NEIGHBOUR_REPORT_SUPPORT = 148,
  1403. WMI_TLV_SERVICE_LISTEN_INTERVAL_OFFLOAD_SUPPORT = 149,
  1404. WMI_TLV_SERVICE_BSS_COLOR_OFFLOAD = 150,
  1405. WMI_TLV_SERVICE_RUNTIME_DPD_RECAL = 151,
  1406. WMI_TLV_SERVICE_STA_TWT = 152,
  1407. WMI_TLV_SERVICE_AP_TWT = 153,
  1408. WMI_TLV_SERVICE_GMAC_OFFLOAD_SUPPORT = 154,
  1409. WMI_TLV_SERVICE_SPOOF_MAC_SUPPORT = 155,
  1410. WMI_TLV_SERVICE_PEER_TID_CONFIGS_SUPPORT = 156,
  1411. WMI_TLV_SERVICE_VDEV_SWRETRY_PER_AC_CONFIG_SUPPORT = 157,
  1412. WMI_TLV_SERVICE_DUAL_BEACON_ON_SINGLE_MAC_SCC_SUPPORT = 158,
  1413. WMI_TLV_SERVICE_DUAL_BEACON_ON_SINGLE_MAC_MCC_SUPPORT = 159,
  1414. WMI_TLV_SERVICE_MOTION_DET = 160,
  1415. WMI_TLV_SERVICE_INFRA_MBSSID = 161,
  1416. WMI_TLV_SERVICE_OBSS_SPATIAL_REUSE = 162,
  1417. WMI_TLV_SERVICE_VDEV_DIFFERENT_BEACON_INTERVAL_SUPPORT = 163,
  1418. WMI_TLV_SERVICE_NAN_DBS_SUPPORT = 164,
  1419. WMI_TLV_SERVICE_NDI_DBS_SUPPORT = 165,
  1420. WMI_TLV_SERVICE_NAN_SAP_SUPPORT = 166,
  1421. WMI_TLV_SERVICE_NDI_SAP_SUPPORT = 167,
  1422. WMI_TLV_SERVICE_CFR_CAPTURE_SUPPORT = 168,
  1423. WMI_TLV_SERVICE_CFR_CAPTURE_IND_MSG_TYPE_1 = 169,
  1424. WMI_TLV_SERVICE_ESP_SUPPORT = 170,
  1425. WMI_TLV_SERVICE_PEER_CHWIDTH_CHANGE = 171,
  1426. WMI_TLV_SERVICE_WLAN_HPCS_PULSE = 172,
  1427. WMI_TLV_SERVICE_PER_VDEV_CHAINMASK_CONFIG_SUPPORT = 173,
  1428. WMI_TLV_SERVICE_TX_DATA_MGMT_ACK_RSSI = 174,
  1429. WMI_TLV_SERVICE_NAN_DISABLE_SUPPORT = 175,
  1430. WMI_TLV_SERVICE_HTT_H2T_NO_HTC_HDR_LEN_IN_MSG_LEN = 176,
  1431. WMI_TLV_SERVICE_COEX_SUPPORT_UNEQUAL_ISOLATION = 177,
  1432. WMI_TLV_SERVICE_HW_DB2DBM_CONVERSION_SUPPORT = 178,
  1433. WMI_TLV_SERVICE_SUPPORT_EXTEND_ADDRESS = 179,
  1434. WMI_TLV_MAX_EXT_SERVICE = 256,
  1435. };
  1436. #define WMI_TLV_EXT_SERVICE_IS_ENABLED(wmi_svc_bmap, svc_id, len) \
  1437. ((svc_id) < (WMI_TLV_MAX_EXT_SERVICE) && \
  1438. (svc_id) >= (len) && \
  1439. __le32_to_cpu((wmi_svc_bmap)[((svc_id) - (len)) / 32]) & \
  1440. BIT(((((svc_id) - (len)) % 32) & 0x1f)))
  1441. #define SVCMAP(x, y, len) \
  1442. do { \
  1443. if ((WMI_SERVICE_IS_ENABLED((in), (x), (len))) || \
  1444. (WMI_TLV_EXT_SERVICE_IS_ENABLED((in), (x), (len)))) \
  1445. __set_bit(y, out); \
  1446. } while (0)
  1447. static inline void
  1448. wmi_tlv_svc_map(const __le32 *in, unsigned long *out, size_t len)
  1449. {
  1450. SVCMAP(WMI_TLV_SERVICE_BEACON_OFFLOAD,
  1451. WMI_SERVICE_BEACON_OFFLOAD, len);
  1452. SVCMAP(WMI_TLV_SERVICE_SCAN_OFFLOAD,
  1453. WMI_SERVICE_SCAN_OFFLOAD, len);
  1454. SVCMAP(WMI_TLV_SERVICE_ROAM_SCAN_OFFLOAD,
  1455. WMI_SERVICE_ROAM_SCAN_OFFLOAD, len);
  1456. SVCMAP(WMI_TLV_SERVICE_BCN_MISS_OFFLOAD,
  1457. WMI_SERVICE_BCN_MISS_OFFLOAD, len);
  1458. SVCMAP(WMI_TLV_SERVICE_STA_PWRSAVE,
  1459. WMI_SERVICE_STA_PWRSAVE, len);
  1460. SVCMAP(WMI_TLV_SERVICE_STA_ADVANCED_PWRSAVE,
  1461. WMI_SERVICE_STA_ADVANCED_PWRSAVE, len);
  1462. SVCMAP(WMI_TLV_SERVICE_AP_UAPSD,
  1463. WMI_SERVICE_AP_UAPSD, len);
  1464. SVCMAP(WMI_TLV_SERVICE_AP_DFS,
  1465. WMI_SERVICE_AP_DFS, len);
  1466. SVCMAP(WMI_TLV_SERVICE_11AC,
  1467. WMI_SERVICE_11AC, len);
  1468. SVCMAP(WMI_TLV_SERVICE_BLOCKACK,
  1469. WMI_SERVICE_BLOCKACK, len);
  1470. SVCMAP(WMI_TLV_SERVICE_PHYERR,
  1471. WMI_SERVICE_PHYERR, len);
  1472. SVCMAP(WMI_TLV_SERVICE_BCN_FILTER,
  1473. WMI_SERVICE_BCN_FILTER, len);
  1474. SVCMAP(WMI_TLV_SERVICE_RTT,
  1475. WMI_SERVICE_RTT, len);
  1476. SVCMAP(WMI_TLV_SERVICE_WOW,
  1477. WMI_SERVICE_WOW, len);
  1478. SVCMAP(WMI_TLV_SERVICE_RATECTRL_CACHE,
  1479. WMI_SERVICE_RATECTRL_CACHE, len);
  1480. SVCMAP(WMI_TLV_SERVICE_IRAM_TIDS,
  1481. WMI_SERVICE_IRAM_TIDS, len);
  1482. SVCMAP(WMI_TLV_SERVICE_ARPNS_OFFLOAD,
  1483. WMI_SERVICE_ARPNS_OFFLOAD, len);
  1484. SVCMAP(WMI_TLV_SERVICE_NLO,
  1485. WMI_SERVICE_NLO, len);
  1486. SVCMAP(WMI_TLV_SERVICE_GTK_OFFLOAD,
  1487. WMI_SERVICE_GTK_OFFLOAD, len);
  1488. SVCMAP(WMI_TLV_SERVICE_SCAN_SCH,
  1489. WMI_SERVICE_SCAN_SCH, len);
  1490. SVCMAP(WMI_TLV_SERVICE_CSA_OFFLOAD,
  1491. WMI_SERVICE_CSA_OFFLOAD, len);
  1492. SVCMAP(WMI_TLV_SERVICE_CHATTER,
  1493. WMI_SERVICE_CHATTER, len);
  1494. SVCMAP(WMI_TLV_SERVICE_COEX_FREQAVOID,
  1495. WMI_SERVICE_COEX_FREQAVOID, len);
  1496. SVCMAP(WMI_TLV_SERVICE_PACKET_POWER_SAVE,
  1497. WMI_SERVICE_PACKET_POWER_SAVE, len);
  1498. SVCMAP(WMI_TLV_SERVICE_FORCE_FW_HANG,
  1499. WMI_SERVICE_FORCE_FW_HANG, len);
  1500. SVCMAP(WMI_TLV_SERVICE_GPIO,
  1501. WMI_SERVICE_GPIO, len);
  1502. SVCMAP(WMI_TLV_SERVICE_STA_DTIM_PS_MODULATED_DTIM,
  1503. WMI_SERVICE_STA_DTIM_PS_MODULATED_DTIM, len);
  1504. SVCMAP(WMI_TLV_SERVICE_STA_UAPSD_BASIC_AUTO_TRIG,
  1505. WMI_SERVICE_STA_UAPSD_BASIC_AUTO_TRIG, len);
  1506. SVCMAP(WMI_TLV_SERVICE_STA_UAPSD_VAR_AUTO_TRIG,
  1507. WMI_SERVICE_STA_UAPSD_VAR_AUTO_TRIG, len);
  1508. SVCMAP(WMI_TLV_SERVICE_STA_KEEP_ALIVE,
  1509. WMI_SERVICE_STA_KEEP_ALIVE, len);
  1510. SVCMAP(WMI_TLV_SERVICE_TX_ENCAP,
  1511. WMI_SERVICE_TX_ENCAP, len);
  1512. SVCMAP(WMI_TLV_SERVICE_AP_PS_DETECT_OUT_OF_SYNC,
  1513. WMI_SERVICE_AP_PS_DETECT_OUT_OF_SYNC, len);
  1514. SVCMAP(WMI_TLV_SERVICE_EARLY_RX,
  1515. WMI_SERVICE_EARLY_RX, len);
  1516. SVCMAP(WMI_TLV_SERVICE_STA_SMPS,
  1517. WMI_SERVICE_STA_SMPS, len);
  1518. SVCMAP(WMI_TLV_SERVICE_FWTEST,
  1519. WMI_SERVICE_FWTEST, len);
  1520. SVCMAP(WMI_TLV_SERVICE_STA_WMMAC,
  1521. WMI_SERVICE_STA_WMMAC, len);
  1522. SVCMAP(WMI_TLV_SERVICE_TDLS,
  1523. WMI_SERVICE_TDLS, len);
  1524. SVCMAP(WMI_TLV_SERVICE_BURST,
  1525. WMI_SERVICE_BURST, len);
  1526. SVCMAP(WMI_TLV_SERVICE_MCC_BCN_INTERVAL_CHANGE,
  1527. WMI_SERVICE_MCC_BCN_INTERVAL_CHANGE, len);
  1528. SVCMAP(WMI_TLV_SERVICE_ADAPTIVE_OCS,
  1529. WMI_SERVICE_ADAPTIVE_OCS, len);
  1530. SVCMAP(WMI_TLV_SERVICE_BA_SSN_SUPPORT,
  1531. WMI_SERVICE_BA_SSN_SUPPORT, len);
  1532. SVCMAP(WMI_TLV_SERVICE_FILTER_IPSEC_NATKEEPALIVE,
  1533. WMI_SERVICE_FILTER_IPSEC_NATKEEPALIVE, len);
  1534. SVCMAP(WMI_TLV_SERVICE_WLAN_HB,
  1535. WMI_SERVICE_WLAN_HB, len);
  1536. SVCMAP(WMI_TLV_SERVICE_LTE_ANT_SHARE_SUPPORT,
  1537. WMI_SERVICE_LTE_ANT_SHARE_SUPPORT, len);
  1538. SVCMAP(WMI_TLV_SERVICE_BATCH_SCAN,
  1539. WMI_SERVICE_BATCH_SCAN, len);
  1540. SVCMAP(WMI_TLV_SERVICE_QPOWER,
  1541. WMI_SERVICE_QPOWER, len);
  1542. SVCMAP(WMI_TLV_SERVICE_PLMREQ,
  1543. WMI_SERVICE_PLMREQ, len);
  1544. SVCMAP(WMI_TLV_SERVICE_THERMAL_MGMT,
  1545. WMI_SERVICE_THERMAL_MGMT, len);
  1546. SVCMAP(WMI_TLV_SERVICE_RMC,
  1547. WMI_SERVICE_RMC, len);
  1548. SVCMAP(WMI_TLV_SERVICE_MHF_OFFLOAD,
  1549. WMI_SERVICE_MHF_OFFLOAD, len);
  1550. SVCMAP(WMI_TLV_SERVICE_COEX_SAR,
  1551. WMI_SERVICE_COEX_SAR, len);
  1552. SVCMAP(WMI_TLV_SERVICE_BCN_TXRATE_OVERRIDE,
  1553. WMI_SERVICE_BCN_TXRATE_OVERRIDE, len);
  1554. SVCMAP(WMI_TLV_SERVICE_NAN,
  1555. WMI_SERVICE_NAN, len);
  1556. SVCMAP(WMI_TLV_SERVICE_L1SS_STAT,
  1557. WMI_SERVICE_L1SS_STAT, len);
  1558. SVCMAP(WMI_TLV_SERVICE_ESTIMATE_LINKSPEED,
  1559. WMI_SERVICE_ESTIMATE_LINKSPEED, len);
  1560. SVCMAP(WMI_TLV_SERVICE_OBSS_SCAN,
  1561. WMI_SERVICE_OBSS_SCAN, len);
  1562. SVCMAP(WMI_TLV_SERVICE_TDLS_OFFCHAN,
  1563. WMI_SERVICE_TDLS_OFFCHAN, len);
  1564. SVCMAP(WMI_TLV_SERVICE_TDLS_UAPSD_BUFFER_STA,
  1565. WMI_SERVICE_TDLS_UAPSD_BUFFER_STA, len);
  1566. SVCMAP(WMI_TLV_SERVICE_TDLS_UAPSD_SLEEP_STA,
  1567. WMI_SERVICE_TDLS_UAPSD_SLEEP_STA, len);
  1568. SVCMAP(WMI_TLV_SERVICE_IBSS_PWRSAVE,
  1569. WMI_SERVICE_IBSS_PWRSAVE, len);
  1570. SVCMAP(WMI_TLV_SERVICE_LPASS,
  1571. WMI_SERVICE_LPASS, len);
  1572. SVCMAP(WMI_TLV_SERVICE_EXTSCAN,
  1573. WMI_SERVICE_EXTSCAN, len);
  1574. SVCMAP(WMI_TLV_SERVICE_D0WOW,
  1575. WMI_SERVICE_D0WOW, len);
  1576. SVCMAP(WMI_TLV_SERVICE_HSOFFLOAD,
  1577. WMI_SERVICE_HSOFFLOAD, len);
  1578. SVCMAP(WMI_TLV_SERVICE_ROAM_HO_OFFLOAD,
  1579. WMI_SERVICE_ROAM_HO_OFFLOAD, len);
  1580. SVCMAP(WMI_TLV_SERVICE_RX_FULL_REORDER,
  1581. WMI_SERVICE_RX_FULL_REORDER, len);
  1582. SVCMAP(WMI_TLV_SERVICE_DHCP_OFFLOAD,
  1583. WMI_SERVICE_DHCP_OFFLOAD, len);
  1584. SVCMAP(WMI_TLV_SERVICE_STA_RX_IPA_OFFLOAD_SUPPORT,
  1585. WMI_SERVICE_STA_RX_IPA_OFFLOAD_SUPPORT, len);
  1586. SVCMAP(WMI_TLV_SERVICE_MDNS_OFFLOAD,
  1587. WMI_SERVICE_MDNS_OFFLOAD, len);
  1588. SVCMAP(WMI_TLV_SERVICE_SAP_AUTH_OFFLOAD,
  1589. WMI_SERVICE_SAP_AUTH_OFFLOAD, len);
  1590. SVCMAP(WMI_TLV_SERVICE_MGMT_TX_WMI,
  1591. WMI_SERVICE_MGMT_TX_WMI, len);
  1592. SVCMAP(WMI_TLV_SERVICE_MESH_11S,
  1593. WMI_SERVICE_MESH_11S, len);
  1594. SVCMAP(WMI_TLV_SERVICE_SYNC_DELETE_CMDS,
  1595. WMI_SERVICE_SYNC_DELETE_CMDS, len);
  1596. SVCMAP(WMI_TLV_SERVICE_PEER_STATS_INFO,
  1597. WMI_SERVICE_PEER_STATS, len);
  1598. }
  1599. static inline void
  1600. wmi_tlv_svc_map_ext(const __le32 *in, unsigned long *out, size_t len)
  1601. {
  1602. SVCMAP(WMI_TLV_SERVICE_SPOOF_MAC_SUPPORT,
  1603. WMI_SERVICE_SPOOF_MAC_SUPPORT,
  1604. WMI_TLV_MAX_SERVICE);
  1605. SVCMAP(WMI_TLV_SERVICE_THERM_THROT,
  1606. WMI_SERVICE_THERM_THROT,
  1607. WMI_TLV_MAX_SERVICE);
  1608. SVCMAP(WMI_TLV_SERVICE_TX_DATA_MGMT_ACK_RSSI,
  1609. WMI_SERVICE_TX_DATA_ACK_RSSI, WMI_TLV_MAX_SERVICE);
  1610. SVCMAP(WMI_TLV_SERVICE_SUPPORT_EXTEND_ADDRESS,
  1611. WMI_SERVICE_SUPPORT_EXTEND_ADDRESS,
  1612. WMI_TLV_MAX_SERVICE);
  1613. }
  1614. #undef SVCMAP
  1615. struct wmi_tlv {
  1616. __le16 len;
  1617. __le16 tag;
  1618. u8 value[];
  1619. } __packed;
  1620. struct ath10k_mgmt_tx_pkt_addr {
  1621. void *vaddr;
  1622. dma_addr_t paddr;
  1623. };
  1624. struct chan_info_params {
  1625. u32 err_code;
  1626. u32 freq;
  1627. u32 cmd_flags;
  1628. u32 noise_floor;
  1629. u32 rx_clear_count;
  1630. u32 cycle_count;
  1631. u32 mac_clk_mhz;
  1632. };
  1633. #define WMI_TLV_FLAG_MGMT_BUNDLE_TX_COMPL BIT(9)
  1634. struct wmi_tlv_chan_info_event {
  1635. __le32 err_code;
  1636. __le32 freq;
  1637. __le32 cmd_flags;
  1638. __le32 noise_floor;
  1639. __le32 rx_clear_count;
  1640. __le32 cycle_count;
  1641. __le32 chan_tx_pwr_range;
  1642. __le32 chan_tx_pwr_tp;
  1643. __le32 rx_frame_count;
  1644. __le32 my_bss_rx_cycle_count;
  1645. __le32 rx_11b_mode_data_duration;
  1646. __le32 tx_frame_cnt;
  1647. __le32 mac_clk_mhz;
  1648. } __packed;
  1649. struct wmi_tlv_mgmt_tx_compl_ev {
  1650. __le32 desc_id;
  1651. __le32 status;
  1652. __le32 pdev_id;
  1653. __le32 ppdu_id;
  1654. __le32 ack_rssi;
  1655. };
  1656. #define WMI_TLV_MGMT_RX_NUM_RSSI 4
  1657. struct wmi_tlv_mgmt_rx_ev {
  1658. __le32 channel;
  1659. __le32 snr;
  1660. __le32 rate;
  1661. __le32 phy_mode;
  1662. __le32 buf_len;
  1663. __le32 status;
  1664. __le32 rssi[WMI_TLV_MGMT_RX_NUM_RSSI];
  1665. } __packed;
  1666. struct wmi_tlv_abi_version {
  1667. __le32 abi_ver0;
  1668. __le32 abi_ver1;
  1669. __le32 abi_ver_ns0;
  1670. __le32 abi_ver_ns1;
  1671. __le32 abi_ver_ns2;
  1672. __le32 abi_ver_ns3;
  1673. } __packed;
  1674. enum wmi_tlv_hw_bd_id {
  1675. WMI_TLV_HW_BD_LEGACY = 0,
  1676. WMI_TLV_HW_BD_QCA6174 = 1,
  1677. WMI_TLV_HW_BD_QCA2582 = 2,
  1678. };
  1679. struct wmi_tlv_hw_bd_info {
  1680. u8 rev;
  1681. u8 project_id;
  1682. u8 custom_id;
  1683. u8 reference_design_id;
  1684. } __packed;
  1685. struct wmi_tlv_svc_rdy_ev {
  1686. __le32 fw_build_vers;
  1687. struct wmi_tlv_abi_version abi;
  1688. __le32 phy_capability;
  1689. __le32 max_frag_entry;
  1690. __le32 num_rf_chains;
  1691. __le32 ht_cap_info;
  1692. __le32 vht_cap_info;
  1693. __le32 vht_supp_mcs;
  1694. __le32 hw_min_tx_power;
  1695. __le32 hw_max_tx_power;
  1696. __le32 sys_cap_info;
  1697. __le32 min_pkt_size_enable;
  1698. __le32 max_bcn_ie_size;
  1699. __le32 num_mem_reqs;
  1700. __le32 max_num_scan_chans;
  1701. __le32 hw_bd_id; /* 0 means hw_bd_info is invalid */
  1702. struct wmi_tlv_hw_bd_info hw_bd_info[5];
  1703. } __packed;
  1704. struct wmi_tlv_rdy_ev {
  1705. struct wmi_tlv_abi_version abi;
  1706. struct wmi_mac_addr mac_addr;
  1707. __le32 status;
  1708. } __packed;
  1709. struct wmi_tlv_resource_config {
  1710. __le32 num_vdevs;
  1711. __le32 num_peers;
  1712. __le32 num_offload_peers;
  1713. __le32 num_offload_reorder_bufs;
  1714. __le32 num_peer_keys;
  1715. __le32 num_tids;
  1716. __le32 ast_skid_limit;
  1717. __le32 tx_chain_mask;
  1718. __le32 rx_chain_mask;
  1719. __le32 rx_timeout_pri[4];
  1720. __le32 rx_decap_mode;
  1721. __le32 scan_max_pending_reqs;
  1722. __le32 bmiss_offload_max_vdev;
  1723. __le32 roam_offload_max_vdev;
  1724. __le32 roam_offload_max_ap_profiles;
  1725. __le32 num_mcast_groups;
  1726. __le32 num_mcast_table_elems;
  1727. __le32 mcast2ucast_mode;
  1728. __le32 tx_dbg_log_size;
  1729. __le32 num_wds_entries;
  1730. __le32 dma_burst_size;
  1731. __le32 mac_aggr_delim;
  1732. __le32 rx_skip_defrag_timeout_dup_detection_check;
  1733. __le32 vow_config;
  1734. __le32 gtk_offload_max_vdev;
  1735. __le32 num_msdu_desc;
  1736. __le32 max_frag_entries;
  1737. __le32 num_tdls_vdevs;
  1738. __le32 num_tdls_conn_table_entries;
  1739. __le32 beacon_tx_offload_max_vdev;
  1740. __le32 num_multicast_filter_entries;
  1741. __le32 num_wow_filters;
  1742. __le32 num_keep_alive_pattern;
  1743. __le32 keep_alive_pattern_size;
  1744. __le32 max_tdls_concurrent_sleep_sta;
  1745. __le32 max_tdls_concurrent_buffer_sta;
  1746. __le32 wmi_send_separate;
  1747. __le32 num_ocb_vdevs;
  1748. __le32 num_ocb_channels;
  1749. __le32 num_ocb_schedules;
  1750. __le32 host_capab;
  1751. } __packed;
  1752. /* structure describing host memory chunk. */
  1753. struct host_memory_chunk_tlv {
  1754. /* id of the request that is passed up in service ready */
  1755. __le32 req_id;
  1756. /* the physical address the memory chunk */
  1757. __le32 ptr;
  1758. /* size of the chunk */
  1759. __le32 size;
  1760. /* the upper 32 bit address valid only for more than 32 bit target */
  1761. __le32 ptr_high;
  1762. } __packed;
  1763. struct wmi_tlv_init_cmd {
  1764. struct wmi_tlv_abi_version abi;
  1765. __le32 num_host_mem_chunks;
  1766. } __packed;
  1767. struct wmi_tlv_pdev_get_temp_cmd {
  1768. __le32 pdev_id; /* not used */
  1769. } __packed;
  1770. struct wmi_tlv_pdev_temperature_event {
  1771. __le32 tlv_hdr;
  1772. /* temperature value in Celsius degree */
  1773. __le32 temperature;
  1774. __le32 pdev_id;
  1775. } __packed;
  1776. struct wmi_tlv_pdev_set_param_cmd {
  1777. __le32 pdev_id; /* not used yet */
  1778. __le32 param_id;
  1779. __le32 param_value;
  1780. } __packed;
  1781. struct wmi_tlv_pdev_set_rd_cmd {
  1782. __le32 pdev_id; /* not used yet */
  1783. __le32 regd;
  1784. __le32 regd_2ghz;
  1785. __le32 regd_5ghz;
  1786. __le32 conform_limit_2ghz;
  1787. __le32 conform_limit_5ghz;
  1788. } __packed;
  1789. struct wmi_tlv_scan_chan_list_cmd {
  1790. __le32 num_scan_chans;
  1791. } __packed;
  1792. struct wmi_scan_prob_req_oui_cmd {
  1793. /* OUI to be used in Probe Request frame when random MAC address is
  1794. * requested part of scan parameters. This is applied to both FW internal
  1795. * scans and host initiated scans. Host can request for random MAC address
  1796. * with WMI_SCAN_ADD_SPOOFED_MAC_IN_PROBE_REQ flag.
  1797. */
  1798. __le32 prob_req_oui;
  1799. } __packed;
  1800. struct wmi_tlv_start_scan_cmd {
  1801. struct wmi_start_scan_common common;
  1802. __le32 burst_duration_ms;
  1803. __le32 num_channels;
  1804. __le32 num_bssids;
  1805. __le32 num_ssids;
  1806. __le32 ie_len;
  1807. __le32 num_probes;
  1808. struct wmi_mac_addr mac_addr;
  1809. struct wmi_mac_addr mac_mask;
  1810. } __packed;
  1811. enum wmi_tlv_vdev_subtype {
  1812. WMI_TLV_VDEV_SUBTYPE_NONE = 0,
  1813. WMI_TLV_VDEV_SUBTYPE_P2P_DEV = 1,
  1814. WMI_TLV_VDEV_SUBTYPE_P2P_CLI = 2,
  1815. WMI_TLV_VDEV_SUBTYPE_P2P_GO = 3,
  1816. WMI_TLV_VDEV_SUBTYPE_PROXY_STA = 4,
  1817. WMI_TLV_VDEV_SUBTYPE_MESH = 5,
  1818. WMI_TLV_VDEV_SUBTYPE_MESH_11S = 6,
  1819. };
  1820. struct wmi_tlv_vdev_start_cmd {
  1821. __le32 vdev_id;
  1822. __le32 requestor_id;
  1823. __le32 bcn_intval;
  1824. __le32 dtim_period;
  1825. __le32 flags;
  1826. struct wmi_ssid ssid;
  1827. __le32 bcn_tx_rate;
  1828. __le32 bcn_tx_power;
  1829. __le32 num_noa_descr;
  1830. __le32 disable_hw_ack;
  1831. } __packed;
  1832. enum {
  1833. WMI_TLV_PEER_TYPE_DEFAULT = 0, /* generic / non-BSS / self-peer */
  1834. WMI_TLV_PEER_TYPE_BSS = 1,
  1835. WMI_TLV_PEER_TYPE_TDLS = 2,
  1836. WMI_TLV_PEER_TYPE_HOST_MAX = 127,
  1837. WMI_TLV_PEER_TYPE_ROAMOFFLOAD_TMP = 128,
  1838. };
  1839. struct wmi_tlv_peer_create_cmd {
  1840. __le32 vdev_id;
  1841. struct wmi_mac_addr peer_addr;
  1842. __le32 peer_type;
  1843. } __packed;
  1844. struct wmi_tlv_peer_assoc_cmd {
  1845. struct wmi_mac_addr mac_addr;
  1846. __le32 vdev_id;
  1847. __le32 new_assoc;
  1848. __le32 assoc_id;
  1849. __le32 flags;
  1850. __le32 caps;
  1851. __le32 listen_intval;
  1852. __le32 ht_caps;
  1853. __le32 max_mpdu;
  1854. __le32 mpdu_density;
  1855. __le32 rate_caps;
  1856. __le32 nss;
  1857. __le32 vht_caps;
  1858. __le32 phy_mode;
  1859. __le32 ht_info[2];
  1860. __le32 num_legacy_rates;
  1861. __le32 num_ht_rates;
  1862. } __packed;
  1863. struct wmi_tlv_pdev_suspend {
  1864. __le32 pdev_id; /* not used yet */
  1865. __le32 opt;
  1866. } __packed;
  1867. struct wmi_tlv_pdev_set_wmm_cmd {
  1868. __le32 pdev_id; /* not used yet */
  1869. __le32 dg_type; /* no idea.. */
  1870. } __packed;
  1871. struct wmi_tlv_vdev_wmm_params {
  1872. __le32 dummy;
  1873. struct wmi_wmm_params params;
  1874. } __packed;
  1875. struct wmi_tlv_vdev_set_wmm_cmd {
  1876. __le32 vdev_id;
  1877. struct wmi_tlv_vdev_wmm_params vdev_wmm_params[4];
  1878. } __packed;
  1879. struct wmi_tlv_phyerr_ev {
  1880. __le32 num_phyerrs;
  1881. __le32 tsf_l32;
  1882. __le32 tsf_u32;
  1883. __le32 buf_len;
  1884. } __packed;
  1885. enum wmi_tlv_dbglog_param {
  1886. WMI_TLV_DBGLOG_PARAM_LOG_LEVEL = 1,
  1887. WMI_TLV_DBGLOG_PARAM_VDEV_ENABLE,
  1888. WMI_TLV_DBGLOG_PARAM_VDEV_DISABLE,
  1889. WMI_TLV_DBGLOG_PARAM_VDEV_ENABLE_BITMAP,
  1890. WMI_TLV_DBGLOG_PARAM_VDEV_DISABLE_BITMAP,
  1891. };
  1892. enum wmi_tlv_dbglog_log_level {
  1893. WMI_TLV_DBGLOG_LOG_LEVEL_VERBOSE = 0,
  1894. WMI_TLV_DBGLOG_LOG_LEVEL_INFO,
  1895. WMI_TLV_DBGLOG_LOG_LEVEL_INFO_LVL_1,
  1896. WMI_TLV_DBGLOG_LOG_LEVEL_INFO_LVL_2,
  1897. WMI_TLV_DBGLOG_LOG_LEVEL_WARN,
  1898. WMI_TLV_DBGLOG_LOG_LEVEL_ERR,
  1899. };
  1900. #define WMI_TLV_DBGLOG_BITMAP_MAX_IDS 512
  1901. #define WMI_TLV_DBGLOG_BITMAP_MAX_WORDS (WMI_TLV_DBGLOG_BITMAP_MAX_IDS / \
  1902. sizeof(__le32))
  1903. #define WMI_TLV_DBGLOG_ALL_MODULES 0xffff
  1904. #define WMI_TLV_DBGLOG_LOG_LEVEL_VALUE(module_id, log_level) \
  1905. (((module_id << 16) & 0xffff0000) | \
  1906. ((log_level << 0) & 0x000000ff))
  1907. struct wmi_tlv_dbglog_cmd {
  1908. __le32 param;
  1909. __le32 value;
  1910. } __packed;
  1911. struct wmi_tlv_resume_cmd {
  1912. __le32 reserved;
  1913. } __packed;
  1914. struct wmi_tlv_req_stats_cmd {
  1915. __le32 stats_id; /* wmi_stats_id */
  1916. __le32 vdev_id;
  1917. struct wmi_mac_addr peer_macaddr;
  1918. } __packed;
  1919. #define WMI_TLV_PEER_RX_DURATION_HIGH_VALID_BIT 31
  1920. #define WMI_TLV_PEER_RX_DURATION_HIGH_MASK GENMASK(30, 0)
  1921. #define WMI_TLV_PEER_RX_DURATION_SHIFT 32
  1922. struct wmi_tlv_peer_stats_extd {
  1923. struct wmi_mac_addr peer_macaddr;
  1924. __le32 rx_duration;
  1925. __le32 peer_tx_bytes;
  1926. __le32 peer_rx_bytes;
  1927. __le32 last_tx_rate_code;
  1928. __le32 last_tx_power;
  1929. __le32 rx_mc_bc_cnt;
  1930. __le32 rx_duration_high;
  1931. __le32 reserved[2];
  1932. } __packed;
  1933. struct wmi_tlv_vdev_stats {
  1934. __le32 vdev_id;
  1935. __le32 beacon_snr;
  1936. __le32 data_snr;
  1937. __le32 num_tx_frames[4]; /* per-AC */
  1938. __le32 num_rx_frames;
  1939. __le32 num_tx_frames_retries[4];
  1940. __le32 num_tx_frames_failures[4];
  1941. __le32 num_rts_fail;
  1942. __le32 num_rts_success;
  1943. __le32 num_rx_err;
  1944. __le32 num_rx_discard;
  1945. __le32 num_tx_not_acked;
  1946. __le32 tx_rate_history[10];
  1947. __le32 beacon_rssi_history[10];
  1948. } __packed;
  1949. struct wmi_tlv_pktlog_enable {
  1950. __le32 reserved;
  1951. __le32 filter;
  1952. } __packed;
  1953. struct wmi_tlv_pktlog_disable {
  1954. __le32 reserved;
  1955. } __packed;
  1956. enum wmi_tlv_bcn_tx_status {
  1957. WMI_TLV_BCN_TX_STATUS_OK,
  1958. WMI_TLV_BCN_TX_STATUS_XRETRY,
  1959. WMI_TLV_BCN_TX_STATUS_DROP,
  1960. WMI_TLV_BCN_TX_STATUS_FILTERED,
  1961. };
  1962. struct wmi_tlv_bcn_tx_status_ev {
  1963. __le32 vdev_id;
  1964. __le32 tx_status;
  1965. } __packed;
  1966. struct wmi_tlv_bcn_prb_info {
  1967. __le32 caps;
  1968. __le32 erp;
  1969. u8 ies[];
  1970. } __packed;
  1971. struct wmi_tlv_bcn_tmpl_cmd {
  1972. __le32 vdev_id;
  1973. __le32 tim_ie_offset;
  1974. __le32 buf_len;
  1975. } __packed;
  1976. struct wmi_tlv_prb_tmpl_cmd {
  1977. __le32 vdev_id;
  1978. __le32 buf_len;
  1979. } __packed;
  1980. struct wmi_tlv_p2p_go_bcn_ie {
  1981. __le32 vdev_id;
  1982. __le32 ie_len;
  1983. } __packed;
  1984. enum wmi_tlv_diag_item_type {
  1985. WMI_TLV_DIAG_ITEM_TYPE_FW_EVENT,
  1986. WMI_TLV_DIAG_ITEM_TYPE_FW_LOG,
  1987. WMI_TLV_DIAG_ITEM_TYPE_FW_DEBUG_MSG,
  1988. };
  1989. struct wmi_tlv_diag_item {
  1990. u8 type;
  1991. u8 reserved;
  1992. __le16 len;
  1993. __le32 timestamp;
  1994. __le32 code;
  1995. u8 payload[];
  1996. } __packed;
  1997. struct wmi_tlv_diag_data_ev {
  1998. __le32 num_items;
  1999. } __packed;
  2000. struct wmi_tlv_sta_keepalive_cmd {
  2001. __le32 vdev_id;
  2002. __le32 enabled;
  2003. __le32 method; /* WMI_STA_KEEPALIVE_METHOD_ */
  2004. __le32 interval; /* in seconds */
  2005. } __packed;
  2006. struct wmi_tlv_stats_ev {
  2007. __le32 stats_id; /* WMI_STAT_ */
  2008. __le32 num_pdev_stats;
  2009. __le32 num_vdev_stats;
  2010. __le32 num_peer_stats;
  2011. __le32 num_bcnflt_stats;
  2012. __le32 num_chan_stats;
  2013. __le32 num_mib_stats;
  2014. __le32 pdev_id;
  2015. __le32 num_bcn_stats;
  2016. __le32 num_peer_stats_extd;
  2017. } __packed;
  2018. struct wmi_tlv_peer_stats_info_ev {
  2019. __le32 vdev_id;
  2020. __le32 num_peers;
  2021. __le32 more_data;
  2022. } __packed;
  2023. #define WMI_TLV_MAX_CHAINS 8
  2024. struct wmi_tlv_peer_stats_info {
  2025. struct wmi_mac_addr peer_macaddr;
  2026. struct {
  2027. /* lower 32 bits of the tx_bytes value */
  2028. __le32 low_32;
  2029. /* upper 32 bits of the tx_bytes value */
  2030. __le32 high_32;
  2031. } __packed tx_bytes;
  2032. struct {
  2033. /* lower 32 bits of the tx_packets value */
  2034. __le32 low_32;
  2035. /* upper 32 bits of the tx_packets value */
  2036. __le32 high_32;
  2037. } __packed tx_packets;
  2038. struct {
  2039. /* lower 32 bits of the rx_bytes value */
  2040. __le32 low_32;
  2041. /* upper 32 bits of the rx_bytes value */
  2042. __le32 high_32;
  2043. } __packed rx_bytes;
  2044. struct {
  2045. /* lower 32 bits of the rx_packets value */
  2046. __le32 low_32;
  2047. /* upper 32 bits of the rx_packets value */
  2048. __le32 high_32;
  2049. } __packed rx_packets;
  2050. __le32 tx_retries;
  2051. __le32 tx_failed;
  2052. /* rate information, it is output of WMI_ASSEMBLE_RATECODE_V1
  2053. * (in format of 0x1000RRRR)
  2054. * The rate-code is a 4-bytes field in which,
  2055. * for given rate, nss and preamble
  2056. *
  2057. * b'31-b'29 unused / reserved
  2058. * b'28 indicate the version of rate-code (1 = RATECODE_V1)
  2059. * b'27-b'11 unused / reserved
  2060. * b'10-b'8 indicate the preamble (0 OFDM, 1 CCK, 2 HT, 3 VHT)
  2061. * b'7-b'5 indicate the NSS (0 - 1x1, 1 - 2x2, 2 - 3x3, 3 - 4x4)
  2062. * b'4-b'0 indicate the rate, which is indicated as follows:
  2063. * OFDM : 0: OFDM 48 Mbps
  2064. * 1: OFDM 24 Mbps
  2065. * 2: OFDM 12 Mbps
  2066. * 3: OFDM 6 Mbps
  2067. * 4: OFDM 54 Mbps
  2068. * 5: OFDM 36 Mbps
  2069. * 6: OFDM 18 Mbps
  2070. * 7: OFDM 9 Mbps
  2071. * CCK (pream == 1)
  2072. * 0: CCK 11 Mbps Long
  2073. * 1: CCK 5.5 Mbps Long
  2074. * 2: CCK 2 Mbps Long
  2075. * 3: CCK 1 Mbps Long
  2076. * 4: CCK 11 Mbps Short
  2077. * 5: CCK 5.5 Mbps Short
  2078. * 6: CCK 2 Mbps Short
  2079. * HT/VHT (pream == 2/3)
  2080. * 0..7: MCS0..MCS7 (HT)
  2081. * 0..9: MCS0..MCS9 (11AC VHT)
  2082. * 0..11: MCS0..MCS11 (11AX VHT)
  2083. * rate-code of the last transmission
  2084. */
  2085. __le32 last_tx_rate_code;
  2086. __le32 last_rx_rate_code;
  2087. __le32 last_tx_bitrate_kbps;
  2088. __le32 last_rx_bitrate_kbps;
  2089. __le32 peer_rssi;
  2090. __le32 tx_succeed;
  2091. __le32 peer_rssi_per_chain[WMI_TLV_MAX_CHAINS];
  2092. } __packed;
  2093. #define HW_RATECODE_PREAM_V1_MASK GENMASK(10, 8)
  2094. #define WMI_TLV_GET_HW_RC_PREAM_V1(rc) FIELD_GET(HW_RATECODE_PREAM_V1_MASK, rc)
  2095. #define HW_RATECODE_NSS_V1_MASK GENMASK(7, 5)
  2096. #define WMI_TLV_GET_HW_RC_NSS_V1(rc) FIELD_GET(HW_RATECODE_NSS_V1_MASK, rc)
  2097. #define HW_RATECODE_RATE_V1_MASK GENMASK(4, 0)
  2098. #define WMI_TLV_GET_HW_RC_RATE_V1(rc) FIELD_GET(HW_RATECODE_RATE_V1_MASK, rc)
  2099. struct wmi_tlv_p2p_noa_ev {
  2100. __le32 vdev_id;
  2101. } __packed;
  2102. struct wmi_tlv_roam_ev {
  2103. __le32 vdev_id;
  2104. __le32 reason;
  2105. __le32 rssi;
  2106. } __packed;
  2107. struct wmi_tlv_wow_add_del_event_cmd {
  2108. __le32 vdev_id;
  2109. __le32 is_add;
  2110. __le32 event_bitmap;
  2111. } __packed;
  2112. struct wmi_tlv_request_peer_stats_info {
  2113. __le32 request_type;
  2114. __le32 vdev_id;
  2115. /* peer MAC address */
  2116. struct wmi_mac_addr peer_macaddr;
  2117. __le32 reset_after_request;
  2118. } __packed;
  2119. /* Command to set/unset chip in quiet mode */
  2120. struct wmi_tlv_set_quiet_cmd {
  2121. __le32 vdev_id;
  2122. /* in TUs */
  2123. __le32 period;
  2124. /* in TUs */
  2125. __le32 duration;
  2126. /* offset in TUs */
  2127. __le32 next_start;
  2128. __le32 enabled;
  2129. } __packed;
  2130. enum wmi_tlv_wow_interface_cfg {
  2131. WOW_IFACE_PAUSE_ENABLED,
  2132. WOW_IFACE_PAUSE_DISABLED
  2133. };
  2134. struct wmi_tlv_wow_enable_cmd {
  2135. __le32 enable;
  2136. __le32 pause_iface_config;
  2137. __le32 flags;
  2138. } __packed;
  2139. struct wmi_tlv_wow_host_wakeup_ind {
  2140. __le32 reserved;
  2141. } __packed;
  2142. struct wmi_tlv_wow_event_info {
  2143. __le32 vdev_id;
  2144. __le32 flag;
  2145. __le32 wake_reason;
  2146. __le32 data_len;
  2147. } __packed;
  2148. enum wmi_tlv_pattern_type {
  2149. WOW_PATTERN_MIN = 0,
  2150. WOW_BITMAP_PATTERN = WOW_PATTERN_MIN,
  2151. WOW_IPV4_SYNC_PATTERN,
  2152. WOW_IPV6_SYNC_PATTERN,
  2153. WOW_WILD_CARD_PATTERN,
  2154. WOW_TIMER_PATTERN,
  2155. WOW_MAGIC_PATTERN,
  2156. WOW_IPV6_RA_PATTERN,
  2157. WOW_IOAC_PKT_PATTERN,
  2158. WOW_IOAC_TMR_PATTERN,
  2159. WOW_PATTERN_MAX
  2160. };
  2161. #define WOW_DEFAULT_BITMAP_PATTERN_SIZE 148
  2162. #define WOW_DEFAULT_BITMASK_SIZE 148
  2163. struct wmi_tlv_wow_bitmap_pattern {
  2164. u8 patternbuf[WOW_DEFAULT_BITMAP_PATTERN_SIZE];
  2165. u8 bitmaskbuf[WOW_DEFAULT_BITMASK_SIZE];
  2166. __le32 pattern_offset;
  2167. __le32 pattern_len;
  2168. __le32 bitmask_len;
  2169. __le32 pattern_id;
  2170. } __packed;
  2171. struct wmi_tlv_wow_add_pattern_cmd {
  2172. __le32 vdev_id;
  2173. __le32 pattern_id;
  2174. __le32 pattern_type;
  2175. } __packed;
  2176. struct wmi_tlv_wow_del_pattern_cmd {
  2177. __le32 vdev_id;
  2178. __le32 pattern_id;
  2179. __le32 pattern_type;
  2180. } __packed;
  2181. /* TDLS Options */
  2182. enum wmi_tlv_tdls_options {
  2183. WMI_TLV_TDLS_OFFCHAN_EN = BIT(0),
  2184. WMI_TLV_TDLS_BUFFER_STA_EN = BIT(1),
  2185. WMI_TLV_TDLS_SLEEP_STA_EN = BIT(2),
  2186. };
  2187. struct wmi_tdls_set_state_cmd {
  2188. __le32 vdev_id;
  2189. __le32 state;
  2190. __le32 notification_interval_ms;
  2191. __le32 tx_discovery_threshold;
  2192. __le32 tx_teardown_threshold;
  2193. __le32 rssi_teardown_threshold;
  2194. __le32 rssi_delta;
  2195. __le32 tdls_options;
  2196. __le32 tdls_peer_traffic_ind_window;
  2197. __le32 tdls_peer_traffic_response_timeout_ms;
  2198. __le32 tdls_puapsd_mask;
  2199. __le32 tdls_puapsd_inactivity_time_ms;
  2200. __le32 tdls_puapsd_rx_frame_threshold;
  2201. } __packed;
  2202. struct wmi_tdls_peer_update_cmd {
  2203. __le32 vdev_id;
  2204. struct wmi_mac_addr peer_macaddr;
  2205. __le32 peer_state;
  2206. } __packed;
  2207. enum {
  2208. WMI_TLV_TDLS_PEER_QOS_AC_VO = BIT(0),
  2209. WMI_TLV_TDLS_PEER_QOS_AC_VI = BIT(1),
  2210. WMI_TLV_TDLS_PEER_QOS_AC_BK = BIT(2),
  2211. WMI_TLV_TDLS_PEER_QOS_AC_BE = BIT(3),
  2212. };
  2213. #define WMI_TLV_TDLS_PEER_SP_MASK 0x60
  2214. #define WMI_TLV_TDLS_PEER_SP_LSB 5
  2215. struct wmi_tdls_peer_capab {
  2216. __le32 peer_qos;
  2217. __le32 buff_sta_support;
  2218. __le32 off_chan_support;
  2219. __le32 peer_curr_operclass;
  2220. __le32 self_curr_operclass;
  2221. __le32 peer_chan_len;
  2222. __le32 peer_operclass_len;
  2223. u8 peer_operclass[WMI_TDLS_MAX_SUPP_OPER_CLASSES];
  2224. __le32 is_peer_responder;
  2225. __le32 pref_offchan_num;
  2226. __le32 pref_offchan_bw;
  2227. } __packed;
  2228. struct wmi_tlv_adaptive_qcs {
  2229. __le32 enable;
  2230. } __packed;
  2231. /**
  2232. * wmi_tlv_tx_pause_id - firmware tx queue pause reason types
  2233. *
  2234. * @WMI_TLV_TX_PAUSE_ID_MCC: used for by multi-channel firmware scheduler.
  2235. * Only vdev_map is valid.
  2236. * @WMI_TLV_TX_PAUSE_ID_AP_PEER_PS: peer in AP mode is asleep.
  2237. * Only peer_id is valid.
  2238. * @WMI_TLV_TX_PAUSE_ID_AP_PEER_UAPSD: Only peer_id and tid_map are valid.
  2239. * @WMI_TLV_TX_PAUSE_ID_P2P_CLI_NOA: Only vdev_map is valid.
  2240. * @WMI_TLV_TX_PAUSE_ID_P2P_GO_PS: Only vdev_map is valid.
  2241. * @WMI_TLV_TX_PAUSE_ID_STA_ADD_BA: Only peer_id and tid_map are valid.
  2242. * @WMI_TLV_TX_PAUSE_ID_AP_PS: When all peers are asleep in AP mode. Only
  2243. * vdev_map is valid.
  2244. * @WMI_TLV_TX_PAUSE_ID_IBSS_PS: When all peers are asleep in IBSS mode. Only
  2245. * vdev_map is valid.
  2246. * @WMI_TLV_TX_PAUSE_ID_HOST: Host itself requested tx pause.
  2247. */
  2248. enum wmi_tlv_tx_pause_id {
  2249. WMI_TLV_TX_PAUSE_ID_MCC = 1,
  2250. WMI_TLV_TX_PAUSE_ID_AP_PEER_PS = 2,
  2251. WMI_TLV_TX_PAUSE_ID_AP_PEER_UAPSD = 3,
  2252. WMI_TLV_TX_PAUSE_ID_P2P_CLI_NOA = 4,
  2253. WMI_TLV_TX_PAUSE_ID_P2P_GO_PS = 5,
  2254. WMI_TLV_TX_PAUSE_ID_STA_ADD_BA = 6,
  2255. WMI_TLV_TX_PAUSE_ID_AP_PS = 7,
  2256. WMI_TLV_TX_PAUSE_ID_IBSS_PS = 8,
  2257. WMI_TLV_TX_PAUSE_ID_HOST = 21,
  2258. };
  2259. enum wmi_tlv_tx_pause_action {
  2260. WMI_TLV_TX_PAUSE_ACTION_STOP,
  2261. WMI_TLV_TX_PAUSE_ACTION_WAKE,
  2262. };
  2263. struct wmi_tlv_tx_pause_ev {
  2264. __le32 pause_id;
  2265. __le32 action;
  2266. __le32 vdev_map;
  2267. __le32 peer_id;
  2268. __le32 tid_map;
  2269. } __packed;
  2270. struct wmi_tlv_tdls_peer_event {
  2271. struct wmi_mac_addr peer_macaddr;
  2272. __le32 peer_status;
  2273. __le32 peer_reason;
  2274. __le32 vdev_id;
  2275. } __packed;
  2276. enum wmi_tlv_sys_cap_info_flags {
  2277. WMI_TLV_SYS_CAP_INFO_RXTX_LED = BIT(0),
  2278. WMI_TLV_SYS_CAP_INFO_RFKILL = BIT(1),
  2279. };
  2280. #define WMI_TLV_RFKILL_CFG_GPIO_PIN_NUM GENMASK(5, 0)
  2281. #define WMI_TLV_RFKILL_CFG_RADIO_LEVEL BIT(6)
  2282. #define WMI_TLV_RFKILL_CFG_PIN_AS_GPIO GENMASK(10, 7)
  2283. enum wmi_tlv_rfkill_enable_radio {
  2284. WMI_TLV_RFKILL_ENABLE_RADIO_ON = 0,
  2285. WMI_TLV_RFKILL_ENABLE_RADIO_OFF = 1,
  2286. };
  2287. enum wmi_tlv_rfkill_radio_state {
  2288. WMI_TLV_RFKILL_RADIO_STATE_OFF = 1,
  2289. WMI_TLV_RFKILL_RADIO_STATE_ON = 2,
  2290. };
  2291. struct wmi_tlv_rfkill_state_change_ev {
  2292. __le32 gpio_pin_num;
  2293. __le32 int_type;
  2294. __le32 radio_state;
  2295. };
  2296. void ath10k_wmi_tlv_attach(struct ath10k *ar);
  2297. enum wmi_nlo_auth_algorithm {
  2298. WMI_NLO_AUTH_ALGO_80211_OPEN = 1,
  2299. WMI_NLO_AUTH_ALGO_80211_SHARED_KEY = 2,
  2300. WMI_NLO_AUTH_ALGO_WPA = 3,
  2301. WMI_NLO_AUTH_ALGO_WPA_PSK = 4,
  2302. WMI_NLO_AUTH_ALGO_WPA_NONE = 5,
  2303. WMI_NLO_AUTH_ALGO_RSNA = 6,
  2304. WMI_NLO_AUTH_ALGO_RSNA_PSK = 7,
  2305. };
  2306. enum wmi_nlo_cipher_algorithm {
  2307. WMI_NLO_CIPHER_ALGO_NONE = 0x00,
  2308. WMI_NLO_CIPHER_ALGO_WEP40 = 0x01,
  2309. WMI_NLO_CIPHER_ALGO_TKIP = 0x02,
  2310. WMI_NLO_CIPHER_ALGO_CCMP = 0x04,
  2311. WMI_NLO_CIPHER_ALGO_WEP104 = 0x05,
  2312. WMI_NLO_CIPHER_ALGO_BIP = 0x06,
  2313. WMI_NLO_CIPHER_ALGO_RSN_USE_GROUP = 0x100,
  2314. WMI_NLO_CIPHER_ALGO_WEP = 0x101,
  2315. };
  2316. /* SSID broadcast type passed in NLO params */
  2317. enum wmi_nlo_ssid_bcastnwtype {
  2318. WMI_NLO_BCAST_UNKNOWN = 0,
  2319. WMI_NLO_BCAST_NORMAL = 1,
  2320. WMI_NLO_BCAST_HIDDEN = 2,
  2321. };
  2322. #define WMI_NLO_MAX_SSIDS 16
  2323. #define WMI_NLO_MAX_CHAN 48
  2324. #define WMI_NLO_CONFIG_STOP (0x1 << 0)
  2325. #define WMI_NLO_CONFIG_START (0x1 << 1)
  2326. #define WMI_NLO_CONFIG_RESET (0x1 << 2)
  2327. #define WMI_NLO_CONFIG_SLOW_SCAN (0x1 << 4)
  2328. #define WMI_NLO_CONFIG_FAST_SCAN (0x1 << 5)
  2329. #define WMI_NLO_CONFIG_SSID_HIDE_EN (0x1 << 6)
  2330. /* This bit is used to indicate if EPNO or supplicant PNO is enabled.
  2331. * Only one of them can be enabled at a given time
  2332. */
  2333. #define WMI_NLO_CONFIG_ENLO (0x1 << 7)
  2334. #define WMI_NLO_CONFIG_SCAN_PASSIVE (0x1 << 8)
  2335. #define WMI_NLO_CONFIG_ENLO_RESET (0x1 << 9)
  2336. #define WMI_NLO_CONFIG_SPOOFED_MAC_IN_PROBE_REQ (0x1 << 10)
  2337. #define WMI_NLO_CONFIG_RANDOM_SEQ_NO_IN_PROBE_REQ (0x1 << 11)
  2338. #define WMI_NLO_CONFIG_ENABLE_IE_WHITELIST_IN_PROBE_REQ (0x1 << 12)
  2339. #define WMI_NLO_CONFIG_ENABLE_CNLO_RSSI_CONFIG (0x1 << 13)
  2340. /* Whether directed scan needs to be performed (for hidden SSIDs) */
  2341. #define WMI_ENLO_FLAG_DIRECTED_SCAN 1
  2342. /* Whether PNO event shall be triggered if the network is found on A band */
  2343. #define WMI_ENLO_FLAG_A_BAND 2
  2344. /* Whether PNO event shall be triggered if the network is found on G band */
  2345. #define WMI_ENLO_FLAG_G_BAND 4
  2346. /* Whether strict matching is required (i.e. firmware shall not
  2347. * match on the entire SSID)
  2348. */
  2349. #define WMI_ENLO_FLAG_STRICT_MATCH 8
  2350. /* Code for matching the beacon AUTH IE - additional codes TBD */
  2351. /* open */
  2352. #define WMI_ENLO_AUTH_CODE_OPEN 1
  2353. /* WPA_PSK or WPA2PSK */
  2354. #define WMI_ENLO_AUTH_CODE_PSK 2
  2355. /* any EAPOL */
  2356. #define WMI_ENLO_AUTH_CODE_EAPOL 4
  2357. struct wmi_nlo_ssid_param {
  2358. __le32 valid;
  2359. struct wmi_ssid ssid;
  2360. } __packed;
  2361. struct wmi_nlo_enc_param {
  2362. __le32 valid;
  2363. __le32 enc_type;
  2364. } __packed;
  2365. struct wmi_nlo_auth_param {
  2366. __le32 valid;
  2367. __le32 auth_type;
  2368. } __packed;
  2369. struct wmi_nlo_bcast_nw_param {
  2370. __le32 valid;
  2371. /* If WMI_NLO_CONFIG_EPNO is not set. Supplicant PNO is enabled.
  2372. * The value should be true/false. Otherwise EPNO is enabled.
  2373. * bcast_nw_type would be used as a bit flag contains WMI_ENLO_FLAG_XXX
  2374. */
  2375. __le32 bcast_nw_type;
  2376. } __packed;
  2377. struct wmi_nlo_rssi_param {
  2378. __le32 valid;
  2379. __le32 rssi;
  2380. } __packed;
  2381. struct nlo_configured_parameters {
  2382. /* TLV tag and len;*/
  2383. __le32 tlv_header;
  2384. struct wmi_nlo_ssid_param ssid;
  2385. struct wmi_nlo_enc_param enc_type;
  2386. struct wmi_nlo_auth_param auth_type;
  2387. struct wmi_nlo_rssi_param rssi_cond;
  2388. /* indicates if the SSID is hidden or not */
  2389. struct wmi_nlo_bcast_nw_param bcast_nw_type;
  2390. } __packed;
  2391. /* Support channel prediction for PNO scan after scanning top_k_num channels
  2392. * if stationary_threshold is met.
  2393. */
  2394. struct nlo_channel_prediction_cfg {
  2395. __le32 tlv_header;
  2396. /* Enable or disable this feature. */
  2397. __le32 enable;
  2398. /* Top K channels will be scanned before deciding whether to further scan
  2399. * or stop. Minimum value is 3 and maximum is 5.
  2400. */
  2401. __le32 top_k_num;
  2402. /* Preconfigured stationary threshold.
  2403. * Lesser value means more conservative. Bigger value means more aggressive.
  2404. * Maximum is 100 and minimum is 0.
  2405. */
  2406. __le32 stationary_threshold;
  2407. /* Periodic full channel scan in milliseconds unit.
  2408. * After full_scan_period_ms since last full scan, channel prediction
  2409. * scan is suppressed and will do full scan.
  2410. * This is to help detecting sudden AP power-on or -off. Value 0 means no
  2411. * full scan at all (not recommended).
  2412. */
  2413. __le32 full_scan_period_ms;
  2414. } __packed;
  2415. struct enlo_candidate_score_params_t {
  2416. __le32 tlv_header; /* TLV tag and len; */
  2417. /* minimum 5GHz RSSI for a BSSID to be considered (units = dBm) */
  2418. __le32 min_5ghz_rssi;
  2419. /* minimum 2.4GHz RSSI for a BSSID to be considered (units = dBm) */
  2420. __le32 min_24ghz_rssi;
  2421. /* the maximum score that a network can have before bonuses */
  2422. __le32 initial_score_max;
  2423. /* current_connection_bonus:
  2424. * only report when there is a network's score this much higher
  2425. * than the current connection
  2426. */
  2427. __le32 current_connection_bonus;
  2428. /* score bonus for all networks with the same network flag */
  2429. __le32 same_network_bonus;
  2430. /* score bonus for networks that are not open */
  2431. __le32 secure_bonus;
  2432. /* 5GHz RSSI score bonus (applied to all 5GHz networks) */
  2433. __le32 band_5ghz_bonus;
  2434. } __packed;
  2435. struct connected_nlo_bss_band_rssi_pref_t {
  2436. __le32 tlv_header; /* TLV tag and len;*/
  2437. /* band which needs to get preference over other band
  2438. * - see wmi_set_vdev_ie_band enum
  2439. */
  2440. __le32 band;
  2441. /* Amount of RSSI preference (in dB) that can be given to a band */
  2442. __le32 rssi_pref;
  2443. } __packed;
  2444. struct connected_nlo_rssi_params_t {
  2445. __le32 tlv_header; /* TLV tag and len;*/
  2446. /* Relative rssi threshold (in dB) by which new BSS should have
  2447. * better rssi than the current connected BSS.
  2448. */
  2449. __le32 relative_rssi;
  2450. /* The amount of rssi preference (in dB) that can be given
  2451. * to a 5G BSS over 2.4G BSS.
  2452. */
  2453. __le32 relative_rssi_5g_pref;
  2454. } __packed;
  2455. struct wmi_tlv_wow_nlo_config_cmd {
  2456. __le32 flags;
  2457. __le32 vdev_id;
  2458. __le32 fast_scan_max_cycles;
  2459. __le32 active_dwell_time;
  2460. __le32 passive_dwell_time; /* PDT in msecs */
  2461. __le32 probe_bundle_size;
  2462. /* ART = IRT */
  2463. __le32 rest_time;
  2464. /* Max value that can be reached after SBM */
  2465. __le32 max_rest_time;
  2466. /* SBM */
  2467. __le32 scan_backoff_multiplier;
  2468. /* SCBM */
  2469. __le32 fast_scan_period;
  2470. /* specific to windows */
  2471. __le32 slow_scan_period;
  2472. __le32 no_of_ssids;
  2473. __le32 num_of_channels;
  2474. /* NLO scan start delay time in milliseconds */
  2475. __le32 delay_start_time;
  2476. /** MAC Address to use in Probe Req as SA **/
  2477. struct wmi_mac_addr mac_addr;
  2478. /** Mask on which MAC has to be randomized **/
  2479. struct wmi_mac_addr mac_mask;
  2480. /** IE bitmap to use in Probe Req **/
  2481. __le32 ie_bitmap[8];
  2482. /** Number of vendor OUIs. In the TLV vendor_oui[] **/
  2483. __le32 num_vendor_oui;
  2484. /** Number of connected NLO band preferences **/
  2485. __le32 num_cnlo_band_pref;
  2486. /* The TLVs will follow.
  2487. * nlo_configured_parameters nlo_list[];
  2488. * A_UINT32 channel_list[num_of_channels];
  2489. * nlo_channel_prediction_cfg ch_prediction_cfg;
  2490. * enlo_candidate_score_params candidate_score_params;
  2491. * wmi_vendor_oui vendor_oui[num_vendor_oui];
  2492. * connected_nlo_rssi_params cnlo_rssi_params;
  2493. * connected_nlo_bss_band_rssi_pref cnlo_bss_band_rssi_pref[num_cnlo_band_pref];
  2494. */
  2495. } __packed;
  2496. struct wmi_tlv_mgmt_tx_cmd {
  2497. __le32 vdev_id;
  2498. __le32 desc_id;
  2499. __le32 chanfreq;
  2500. __le64 paddr;
  2501. __le32 frame_len;
  2502. __le32 buf_len;
  2503. } __packed;
  2504. #endif