wmi-tlv.h 73 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157
  1. /*
  2. * Copyright (c) 2005-2011 Atheros Communications Inc.
  3. * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
  4. * Copyright (c) 2018, The Linux Foundation. All rights reserved.
  5. *
  6. * Permission to use, copy, modify, and/or distribute this software for any
  7. * purpose with or without fee is hereby granted, provided that the above
  8. * copyright notice and this permission notice appear in all copies.
  9. *
  10. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  11. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  12. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  13. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  14. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  15. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  16. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  17. */
  18. #ifndef _WMI_TLV_H
  19. #define _WMI_TLV_H
  20. #define WMI_TLV_CMD(grp_id) (((grp_id) << 12) | 0x1)
  21. #define WMI_TLV_EV(grp_id) (((grp_id) << 12) | 0x1)
  22. #define WMI_TLV_CMD_UNSUPPORTED 0
  23. #define WMI_TLV_PDEV_PARAM_UNSUPPORTED 0
  24. #define WMI_TLV_VDEV_PARAM_UNSUPPORTED 0
  25. #define WMI_TLV_MGMT_TX_FRAME_MAX_LEN 64
  26. enum wmi_tlv_grp_id {
  27. WMI_TLV_GRP_START = 0x3,
  28. WMI_TLV_GRP_SCAN = WMI_TLV_GRP_START,
  29. WMI_TLV_GRP_PDEV,
  30. WMI_TLV_GRP_VDEV,
  31. WMI_TLV_GRP_PEER,
  32. WMI_TLV_GRP_MGMT,
  33. WMI_TLV_GRP_BA_NEG,
  34. WMI_TLV_GRP_STA_PS,
  35. WMI_TLV_GRP_DFS,
  36. WMI_TLV_GRP_ROAM,
  37. WMI_TLV_GRP_OFL_SCAN,
  38. WMI_TLV_GRP_P2P,
  39. WMI_TLV_GRP_AP_PS,
  40. WMI_TLV_GRP_RATECTL,
  41. WMI_TLV_GRP_PROFILE,
  42. WMI_TLV_GRP_SUSPEND,
  43. WMI_TLV_GRP_BCN_FILTER,
  44. WMI_TLV_GRP_WOW,
  45. WMI_TLV_GRP_RTT,
  46. WMI_TLV_GRP_SPECTRAL,
  47. WMI_TLV_GRP_STATS,
  48. WMI_TLV_GRP_ARP_NS_OFL,
  49. WMI_TLV_GRP_NLO_OFL,
  50. WMI_TLV_GRP_GTK_OFL,
  51. WMI_TLV_GRP_CSA_OFL,
  52. WMI_TLV_GRP_CHATTER,
  53. WMI_TLV_GRP_TID_ADDBA,
  54. WMI_TLV_GRP_MISC,
  55. WMI_TLV_GRP_GPIO,
  56. WMI_TLV_GRP_FWTEST,
  57. WMI_TLV_GRP_TDLS,
  58. WMI_TLV_GRP_RESMGR,
  59. WMI_TLV_GRP_STA_SMPS,
  60. WMI_TLV_GRP_WLAN_HB,
  61. WMI_TLV_GRP_RMC,
  62. WMI_TLV_GRP_MHF_OFL,
  63. WMI_TLV_GRP_LOCATION_SCAN,
  64. WMI_TLV_GRP_OEM,
  65. WMI_TLV_GRP_NAN,
  66. WMI_TLV_GRP_COEX,
  67. WMI_TLV_GRP_OBSS_OFL,
  68. WMI_TLV_GRP_LPI,
  69. WMI_TLV_GRP_EXTSCAN,
  70. WMI_TLV_GRP_DHCP_OFL,
  71. WMI_TLV_GRP_IPA,
  72. WMI_TLV_GRP_MDNS_OFL,
  73. WMI_TLV_GRP_SAP_OFL,
  74. };
  75. enum wmi_tlv_cmd_id {
  76. WMI_TLV_INIT_CMDID = 0x1,
  77. WMI_TLV_START_SCAN_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_SCAN),
  78. WMI_TLV_STOP_SCAN_CMDID,
  79. WMI_TLV_SCAN_CHAN_LIST_CMDID,
  80. WMI_TLV_SCAN_SCH_PRIO_TBL_CMDID,
  81. WMI_TLV_SCAN_UPDATE_REQUEST_CMDID,
  82. WMI_TLV_SCAN_PROB_REQ_OUI_CMDID,
  83. WMI_TLV_PDEV_SET_REGDOMAIN_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_PDEV),
  84. WMI_TLV_PDEV_SET_CHANNEL_CMDID,
  85. WMI_TLV_PDEV_SET_PARAM_CMDID,
  86. WMI_TLV_PDEV_PKTLOG_ENABLE_CMDID,
  87. WMI_TLV_PDEV_PKTLOG_DISABLE_CMDID,
  88. WMI_TLV_PDEV_SET_WMM_PARAMS_CMDID,
  89. WMI_TLV_PDEV_SET_HT_CAP_IE_CMDID,
  90. WMI_TLV_PDEV_SET_VHT_CAP_IE_CMDID,
  91. WMI_TLV_PDEV_SET_DSCP_TID_MAP_CMDID,
  92. WMI_TLV_PDEV_SET_QUIET_MODE_CMDID,
  93. WMI_TLV_PDEV_GREEN_AP_PS_ENABLE_CMDID,
  94. WMI_TLV_PDEV_GET_TPC_CONFIG_CMDID,
  95. WMI_TLV_PDEV_SET_BASE_MACADDR_CMDID,
  96. WMI_TLV_PDEV_DUMP_CMDID,
  97. WMI_TLV_PDEV_SET_LED_CONFIG_CMDID,
  98. WMI_TLV_PDEV_GET_TEMPERATURE_CMDID,
  99. WMI_TLV_PDEV_SET_LED_FLASHING_CMDID,
  100. WMI_TLV_VDEV_CREATE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_VDEV),
  101. WMI_TLV_VDEV_DELETE_CMDID,
  102. WMI_TLV_VDEV_START_REQUEST_CMDID,
  103. WMI_TLV_VDEV_RESTART_REQUEST_CMDID,
  104. WMI_TLV_VDEV_UP_CMDID,
  105. WMI_TLV_VDEV_STOP_CMDID,
  106. WMI_TLV_VDEV_DOWN_CMDID,
  107. WMI_TLV_VDEV_SET_PARAM_CMDID,
  108. WMI_TLV_VDEV_INSTALL_KEY_CMDID,
  109. WMI_TLV_VDEV_WNM_SLEEPMODE_CMDID,
  110. WMI_TLV_VDEV_WMM_ADDTS_CMDID,
  111. WMI_TLV_VDEV_WMM_DELTS_CMDID,
  112. WMI_TLV_VDEV_SET_WMM_PARAMS_CMDID,
  113. WMI_TLV_VDEV_SET_GTX_PARAMS_CMDID,
  114. WMI_TLV_VDEV_IPSEC_NATKEEPALIVE_FILTER_CMDID,
  115. WMI_TLV_VDEV_PLMREQ_START_CMDID,
  116. WMI_TLV_VDEV_PLMREQ_STOP_CMDID,
  117. WMI_TLV_PEER_CREATE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_PEER),
  118. WMI_TLV_PEER_DELETE_CMDID,
  119. WMI_TLV_PEER_FLUSH_TIDS_CMDID,
  120. WMI_TLV_PEER_SET_PARAM_CMDID,
  121. WMI_TLV_PEER_ASSOC_CMDID,
  122. WMI_TLV_PEER_ADD_WDS_ENTRY_CMDID,
  123. WMI_TLV_PEER_REMOVE_WDS_ENTRY_CMDID,
  124. WMI_TLV_PEER_MCAST_GROUP_CMDID,
  125. WMI_TLV_PEER_INFO_REQ_CMDID,
  126. WMI_TLV_PEER_GET_ESTIMATED_LINKSPEED_CMDID,
  127. WMI_TLV_BCN_TX_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_MGMT),
  128. WMI_TLV_PDEV_SEND_BCN_CMDID,
  129. WMI_TLV_BCN_TMPL_CMDID,
  130. WMI_TLV_BCN_FILTER_RX_CMDID,
  131. WMI_TLV_PRB_REQ_FILTER_RX_CMDID,
  132. WMI_TLV_MGMT_TX_CMDID,
  133. WMI_TLV_PRB_TMPL_CMDID,
  134. WMI_TLV_MGMT_TX_SEND_CMD,
  135. WMI_TLV_ADDBA_CLEAR_RESP_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_BA_NEG),
  136. WMI_TLV_ADDBA_SEND_CMDID,
  137. WMI_TLV_ADDBA_STATUS_CMDID,
  138. WMI_TLV_DELBA_SEND_CMDID,
  139. WMI_TLV_ADDBA_SET_RESP_CMDID,
  140. WMI_TLV_SEND_SINGLEAMSDU_CMDID,
  141. WMI_TLV_STA_POWERSAVE_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_STA_PS),
  142. WMI_TLV_STA_POWERSAVE_PARAM_CMDID,
  143. WMI_TLV_STA_MIMO_PS_MODE_CMDID,
  144. WMI_TLV_PDEV_DFS_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_DFS),
  145. WMI_TLV_PDEV_DFS_DISABLE_CMDID,
  146. WMI_TLV_DFS_PHYERR_FILTER_ENA_CMDID,
  147. WMI_TLV_DFS_PHYERR_FILTER_DIS_CMDID,
  148. WMI_TLV_ROAM_SCAN_MODE = WMI_TLV_CMD(WMI_TLV_GRP_ROAM),
  149. WMI_TLV_ROAM_SCAN_RSSI_THRESHOLD,
  150. WMI_TLV_ROAM_SCAN_PERIOD,
  151. WMI_TLV_ROAM_SCAN_RSSI_CHANGE_THRESHOLD,
  152. WMI_TLV_ROAM_AP_PROFILE,
  153. WMI_TLV_ROAM_CHAN_LIST,
  154. WMI_TLV_ROAM_SCAN_CMD,
  155. WMI_TLV_ROAM_SYNCH_COMPLETE,
  156. WMI_TLV_ROAM_SET_RIC_REQUEST_CMDID,
  157. WMI_TLV_ROAM_INVOKE_CMDID,
  158. WMI_TLV_OFL_SCAN_ADD_AP_PROFILE = WMI_TLV_CMD(WMI_TLV_GRP_OFL_SCAN),
  159. WMI_TLV_OFL_SCAN_REMOVE_AP_PROFILE,
  160. WMI_TLV_OFL_SCAN_PERIOD,
  161. WMI_TLV_P2P_DEV_SET_DEVICE_INFO = WMI_TLV_CMD(WMI_TLV_GRP_P2P),
  162. WMI_TLV_P2P_DEV_SET_DISCOVERABILITY,
  163. WMI_TLV_P2P_GO_SET_BEACON_IE,
  164. WMI_TLV_P2P_GO_SET_PROBE_RESP_IE,
  165. WMI_TLV_P2P_SET_VENDOR_IE_DATA_CMDID,
  166. WMI_TLV_P2P_DISC_OFFLOAD_CONFIG_CMDID,
  167. WMI_TLV_P2P_DISC_OFFLOAD_APPIE_CMDID,
  168. WMI_TLV_P2P_DISC_OFFLOAD_PATTERN_CMDID,
  169. WMI_TLV_P2P_SET_OPPPS_PARAM_CMDID,
  170. WMI_TLV_AP_PS_PEER_PARAM_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_AP_PS),
  171. WMI_TLV_AP_PS_PEER_UAPSD_COEX_CMDID,
  172. WMI_TLV_PEER_RATE_RETRY_SCHED_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_RATECTL),
  173. WMI_TLV_WLAN_PROFILE_TRIGGER_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_PROFILE),
  174. WMI_TLV_WLAN_PROFILE_SET_HIST_INTVL_CMDID,
  175. WMI_TLV_WLAN_PROFILE_GET_PROFILE_DATA_CMDID,
  176. WMI_TLV_WLAN_PROFILE_ENABLE_PROFILE_ID_CMDID,
  177. WMI_TLV_WLAN_PROFILE_LIST_PROFILE_ID_CMDID,
  178. WMI_TLV_PDEV_SUSPEND_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_SUSPEND),
  179. WMI_TLV_PDEV_RESUME_CMDID,
  180. WMI_TLV_ADD_BCN_FILTER_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_BCN_FILTER),
  181. WMI_TLV_RMV_BCN_FILTER_CMDID,
  182. WMI_TLV_WOW_ADD_WAKE_PATTERN_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_WOW),
  183. WMI_TLV_WOW_DEL_WAKE_PATTERN_CMDID,
  184. WMI_TLV_WOW_ENABLE_DISABLE_WAKE_EVENT_CMDID,
  185. WMI_TLV_WOW_ENABLE_CMDID,
  186. WMI_TLV_WOW_HOSTWAKEUP_FROM_SLEEP_CMDID,
  187. WMI_TLV_WOW_ACER_IOAC_ADD_KEEPALIVE_CMDID,
  188. WMI_TLV_WOW_ACER_IOAC_DEL_KEEPALIVE_CMDID,
  189. WMI_TLV_WOW_ACER_IOAC_ADD_WAKE_PATTERN_CMDID,
  190. WMI_TLV_WOW_ACER_IOAC_DEL_WAKE_PATTERN_CMDID,
  191. WMI_TLV_D0_WOW_ENABLE_DISABLE_CMDID,
  192. WMI_TLV_EXTWOW_ENABLE_CMDID,
  193. WMI_TLV_EXTWOW_SET_APP_TYPE1_PARAMS_CMDID,
  194. WMI_TLV_EXTWOW_SET_APP_TYPE2_PARAMS_CMDID,
  195. WMI_TLV_RTT_MEASREQ_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_RTT),
  196. WMI_TLV_RTT_TSF_CMDID,
  197. WMI_TLV_SPECTRAL_SCAN_CONF_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_SPECTRAL),
  198. WMI_TLV_SPECTRAL_SCAN_ENABLE_CMDID,
  199. WMI_TLV_REQUEST_STATS_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_STATS),
  200. WMI_TLV_MCC_SCHED_TRAFFIC_STATS_CMDID,
  201. WMI_TLV_REQUEST_STATS_EXT_CMDID,
  202. WMI_TLV_REQUEST_LINK_STATS_CMDID,
  203. WMI_TLV_START_LINK_STATS_CMDID,
  204. WMI_TLV_CLEAR_LINK_STATS_CMDID,
  205. WMI_TLV_SET_ARP_NS_OFFLOAD_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_ARP_NS_OFL),
  206. WMI_TLV_ADD_PROACTIVE_ARP_RSP_PATTERN_CMDID,
  207. WMI_TLV_DEL_PROACTIVE_ARP_RSP_PATTERN_CMDID,
  208. WMI_TLV_NETWORK_LIST_OFFLOAD_CONFIG_CMDID =
  209. WMI_TLV_CMD(WMI_TLV_GRP_NLO_OFL),
  210. WMI_TLV_APFIND_CMDID,
  211. WMI_TLV_GTK_OFFLOAD_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_GTK_OFL),
  212. WMI_TLV_CSA_OFFLOAD_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_CSA_OFL),
  213. WMI_TLV_CSA_OFFLOAD_CHANSWITCH_CMDID,
  214. WMI_TLV_CHATTER_SET_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_CHATTER),
  215. WMI_TLV_CHATTER_ADD_COALESCING_FILTER_CMDID,
  216. WMI_TLV_CHATTER_DELETE_COALESCING_FILTER_CMDID,
  217. WMI_TLV_CHATTER_COALESCING_QUERY_CMDID,
  218. WMI_TLV_PEER_TID_ADDBA_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_TID_ADDBA),
  219. WMI_TLV_PEER_TID_DELBA_CMDID,
  220. WMI_TLV_STA_DTIM_PS_METHOD_CMDID,
  221. WMI_TLV_STA_UAPSD_AUTO_TRIG_CMDID,
  222. WMI_TLV_STA_KEEPALIVE_CMDID,
  223. WMI_TLV_BA_REQ_SSN_CMDID,
  224. WMI_TLV_ECHO_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_MISC),
  225. WMI_TLV_PDEV_UTF_CMDID,
  226. WMI_TLV_DBGLOG_CFG_CMDID,
  227. WMI_TLV_PDEV_QVIT_CMDID,
  228. WMI_TLV_PDEV_FTM_INTG_CMDID,
  229. WMI_TLV_VDEV_SET_KEEPALIVE_CMDID,
  230. WMI_TLV_VDEV_GET_KEEPALIVE_CMDID,
  231. WMI_TLV_FORCE_FW_HANG_CMDID,
  232. WMI_TLV_SET_MCASTBCAST_FILTER_CMDID,
  233. WMI_TLV_THERMAL_MGMT_CMDID,
  234. WMI_TLV_HOST_AUTO_SHUTDOWN_CFG_CMDID,
  235. WMI_TLV_TPC_CHAINMASK_CONFIG_CMDID,
  236. WMI_TLV_SET_ANTENNA_DIVERSITY_CMDID,
  237. WMI_TLV_GPIO_CONFIG_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_GPIO),
  238. WMI_TLV_GPIO_OUTPUT_CMDID,
  239. WMI_TLV_TXBF_CMDID,
  240. WMI_TLV_FWTEST_VDEV_MCC_SET_TBTT_MODE_CMDID =
  241. WMI_TLV_CMD(WMI_TLV_GRP_FWTEST),
  242. WMI_TLV_FWTEST_P2P_SET_NOA_PARAM_CMDID,
  243. WMI_TLV_UNIT_TEST_CMDID,
  244. WMI_TLV_TDLS_SET_STATE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_TDLS),
  245. WMI_TLV_TDLS_PEER_UPDATE_CMDID,
  246. WMI_TLV_TDLS_SET_OFFCHAN_MODE_CMDID,
  247. WMI_TLV_RESMGR_ADAPTIVE_OCS_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_RESMGR),
  248. WMI_TLV_RESMGR_SET_CHAN_TIME_QUOTA_CMDID,
  249. WMI_TLV_RESMGR_SET_CHAN_LATENCY_CMDID,
  250. WMI_TLV_STA_SMPS_FORCE_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_STA_SMPS),
  251. WMI_TLV_STA_SMPS_PARAM_CMDID,
  252. WMI_TLV_HB_SET_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_WLAN_HB),
  253. WMI_TLV_HB_SET_TCP_PARAMS_CMDID,
  254. WMI_TLV_HB_SET_TCP_PKT_FILTER_CMDID,
  255. WMI_TLV_HB_SET_UDP_PARAMS_CMDID,
  256. WMI_TLV_HB_SET_UDP_PKT_FILTER_CMDID,
  257. WMI_TLV_RMC_SET_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_RMC),
  258. WMI_TLV_RMC_SET_ACTION_PERIOD_CMDID,
  259. WMI_TLV_RMC_CONFIG_CMDID,
  260. WMI_TLV_MHF_OFFLOAD_SET_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_MHF_OFL),
  261. WMI_TLV_MHF_OFFLOAD_PLUMB_ROUTING_TBL_CMDID,
  262. WMI_TLV_BATCH_SCAN_ENABLE_CMDID =
  263. WMI_TLV_CMD(WMI_TLV_GRP_LOCATION_SCAN),
  264. WMI_TLV_BATCH_SCAN_DISABLE_CMDID,
  265. WMI_TLV_BATCH_SCAN_TRIGGER_RESULT_CMDID,
  266. WMI_TLV_OEM_REQ_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_OEM),
  267. WMI_TLV_NAN_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_NAN),
  268. WMI_TLV_MODEM_POWER_STATE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_COEX),
  269. WMI_TLV_CHAN_AVOID_UPDATE_CMDID,
  270. WMI_TLV_OBSS_SCAN_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_OBSS_OFL),
  271. WMI_TLV_OBSS_SCAN_DISABLE_CMDID,
  272. WMI_TLV_LPI_MGMT_SNOOPING_CONFIG_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_LPI),
  273. WMI_TLV_LPI_START_SCAN_CMDID,
  274. WMI_TLV_LPI_STOP_SCAN_CMDID,
  275. WMI_TLV_EXTSCAN_START_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_EXTSCAN),
  276. WMI_TLV_EXTSCAN_STOP_CMDID,
  277. WMI_TLV_EXTSCAN_CONFIGURE_WLAN_CHANGE_MONITOR_CMDID,
  278. WMI_TLV_EXTSCAN_CONFIGURE_HOTLIST_MONITOR_CMDID,
  279. WMI_TLV_EXTSCAN_GET_CACHED_RESULTS_CMDID,
  280. WMI_TLV_EXTSCAN_GET_WLAN_CHANGE_RESULTS_CMDID,
  281. WMI_TLV_EXTSCAN_SET_CAPABILITIES_CMDID,
  282. WMI_TLV_EXTSCAN_GET_CAPABILITIES_CMDID,
  283. WMI_TLV_SET_DHCP_SERVER_OFFLOAD_CMDID =
  284. WMI_TLV_CMD(WMI_TLV_GRP_DHCP_OFL),
  285. WMI_TLV_IPA_OFFLOAD_ENABLE_DISABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_IPA),
  286. WMI_TLV_MDNS_OFFLOAD_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_MDNS_OFL),
  287. WMI_TLV_MDNS_SET_FQDN_CMDID,
  288. WMI_TLV_MDNS_SET_RESPONSE_CMDID,
  289. WMI_TLV_MDNS_GET_STATS_CMDID,
  290. WMI_TLV_SAP_OFL_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_SAP_OFL),
  291. };
  292. enum wmi_tlv_event_id {
  293. WMI_TLV_SERVICE_READY_EVENTID = 0x1,
  294. WMI_TLV_READY_EVENTID,
  295. WMI_TLV_SERVICE_AVAILABLE_EVENTID,
  296. WMI_TLV_SCAN_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_SCAN),
  297. WMI_TLV_PDEV_TPC_CONFIG_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_PDEV),
  298. WMI_TLV_CHAN_INFO_EVENTID,
  299. WMI_TLV_PHYERR_EVENTID,
  300. WMI_TLV_PDEV_DUMP_EVENTID,
  301. WMI_TLV_TX_PAUSE_EVENTID,
  302. WMI_TLV_DFS_RADAR_EVENTID,
  303. WMI_TLV_PDEV_L1SS_TRACK_EVENTID,
  304. WMI_TLV_PDEV_TEMPERATURE_EVENTID,
  305. WMI_TLV_VDEV_START_RESP_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_VDEV),
  306. WMI_TLV_VDEV_STOPPED_EVENTID,
  307. WMI_TLV_VDEV_INSTALL_KEY_COMPLETE_EVENTID,
  308. WMI_TLV_VDEV_MCC_BCN_INTERVAL_CHANGE_REQ_EVENTID,
  309. WMI_TLV_PEER_STA_KICKOUT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_PEER),
  310. WMI_TLV_PEER_INFO_EVENTID,
  311. WMI_TLV_PEER_TX_FAIL_CNT_THR_EVENTID,
  312. WMI_TLV_PEER_ESTIMATED_LINKSPEED_EVENTID,
  313. WMI_TLV_PEER_STATE_EVENTID,
  314. WMI_TLV_MGMT_RX_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_MGMT),
  315. WMI_TLV_HOST_SWBA_EVENTID,
  316. WMI_TLV_TBTTOFFSET_UPDATE_EVENTID,
  317. WMI_TLV_OFFLOAD_BCN_TX_STATUS_EVENTID,
  318. WMI_TLV_OFFLOAD_PROB_RESP_TX_STATUS_EVENTID,
  319. WMI_TLV_MGMT_TX_COMPLETION_EVENTID,
  320. WMI_TLV_TX_DELBA_COMPLETE_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_BA_NEG),
  321. WMI_TLV_TX_ADDBA_COMPLETE_EVENTID,
  322. WMI_TLV_BA_RSP_SSN_EVENTID,
  323. WMI_TLV_AGGR_STATE_TRIG_EVENTID,
  324. WMI_TLV_ROAM_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_ROAM),
  325. WMI_TLV_PROFILE_MATCH,
  326. WMI_TLV_ROAM_SYNCH_EVENTID,
  327. WMI_TLV_P2P_DISC_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_P2P),
  328. WMI_TLV_P2P_NOA_EVENTID,
  329. WMI_TLV_PDEV_RESUME_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_SUSPEND),
  330. WMI_TLV_WOW_WAKEUP_HOST_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_WOW),
  331. WMI_TLV_D0_WOW_DISABLE_ACK_EVENTID,
  332. WMI_TLV_RTT_MEASUREMENT_REPORT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_RTT),
  333. WMI_TLV_TSF_MEASUREMENT_REPORT_EVENTID,
  334. WMI_TLV_RTT_ERROR_REPORT_EVENTID,
  335. WMI_TLV_STATS_EXT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_STATS),
  336. WMI_TLV_IFACE_LINK_STATS_EVENTID,
  337. WMI_TLV_PEER_LINK_STATS_EVENTID,
  338. WMI_TLV_RADIO_LINK_STATS_EVENTID,
  339. WMI_TLV_NLO_MATCH_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_NLO_OFL),
  340. WMI_TLV_NLO_SCAN_COMPLETE_EVENTID,
  341. WMI_TLV_APFIND_EVENTID,
  342. WMI_TLV_GTK_OFFLOAD_STATUS_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_GTK_OFL),
  343. WMI_TLV_GTK_REKEY_FAIL_EVENTID,
  344. WMI_TLV_CSA_HANDLING_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_CSA_OFL),
  345. WMI_TLV_CHATTER_PC_QUERY_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_CHATTER),
  346. WMI_TLV_ECHO_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_MISC),
  347. WMI_TLV_PDEV_UTF_EVENTID,
  348. WMI_TLV_DEBUG_MESG_EVENTID,
  349. WMI_TLV_UPDATE_STATS_EVENTID,
  350. WMI_TLV_DEBUG_PRINT_EVENTID,
  351. WMI_TLV_DCS_INTERFERENCE_EVENTID,
  352. WMI_TLV_PDEV_QVIT_EVENTID,
  353. WMI_TLV_WLAN_PROFILE_DATA_EVENTID,
  354. WMI_TLV_PDEV_FTM_INTG_EVENTID,
  355. WMI_TLV_WLAN_FREQ_AVOID_EVENTID,
  356. WMI_TLV_VDEV_GET_KEEPALIVE_EVENTID,
  357. WMI_TLV_THERMAL_MGMT_EVENTID,
  358. WMI_TLV_DIAG_DATA_CONTAINER_EVENTID,
  359. WMI_TLV_HOST_AUTO_SHUTDOWN_EVENTID,
  360. WMI_TLV_UPDATE_WHAL_MIB_STATS_EVENTID,
  361. WMI_TLV_UPDATE_VDEV_RATE_STATS_EVENTID,
  362. WMI_TLV_DIAG_EVENTID,
  363. WMI_TLV_GPIO_INPUT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_GPIO),
  364. WMI_TLV_UPLOADH_EVENTID,
  365. WMI_TLV_CAPTUREH_EVENTID,
  366. WMI_TLV_RFKILL_STATE_CHANGE_EVENTID,
  367. WMI_TLV_TDLS_PEER_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_TDLS),
  368. WMI_TLV_BATCH_SCAN_ENABLED_EVENTID =
  369. WMI_TLV_EV(WMI_TLV_GRP_LOCATION_SCAN),
  370. WMI_TLV_BATCH_SCAN_RESULT_EVENTID,
  371. WMI_TLV_OEM_CAPABILITY_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_OEM),
  372. WMI_TLV_OEM_MEASUREMENT_REPORT_EVENTID,
  373. WMI_TLV_OEM_ERROR_REPORT_EVENTID,
  374. WMI_TLV_NAN_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_NAN),
  375. WMI_TLV_LPI_RESULT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_LPI),
  376. WMI_TLV_LPI_STATUS_EVENTID,
  377. WMI_TLV_LPI_HANDOFF_EVENTID,
  378. WMI_TLV_EXTSCAN_START_STOP_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_EXTSCAN),
  379. WMI_TLV_EXTSCAN_OPERATION_EVENTID,
  380. WMI_TLV_EXTSCAN_TABLE_USAGE_EVENTID,
  381. WMI_TLV_EXTSCAN_CACHED_RESULTS_EVENTID,
  382. WMI_TLV_EXTSCAN_WLAN_CHANGE_RESULTS_EVENTID,
  383. WMI_TLV_EXTSCAN_HOTLIST_MATCH_EVENTID,
  384. WMI_TLV_EXTSCAN_CAPABILITIES_EVENTID,
  385. WMI_TLV_MDNS_STATS_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_MDNS_OFL),
  386. WMI_TLV_SAP_OFL_ADD_STA_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_SAP_OFL),
  387. WMI_TLV_SAP_OFL_DEL_STA_EVENTID,
  388. };
  389. enum wmi_tlv_pdev_param {
  390. WMI_TLV_PDEV_PARAM_TX_CHAIN_MASK = 0x1,
  391. WMI_TLV_PDEV_PARAM_RX_CHAIN_MASK,
  392. WMI_TLV_PDEV_PARAM_TXPOWER_LIMIT2G,
  393. WMI_TLV_PDEV_PARAM_TXPOWER_LIMIT5G,
  394. WMI_TLV_PDEV_PARAM_TXPOWER_SCALE,
  395. WMI_TLV_PDEV_PARAM_BEACON_GEN_MODE,
  396. WMI_TLV_PDEV_PARAM_BEACON_TX_MODE,
  397. WMI_TLV_PDEV_PARAM_RESMGR_OFFCHAN_MODE,
  398. WMI_TLV_PDEV_PARAM_PROTECTION_MODE,
  399. WMI_TLV_PDEV_PARAM_DYNAMIC_BW,
  400. WMI_TLV_PDEV_PARAM_NON_AGG_SW_RETRY_TH,
  401. WMI_TLV_PDEV_PARAM_AGG_SW_RETRY_TH,
  402. WMI_TLV_PDEV_PARAM_STA_KICKOUT_TH,
  403. WMI_TLV_PDEV_PARAM_AC_AGGRSIZE_SCALING,
  404. WMI_TLV_PDEV_PARAM_LTR_ENABLE,
  405. WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_BE,
  406. WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_BK,
  407. WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_VI,
  408. WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_VO,
  409. WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_TIMEOUT,
  410. WMI_TLV_PDEV_PARAM_LTR_SLEEP_OVERRIDE,
  411. WMI_TLV_PDEV_PARAM_LTR_RX_OVERRIDE,
  412. WMI_TLV_PDEV_PARAM_LTR_TX_ACTIVITY_TIMEOUT,
  413. WMI_TLV_PDEV_PARAM_L1SS_ENABLE,
  414. WMI_TLV_PDEV_PARAM_DSLEEP_ENABLE,
  415. WMI_TLV_PDEV_PARAM_PCIELP_TXBUF_FLUSH,
  416. WMI_TLV_PDEV_PARAM_PCIELP_TXBUF_WATERMARK,
  417. WMI_TLV_PDEV_PARAM_PCIELP_TXBUF_TMO_EN,
  418. WMI_TLV_PDEV_PARAM_PCIELP_TXBUF_TMO_VALUE,
  419. WMI_TLV_PDEV_PARAM_PDEV_STATS_UPDATE_PERIOD,
  420. WMI_TLV_PDEV_PARAM_VDEV_STATS_UPDATE_PERIOD,
  421. WMI_TLV_PDEV_PARAM_PEER_STATS_UPDATE_PERIOD,
  422. WMI_TLV_PDEV_PARAM_BCNFLT_STATS_UPDATE_PERIOD,
  423. WMI_TLV_PDEV_PARAM_PMF_QOS,
  424. WMI_TLV_PDEV_PARAM_ARP_AC_OVERRIDE,
  425. WMI_TLV_PDEV_PARAM_DCS,
  426. WMI_TLV_PDEV_PARAM_ANI_ENABLE,
  427. WMI_TLV_PDEV_PARAM_ANI_POLL_PERIOD,
  428. WMI_TLV_PDEV_PARAM_ANI_LISTEN_PERIOD,
  429. WMI_TLV_PDEV_PARAM_ANI_OFDM_LEVEL,
  430. WMI_TLV_PDEV_PARAM_ANI_CCK_LEVEL,
  431. WMI_TLV_PDEV_PARAM_DYNTXCHAIN,
  432. WMI_TLV_PDEV_PARAM_PROXY_STA,
  433. WMI_TLV_PDEV_PARAM_IDLE_PS_CONFIG,
  434. WMI_TLV_PDEV_PARAM_POWER_GATING_SLEEP,
  435. WMI_TLV_PDEV_PARAM_RFKILL_ENABLE,
  436. WMI_TLV_PDEV_PARAM_BURST_DUR,
  437. WMI_TLV_PDEV_PARAM_BURST_ENABLE,
  438. WMI_TLV_PDEV_PARAM_HW_RFKILL_CONFIG,
  439. WMI_TLV_PDEV_PARAM_LOW_POWER_RF_ENABLE,
  440. WMI_TLV_PDEV_PARAM_L1SS_TRACK,
  441. WMI_TLV_PDEV_PARAM_HYST_EN,
  442. WMI_TLV_PDEV_PARAM_POWER_COLLAPSE_ENABLE,
  443. WMI_TLV_PDEV_PARAM_LED_SYS_STATE,
  444. WMI_TLV_PDEV_PARAM_LED_ENABLE,
  445. WMI_TLV_PDEV_PARAM_AUDIO_OVER_WLAN_LATENCY,
  446. WMI_TLV_PDEV_PARAM_AUDIO_OVER_WLAN_ENABLE,
  447. WMI_TLV_PDEV_PARAM_WHAL_MIB_STATS_UPDATE_ENABLE,
  448. WMI_TLV_PDEV_PARAM_VDEV_RATE_STATS_UPDATE_PERIOD,
  449. WMI_TLV_PDEV_PARAM_TXPOWER_REASON_NONE,
  450. WMI_TLV_PDEV_PARAM_TXPOWER_REASON_SAR,
  451. WMI_TLV_PDEV_PARAM_TXPOWER_REASON_MAX,
  452. };
  453. enum wmi_tlv_vdev_param {
  454. WMI_TLV_VDEV_PARAM_RTS_THRESHOLD = 0x1,
  455. WMI_TLV_VDEV_PARAM_FRAGMENTATION_THRESHOLD,
  456. WMI_TLV_VDEV_PARAM_BEACON_INTERVAL,
  457. WMI_TLV_VDEV_PARAM_LISTEN_INTERVAL,
  458. WMI_TLV_VDEV_PARAM_MULTICAST_RATE,
  459. WMI_TLV_VDEV_PARAM_MGMT_TX_RATE,
  460. WMI_TLV_VDEV_PARAM_SLOT_TIME,
  461. WMI_TLV_VDEV_PARAM_PREAMBLE,
  462. WMI_TLV_VDEV_PARAM_SWBA_TIME,
  463. WMI_TLV_VDEV_STATS_UPDATE_PERIOD,
  464. WMI_TLV_VDEV_PWRSAVE_AGEOUT_TIME,
  465. WMI_TLV_VDEV_HOST_SWBA_INTERVAL,
  466. WMI_TLV_VDEV_PARAM_DTIM_PERIOD,
  467. WMI_TLV_VDEV_OC_SCHEDULER_AIR_TIME_LIMIT,
  468. WMI_TLV_VDEV_PARAM_WDS,
  469. WMI_TLV_VDEV_PARAM_ATIM_WINDOW,
  470. WMI_TLV_VDEV_PARAM_BMISS_COUNT_MAX,
  471. WMI_TLV_VDEV_PARAM_BMISS_FIRST_BCNT,
  472. WMI_TLV_VDEV_PARAM_BMISS_FINAL_BCNT,
  473. WMI_TLV_VDEV_PARAM_FEATURE_WMM,
  474. WMI_TLV_VDEV_PARAM_CHWIDTH,
  475. WMI_TLV_VDEV_PARAM_CHEXTOFFSET,
  476. WMI_TLV_VDEV_PARAM_DISABLE_HTPROTECTION,
  477. WMI_TLV_VDEV_PARAM_STA_QUICKKICKOUT,
  478. WMI_TLV_VDEV_PARAM_MGMT_RATE,
  479. WMI_TLV_VDEV_PARAM_PROTECTION_MODE,
  480. WMI_TLV_VDEV_PARAM_FIXED_RATE,
  481. WMI_TLV_VDEV_PARAM_SGI,
  482. WMI_TLV_VDEV_PARAM_LDPC,
  483. WMI_TLV_VDEV_PARAM_TX_STBC,
  484. WMI_TLV_VDEV_PARAM_RX_STBC,
  485. WMI_TLV_VDEV_PARAM_INTRA_BSS_FWD,
  486. WMI_TLV_VDEV_PARAM_DEF_KEYID,
  487. WMI_TLV_VDEV_PARAM_NSS,
  488. WMI_TLV_VDEV_PARAM_BCAST_DATA_RATE,
  489. WMI_TLV_VDEV_PARAM_MCAST_DATA_RATE,
  490. WMI_TLV_VDEV_PARAM_MCAST_INDICATE,
  491. WMI_TLV_VDEV_PARAM_DHCP_INDICATE,
  492. WMI_TLV_VDEV_PARAM_UNKNOWN_DEST_INDICATE,
  493. WMI_TLV_VDEV_PARAM_AP_KEEPALIVE_MIN_IDLE_INACTIVE_TIME_SECS,
  494. WMI_TLV_VDEV_PARAM_AP_KEEPALIVE_MAX_IDLE_INACTIVE_TIME_SECS,
  495. WMI_TLV_VDEV_PARAM_AP_KEEPALIVE_MAX_UNRESPONSIVE_TIME_SECS,
  496. WMI_TLV_VDEV_PARAM_AP_ENABLE_NAWDS,
  497. WMI_TLV_VDEV_PARAM_ENABLE_RTSCTS,
  498. WMI_TLV_VDEV_PARAM_TXBF,
  499. WMI_TLV_VDEV_PARAM_PACKET_POWERSAVE,
  500. WMI_TLV_VDEV_PARAM_DROP_UNENCRY,
  501. WMI_TLV_VDEV_PARAM_TX_ENCAP_TYPE,
  502. WMI_TLV_VDEV_PARAM_AP_DETECT_OUT_OF_SYNC_SLEEPING_STA_TIME_SECS,
  503. WMI_TLV_VDEV_PARAM_EARLY_RX_ADJUST_ENABLE,
  504. WMI_TLV_VDEV_PARAM_EARLY_RX_TGT_BMISS_NUM,
  505. WMI_TLV_VDEV_PARAM_EARLY_RX_BMISS_SAMPLE_CYCLE,
  506. WMI_TLV_VDEV_PARAM_EARLY_RX_SLOP_STEP,
  507. WMI_TLV_VDEV_PARAM_EARLY_RX_INIT_SLOP,
  508. WMI_TLV_VDEV_PARAM_EARLY_RX_ADJUST_PAUSE,
  509. WMI_TLV_VDEV_PARAM_TX_PWRLIMIT,
  510. WMI_TLV_VDEV_PARAM_SNR_NUM_FOR_CAL,
  511. WMI_TLV_VDEV_PARAM_ROAM_FW_OFFLOAD,
  512. WMI_TLV_VDEV_PARAM_ENABLE_RMC,
  513. WMI_TLV_VDEV_PARAM_IBSS_MAX_BCN_LOST_MS,
  514. WMI_TLV_VDEV_PARAM_MAX_RATE,
  515. WMI_TLV_VDEV_PARAM_EARLY_RX_DRIFT_SAMPLE,
  516. WMI_TLV_VDEV_PARAM_SET_IBSS_TX_FAIL_CNT_THR,
  517. WMI_TLV_VDEV_PARAM_EBT_RESYNC_TIMEOUT,
  518. WMI_TLV_VDEV_PARAM_AGGR_TRIG_EVENT_ENABLE,
  519. WMI_TLV_VDEV_PARAM_IS_IBSS_POWER_SAVE_ALLOWED,
  520. WMI_TLV_VDEV_PARAM_IS_POWER_COLLAPSE_ALLOWED,
  521. WMI_TLV_VDEV_PARAM_IS_AWAKE_ON_TXRX_ENABLED,
  522. WMI_TLV_VDEV_PARAM_INACTIVITY_CNT,
  523. WMI_TLV_VDEV_PARAM_TXSP_END_INACTIVITY_TIME_MS,
  524. WMI_TLV_VDEV_PARAM_DTIM_POLICY,
  525. WMI_TLV_VDEV_PARAM_IBSS_PS_WARMUP_TIME_SECS,
  526. WMI_TLV_VDEV_PARAM_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_ENABLE,
  527. };
  528. enum wmi_tlv_peer_flags {
  529. WMI_TLV_PEER_AUTH = 0x00000001,
  530. WMI_TLV_PEER_QOS = 0x00000002,
  531. WMI_TLV_PEER_NEED_PTK_4_WAY = 0x00000004,
  532. WMI_TLV_PEER_NEED_GTK_2_WAY = 0x00000010,
  533. WMI_TLV_PEER_APSD = 0x00000800,
  534. WMI_TLV_PEER_HT = 0x00001000,
  535. WMI_TLV_PEER_40MHZ = 0x00002000,
  536. WMI_TLV_PEER_STBC = 0x00008000,
  537. WMI_TLV_PEER_LDPC = 0x00010000,
  538. WMI_TLV_PEER_DYN_MIMOPS = 0x00020000,
  539. WMI_TLV_PEER_STATIC_MIMOPS = 0x00040000,
  540. WMI_TLV_PEER_SPATIAL_MUX = 0x00200000,
  541. WMI_TLV_PEER_VHT = 0x02000000,
  542. WMI_TLV_PEER_80MHZ = 0x04000000,
  543. WMI_TLV_PEER_PMF = 0x08000000,
  544. WMI_TLV_PEER_160MHZ = 0x20000000,
  545. };
  546. enum wmi_tlv_tag {
  547. WMI_TLV_TAG_LAST_RESERVED = 15,
  548. WMI_TLV_TAG_FIRST_ARRAY_ENUM,
  549. WMI_TLV_TAG_ARRAY_UINT32 = WMI_TLV_TAG_FIRST_ARRAY_ENUM,
  550. WMI_TLV_TAG_ARRAY_BYTE,
  551. WMI_TLV_TAG_ARRAY_STRUCT,
  552. WMI_TLV_TAG_ARRAY_FIXED_STRUCT,
  553. WMI_TLV_TAG_LAST_ARRAY_ENUM = 31,
  554. WMI_TLV_TAG_STRUCT_SERVICE_READY_EVENT,
  555. WMI_TLV_TAG_STRUCT_HAL_REG_CAPABILITIES,
  556. WMI_TLV_TAG_STRUCT_WLAN_HOST_MEM_REQ,
  557. WMI_TLV_TAG_STRUCT_READY_EVENT,
  558. WMI_TLV_TAG_STRUCT_SCAN_EVENT,
  559. WMI_TLV_TAG_STRUCT_PDEV_TPC_CONFIG_EVENT,
  560. WMI_TLV_TAG_STRUCT_CHAN_INFO_EVENT,
  561. WMI_TLV_TAG_STRUCT_COMB_PHYERR_RX_HDR,
  562. WMI_TLV_TAG_STRUCT_VDEV_START_RESPONSE_EVENT,
  563. WMI_TLV_TAG_STRUCT_VDEV_STOPPED_EVENT,
  564. WMI_TLV_TAG_STRUCT_VDEV_INSTALL_KEY_COMPLETE_EVENT,
  565. WMI_TLV_TAG_STRUCT_PEER_STA_KICKOUT_EVENT,
  566. WMI_TLV_TAG_STRUCT_MGMT_RX_HDR,
  567. WMI_TLV_TAG_STRUCT_TBTT_OFFSET_EVENT,
  568. WMI_TLV_TAG_STRUCT_TX_DELBA_COMPLETE_EVENT,
  569. WMI_TLV_TAG_STRUCT_TX_ADDBA_COMPLETE_EVENT,
  570. WMI_TLV_TAG_STRUCT_ROAM_EVENT,
  571. WMI_TLV_TAG_STRUCT_WOW_EVENT_INFO,
  572. WMI_TLV_TAG_STRUCT_WOW_EVENT_INFO_SECTION_BITMAP,
  573. WMI_TLV_TAG_STRUCT_RTT_EVENT_HEADER,
  574. WMI_TLV_TAG_STRUCT_RTT_ERROR_REPORT_EVENT,
  575. WMI_TLV_TAG_STRUCT_RTT_MEAS_EVENT,
  576. WMI_TLV_TAG_STRUCT_ECHO_EVENT,
  577. WMI_TLV_TAG_STRUCT_FTM_INTG_EVENT,
  578. WMI_TLV_TAG_STRUCT_VDEV_GET_KEEPALIVE_EVENT,
  579. WMI_TLV_TAG_STRUCT_GPIO_INPUT_EVENT,
  580. WMI_TLV_TAG_STRUCT_CSA_EVENT,
  581. WMI_TLV_TAG_STRUCT_GTK_OFFLOAD_STATUS_EVENT,
  582. WMI_TLV_TAG_STRUCT_IGTK_INFO,
  583. WMI_TLV_TAG_STRUCT_DCS_INTERFERENCE_EVENT,
  584. WMI_TLV_TAG_STRUCT_ATH_DCS_CW_INT,
  585. WMI_TLV_TAG_STRUCT_ATH_DCS_WLAN_INT_STAT,
  586. WMI_TLV_TAG_STRUCT_WLAN_PROFILE_CTX_T,
  587. WMI_TLV_TAG_STRUCT_WLAN_PROFILE_T,
  588. WMI_TLV_TAG_STRUCT_PDEV_QVIT_EVENT,
  589. WMI_TLV_TAG_STRUCT_HOST_SWBA_EVENT,
  590. WMI_TLV_TAG_STRUCT_TIM_INFO,
  591. WMI_TLV_TAG_STRUCT_P2P_NOA_INFO,
  592. WMI_TLV_TAG_STRUCT_STATS_EVENT,
  593. WMI_TLV_TAG_STRUCT_AVOID_FREQ_RANGES_EVENT,
  594. WMI_TLV_TAG_STRUCT_AVOID_FREQ_RANGE_DESC,
  595. WMI_TLV_TAG_STRUCT_GTK_REKEY_FAIL_EVENT,
  596. WMI_TLV_TAG_STRUCT_INIT_CMD,
  597. WMI_TLV_TAG_STRUCT_RESOURCE_CONFIG,
  598. WMI_TLV_TAG_STRUCT_WLAN_HOST_MEMORY_CHUNK,
  599. WMI_TLV_TAG_STRUCT_START_SCAN_CMD,
  600. WMI_TLV_TAG_STRUCT_STOP_SCAN_CMD,
  601. WMI_TLV_TAG_STRUCT_SCAN_CHAN_LIST_CMD,
  602. WMI_TLV_TAG_STRUCT_CHANNEL,
  603. WMI_TLV_TAG_STRUCT_PDEV_SET_REGDOMAIN_CMD,
  604. WMI_TLV_TAG_STRUCT_PDEV_SET_PARAM_CMD,
  605. WMI_TLV_TAG_STRUCT_PDEV_SET_WMM_PARAMS_CMD,
  606. WMI_TLV_TAG_STRUCT_WMM_PARAMS,
  607. WMI_TLV_TAG_STRUCT_PDEV_SET_QUIET_CMD,
  608. WMI_TLV_TAG_STRUCT_VDEV_CREATE_CMD,
  609. WMI_TLV_TAG_STRUCT_VDEV_DELETE_CMD,
  610. WMI_TLV_TAG_STRUCT_VDEV_START_REQUEST_CMD,
  611. WMI_TLV_TAG_STRUCT_P2P_NOA_DESCRIPTOR,
  612. WMI_TLV_TAG_STRUCT_P2P_GO_SET_BEACON_IE,
  613. WMI_TLV_TAG_STRUCT_GTK_OFFLOAD_CMD,
  614. WMI_TLV_TAG_STRUCT_VDEV_UP_CMD,
  615. WMI_TLV_TAG_STRUCT_VDEV_STOP_CMD,
  616. WMI_TLV_TAG_STRUCT_VDEV_DOWN_CMD,
  617. WMI_TLV_TAG_STRUCT_VDEV_SET_PARAM_CMD,
  618. WMI_TLV_TAG_STRUCT_VDEV_INSTALL_KEY_CMD,
  619. WMI_TLV_TAG_STRUCT_PEER_CREATE_CMD,
  620. WMI_TLV_TAG_STRUCT_PEER_DELETE_CMD,
  621. WMI_TLV_TAG_STRUCT_PEER_FLUSH_TIDS_CMD,
  622. WMI_TLV_TAG_STRUCT_PEER_SET_PARAM_CMD,
  623. WMI_TLV_TAG_STRUCT_PEER_ASSOC_COMPLETE_CMD,
  624. WMI_TLV_TAG_STRUCT_VHT_RATE_SET,
  625. WMI_TLV_TAG_STRUCT_BCN_TMPL_CMD,
  626. WMI_TLV_TAG_STRUCT_PRB_TMPL_CMD,
  627. WMI_TLV_TAG_STRUCT_BCN_PRB_INFO,
  628. WMI_TLV_TAG_STRUCT_PEER_TID_ADDBA_CMD,
  629. WMI_TLV_TAG_STRUCT_PEER_TID_DELBA_CMD,
  630. WMI_TLV_TAG_STRUCT_STA_POWERSAVE_MODE_CMD,
  631. WMI_TLV_TAG_STRUCT_STA_POWERSAVE_PARAM_CMD,
  632. WMI_TLV_TAG_STRUCT_STA_DTIM_PS_METHOD_CMD,
  633. WMI_TLV_TAG_STRUCT_ROAM_SCAN_MODE,
  634. WMI_TLV_TAG_STRUCT_ROAM_SCAN_RSSI_THRESHOLD,
  635. WMI_TLV_TAG_STRUCT_ROAM_SCAN_PERIOD,
  636. WMI_TLV_TAG_STRUCT_ROAM_SCAN_RSSI_CHANGE_THRESHOLD,
  637. WMI_TLV_TAG_STRUCT_PDEV_SUSPEND_CMD,
  638. WMI_TLV_TAG_STRUCT_PDEV_RESUME_CMD,
  639. WMI_TLV_TAG_STRUCT_ADD_BCN_FILTER_CMD,
  640. WMI_TLV_TAG_STRUCT_RMV_BCN_FILTER_CMD,
  641. WMI_TLV_TAG_STRUCT_WOW_ENABLE_CMD,
  642. WMI_TLV_TAG_STRUCT_WOW_HOSTWAKEUP_FROM_SLEEP_CMD,
  643. WMI_TLV_TAG_STRUCT_STA_UAPSD_AUTO_TRIG_CMD,
  644. WMI_TLV_TAG_STRUCT_STA_UAPSD_AUTO_TRIG_PARAM,
  645. WMI_TLV_TAG_STRUCT_SET_ARP_NS_OFFLOAD_CMD,
  646. WMI_TLV_TAG_STRUCT_ARP_OFFLOAD_TUPLE,
  647. WMI_TLV_TAG_STRUCT_NS_OFFLOAD_TUPLE,
  648. WMI_TLV_TAG_STRUCT_FTM_INTG_CMD,
  649. WMI_TLV_TAG_STRUCT_STA_KEEPALIVE_CMD,
  650. WMI_TLV_TAG_STRUCT_STA_KEEPALVE_ARP_RESPONSE,
  651. WMI_TLV_TAG_STRUCT_P2P_SET_VENDOR_IE_DATA_CMD,
  652. WMI_TLV_TAG_STRUCT_AP_PS_PEER_CMD,
  653. WMI_TLV_TAG_STRUCT_PEER_RATE_RETRY_SCHED_CMD,
  654. WMI_TLV_TAG_STRUCT_WLAN_PROFILE_TRIGGER_CMD,
  655. WMI_TLV_TAG_STRUCT_WLAN_PROFILE_SET_HIST_INTVL_CMD,
  656. WMI_TLV_TAG_STRUCT_WLAN_PROFILE_GET_PROF_DATA_CMD,
  657. WMI_TLV_TAG_STRUCT_WLAN_PROFILE_ENABLE_PROFILE_ID_CMD,
  658. WMI_TLV_TAG_STRUCT_WOW_DEL_PATTERN_CMD,
  659. WMI_TLV_TAG_STRUCT_WOW_ADD_DEL_EVT_CMD,
  660. WMI_TLV_TAG_STRUCT_RTT_MEASREQ_HEAD,
  661. WMI_TLV_TAG_STRUCT_RTT_MEASREQ_BODY,
  662. WMI_TLV_TAG_STRUCT_RTT_TSF_CMD,
  663. WMI_TLV_TAG_STRUCT_VDEV_SPECTRAL_CONFIGURE_CMD,
  664. WMI_TLV_TAG_STRUCT_VDEV_SPECTRAL_ENABLE_CMD,
  665. WMI_TLV_TAG_STRUCT_REQUEST_STATS_CMD,
  666. WMI_TLV_TAG_STRUCT_NLO_CONFIG_CMD,
  667. WMI_TLV_TAG_STRUCT_NLO_CONFIGURED_PARAMETERS,
  668. WMI_TLV_TAG_STRUCT_CSA_OFFLOAD_ENABLE_CMD,
  669. WMI_TLV_TAG_STRUCT_CSA_OFFLOAD_CHANSWITCH_CMD,
  670. WMI_TLV_TAG_STRUCT_CHATTER_SET_MODE_CMD,
  671. WMI_TLV_TAG_STRUCT_ECHO_CMD,
  672. WMI_TLV_TAG_STRUCT_VDEV_SET_KEEPALIVE_CMD,
  673. WMI_TLV_TAG_STRUCT_VDEV_GET_KEEPALIVE_CMD,
  674. WMI_TLV_TAG_STRUCT_FORCE_FW_HANG_CMD,
  675. WMI_TLV_TAG_STRUCT_GPIO_CONFIG_CMD,
  676. WMI_TLV_TAG_STRUCT_GPIO_OUTPUT_CMD,
  677. WMI_TLV_TAG_STRUCT_PEER_ADD_WDS_ENTRY_CMD,
  678. WMI_TLV_TAG_STRUCT_PEER_REMOVE_WDS_ENTRY_CMD,
  679. WMI_TLV_TAG_STRUCT_BCN_TX_HDR,
  680. WMI_TLV_TAG_STRUCT_BCN_SEND_FROM_HOST_CMD,
  681. WMI_TLV_TAG_STRUCT_MGMT_TX_HDR,
  682. WMI_TLV_TAG_STRUCT_ADDBA_CLEAR_RESP_CMD,
  683. WMI_TLV_TAG_STRUCT_ADDBA_SEND_CMD,
  684. WMI_TLV_TAG_STRUCT_DELBA_SEND_CMD,
  685. WMI_TLV_TAG_STRUCT_ADDBA_SETRESPONSE_CMD,
  686. WMI_TLV_TAG_STRUCT_SEND_SINGLEAMSDU_CMD,
  687. WMI_TLV_TAG_STRUCT_PDEV_PKTLOG_ENABLE_CMD,
  688. WMI_TLV_TAG_STRUCT_PDEV_PKTLOG_DISABLE_CMD,
  689. WMI_TLV_TAG_STRUCT_PDEV_SET_HT_IE_CMD,
  690. WMI_TLV_TAG_STRUCT_PDEV_SET_VHT_IE_CMD,
  691. WMI_TLV_TAG_STRUCT_PDEV_SET_DSCP_TID_MAP_CMD,
  692. WMI_TLV_TAG_STRUCT_PDEV_GREEN_AP_PS_ENABLE_CMD,
  693. WMI_TLV_TAG_STRUCT_PDEV_GET_TPC_CONFIG_CMD,
  694. WMI_TLV_TAG_STRUCT_PDEV_SET_BASE_MACADDR_CMD,
  695. WMI_TLV_TAG_STRUCT_PEER_MCAST_GROUP_CMD,
  696. WMI_TLV_TAG_STRUCT_ROAM_AP_PROFILE,
  697. WMI_TLV_TAG_STRUCT_AP_PROFILE,
  698. WMI_TLV_TAG_STRUCT_SCAN_SCH_PRIORITY_TABLE_CMD,
  699. WMI_TLV_TAG_STRUCT_PDEV_DFS_ENABLE_CMD,
  700. WMI_TLV_TAG_STRUCT_PDEV_DFS_DISABLE_CMD,
  701. WMI_TLV_TAG_STRUCT_WOW_ADD_PATTERN_CMD,
  702. WMI_TLV_TAG_STRUCT_WOW_BITMAP_PATTERN_T,
  703. WMI_TLV_TAG_STRUCT_WOW_IPV4_SYNC_PATTERN_T,
  704. WMI_TLV_TAG_STRUCT_WOW_IPV6_SYNC_PATTERN_T,
  705. WMI_TLV_TAG_STRUCT_WOW_MAGIC_PATTERN_CMD,
  706. WMI_TLV_TAG_STRUCT_SCAN_UPDATE_REQUEST_CMD,
  707. WMI_TLV_TAG_STRUCT_CHATTER_PKT_COALESCING_FILTER,
  708. WMI_TLV_TAG_STRUCT_CHATTER_COALESCING_ADD_FILTER_CMD,
  709. WMI_TLV_TAG_STRUCT_CHATTER_COALESCING_DELETE_FILTER_CMD,
  710. WMI_TLV_TAG_STRUCT_CHATTER_COALESCING_QUERY_CMD,
  711. WMI_TLV_TAG_STRUCT_TXBF_CMD,
  712. WMI_TLV_TAG_STRUCT_DEBUG_LOG_CONFIG_CMD,
  713. WMI_TLV_TAG_STRUCT_NLO_EVENT,
  714. WMI_TLV_TAG_STRUCT_CHATTER_QUERY_REPLY_EVENT,
  715. WMI_TLV_TAG_STRUCT_UPLOAD_H_HDR,
  716. WMI_TLV_TAG_STRUCT_CAPTURE_H_EVENT_HDR,
  717. WMI_TLV_TAG_STRUCT_VDEV_WNM_SLEEPMODE_CMD,
  718. WMI_TLV_TAG_STRUCT_VDEV_IPSEC_NATKEEPALIVE_FILTER_CMD,
  719. WMI_TLV_TAG_STRUCT_VDEV_WMM_ADDTS_CMD,
  720. WMI_TLV_TAG_STRUCT_VDEV_WMM_DELTS_CMD,
  721. WMI_TLV_TAG_STRUCT_VDEV_SET_WMM_PARAMS_CMD,
  722. WMI_TLV_TAG_STRUCT_TDLS_SET_STATE_CMD,
  723. WMI_TLV_TAG_STRUCT_TDLS_PEER_UPDATE_CMD,
  724. WMI_TLV_TAG_STRUCT_TDLS_PEER_EVENT,
  725. WMI_TLV_TAG_STRUCT_TDLS_PEER_CAPABILITIES,
  726. WMI_TLV_TAG_STRUCT_VDEV_MCC_SET_TBTT_MODE_CMD,
  727. WMI_TLV_TAG_STRUCT_ROAM_CHAN_LIST,
  728. WMI_TLV_TAG_STRUCT_VDEV_MCC_BCN_INTVL_CHANGE_EVENT,
  729. WMI_TLV_TAG_STRUCT_RESMGR_ADAPTIVE_OCS_CMD,
  730. WMI_TLV_TAG_STRUCT_RESMGR_SET_CHAN_TIME_QUOTA_CMD,
  731. WMI_TLV_TAG_STRUCT_RESMGR_SET_CHAN_LATENCY_CMD,
  732. WMI_TLV_TAG_STRUCT_BA_REQ_SSN_CMD,
  733. WMI_TLV_TAG_STRUCT_BA_RSP_SSN_EVENT,
  734. WMI_TLV_TAG_STRUCT_STA_SMPS_FORCE_MODE_CMD,
  735. WMI_TLV_TAG_STRUCT_SET_MCASTBCAST_FILTER_CMD,
  736. WMI_TLV_TAG_STRUCT_P2P_SET_OPPPS_CMD,
  737. WMI_TLV_TAG_STRUCT_P2P_SET_NOA_CMD,
  738. WMI_TLV_TAG_STRUCT_BA_REQ_SSN_CMD_SUB_STRUCT_PARAM,
  739. WMI_TLV_TAG_STRUCT_BA_REQ_SSN_EVENT_SUB_STRUCT_PARAM,
  740. WMI_TLV_TAG_STRUCT_STA_SMPS_PARAM_CMD,
  741. WMI_TLV_TAG_STRUCT_VDEV_SET_GTX_PARAMS_CMD,
  742. WMI_TLV_TAG_STRUCT_MCC_SCHED_TRAFFIC_STATS_CMD,
  743. WMI_TLV_TAG_STRUCT_MCC_SCHED_STA_TRAFFIC_STATS,
  744. WMI_TLV_TAG_STRUCT_OFFLOAD_BCN_TX_STATUS_EVENT,
  745. WMI_TLV_TAG_STRUCT_P2P_NOA_EVENT,
  746. WMI_TLV_TAG_STRUCT_HB_SET_ENABLE_CMD,
  747. WMI_TLV_TAG_STRUCT_HB_SET_TCP_PARAMS_CMD,
  748. WMI_TLV_TAG_STRUCT_HB_SET_TCP_PKT_FILTER_CMD,
  749. WMI_TLV_TAG_STRUCT_HB_SET_UDP_PARAMS_CMD,
  750. WMI_TLV_TAG_STRUCT_HB_SET_UDP_PKT_FILTER_CMD,
  751. WMI_TLV_TAG_STRUCT_HB_IND_EVENT,
  752. WMI_TLV_TAG_STRUCT_TX_PAUSE_EVENT,
  753. WMI_TLV_TAG_STRUCT_RFKILL_EVENT,
  754. WMI_TLV_TAG_STRUCT_DFS_RADAR_EVENT,
  755. WMI_TLV_TAG_STRUCT_DFS_PHYERR_FILTER_ENA_CMD,
  756. WMI_TLV_TAG_STRUCT_DFS_PHYERR_FILTER_DIS_CMD,
  757. WMI_TLV_TAG_STRUCT_BATCH_SCAN_RESULT_SCAN_LIST,
  758. WMI_TLV_TAG_STRUCT_BATCH_SCAN_RESULT_NETWORK_INFO,
  759. WMI_TLV_TAG_STRUCT_BATCH_SCAN_ENABLE_CMD,
  760. WMI_TLV_TAG_STRUCT_BATCH_SCAN_DISABLE_CMD,
  761. WMI_TLV_TAG_STRUCT_BATCH_SCAN_TRIGGER_RESULT_CMD,
  762. WMI_TLV_TAG_STRUCT_BATCH_SCAN_ENABLED_EVENT,
  763. WMI_TLV_TAG_STRUCT_BATCH_SCAN_RESULT_EVENT,
  764. WMI_TLV_TAG_STRUCT_VDEV_PLMREQ_START_CMD,
  765. WMI_TLV_TAG_STRUCT_VDEV_PLMREQ_STOP_CMD,
  766. WMI_TLV_TAG_STRUCT_THERMAL_MGMT_CMD,
  767. WMI_TLV_TAG_STRUCT_THERMAL_MGMT_EVENT,
  768. WMI_TLV_TAG_STRUCT_PEER_INFO_REQ_CMD,
  769. WMI_TLV_TAG_STRUCT_PEER_INFO_EVENT,
  770. WMI_TLV_TAG_STRUCT_PEER_INFO,
  771. WMI_TLV_TAG_STRUCT_PEER_TX_FAIL_CNT_THR_EVENT,
  772. WMI_TLV_TAG_STRUCT_RMC_SET_MODE_CMD,
  773. WMI_TLV_TAG_STRUCT_RMC_SET_ACTION_PERIOD_CMD,
  774. WMI_TLV_TAG_STRUCT_RMC_CONFIG_CMD,
  775. WMI_TLV_TAG_STRUCT_MHF_OFFLOAD_SET_MODE_CMD,
  776. WMI_TLV_TAG_STRUCT_MHF_OFFLOAD_PLUMB_ROUTING_TABLE_CMD,
  777. WMI_TLV_TAG_STRUCT_ADD_PROACTIVE_ARP_RSP_PATTERN_CMD,
  778. WMI_TLV_TAG_STRUCT_DEL_PROACTIVE_ARP_RSP_PATTERN_CMD,
  779. WMI_TLV_TAG_STRUCT_NAN_CMD_PARAM,
  780. WMI_TLV_TAG_STRUCT_NAN_EVENT_HDR,
  781. WMI_TLV_TAG_STRUCT_PDEV_L1SS_TRACK_EVENT,
  782. WMI_TLV_TAG_STRUCT_DIAG_DATA_CONTAINER_EVENT,
  783. WMI_TLV_TAG_STRUCT_MODEM_POWER_STATE_CMD_PARAM,
  784. WMI_TLV_TAG_STRUCT_PEER_GET_ESTIMATED_LINKSPEED_CMD,
  785. WMI_TLV_TAG_STRUCT_PEER_ESTIMATED_LINKSPEED_EVENT,
  786. WMI_TLV_TAG_STRUCT_AGGR_STATE_TRIG_EVENT,
  787. WMI_TLV_TAG_STRUCT_MHF_OFFLOAD_ROUTING_TABLE_ENTRY,
  788. WMI_TLV_TAG_STRUCT_ROAM_SCAN_CMD,
  789. WMI_TLV_TAG_STRUCT_REQ_STATS_EXT_CMD,
  790. WMI_TLV_TAG_STRUCT_STATS_EXT_EVENT,
  791. WMI_TLV_TAG_STRUCT_OBSS_SCAN_ENABLE_CMD,
  792. WMI_TLV_TAG_STRUCT_OBSS_SCAN_DISABLE_CMD,
  793. WMI_TLV_TAG_STRUCT_OFFLOAD_PRB_RSP_TX_STATUS_EVENT,
  794. WMI_TLV_TAG_STRUCT_PDEV_SET_LED_CONFIG_CMD,
  795. WMI_TLV_TAG_STRUCT_HOST_AUTO_SHUTDOWN_CFG_CMD,
  796. WMI_TLV_TAG_STRUCT_HOST_AUTO_SHUTDOWN_EVENT,
  797. WMI_TLV_TAG_STRUCT_UPDATE_WHAL_MIB_STATS_EVENT,
  798. WMI_TLV_TAG_STRUCT_CHAN_AVOID_UPDATE_CMD_PARAM,
  799. WMI_TLV_TAG_STRUCT_WOW_ACER_IOAC_PKT_PATTERN_T,
  800. WMI_TLV_TAG_STRUCT_WOW_ACER_IOAC_TMR_PATTERN_T,
  801. WMI_TLV_TAG_STRUCT_WOW_IOAC_ADD_KEEPALIVE_CMD,
  802. WMI_TLV_TAG_STRUCT_WOW_IOAC_DEL_KEEPALIVE_CMD,
  803. WMI_TLV_TAG_STRUCT_WOW_IOAC_KEEPALIVE_T,
  804. WMI_TLV_TAG_STRUCT_WOW_ACER_IOAC_ADD_PATTERN_CMD,
  805. WMI_TLV_TAG_STRUCT_WOW_ACER_IOAC_DEL_PATTERN_CMD,
  806. WMI_TLV_TAG_STRUCT_START_LINK_STATS_CMD,
  807. WMI_TLV_TAG_STRUCT_CLEAR_LINK_STATS_CMD,
  808. WMI_TLV_TAG_STRUCT_REQUEST_LINK_STATS_CMD,
  809. WMI_TLV_TAG_STRUCT_IFACE_LINK_STATS_EVENT,
  810. WMI_TLV_TAG_STRUCT_RADIO_LINK_STATS_EVENT,
  811. WMI_TLV_TAG_STRUCT_PEER_STATS_EVENT,
  812. WMI_TLV_TAG_STRUCT_CHANNEL_STATS,
  813. WMI_TLV_TAG_STRUCT_RADIO_LINK_STATS,
  814. WMI_TLV_TAG_STRUCT_RATE_STATS,
  815. WMI_TLV_TAG_STRUCT_PEER_LINK_STATS,
  816. WMI_TLV_TAG_STRUCT_WMM_AC_STATS,
  817. WMI_TLV_TAG_STRUCT_IFACE_LINK_STATS,
  818. WMI_TLV_TAG_STRUCT_LPI_MGMT_SNOOPING_CONFIG_CMD,
  819. WMI_TLV_TAG_STRUCT_LPI_START_SCAN_CMD,
  820. WMI_TLV_TAG_STRUCT_LPI_STOP_SCAN_CMD,
  821. WMI_TLV_TAG_STRUCT_LPI_RESULT_EVENT,
  822. WMI_TLV_TAG_STRUCT_PEER_STATE_EVENT,
  823. WMI_TLV_TAG_STRUCT_EXTSCAN_BUCKET_CMD,
  824. WMI_TLV_TAG_STRUCT_EXTSCAN_BUCKET_CHANNEL_EVENT,
  825. WMI_TLV_TAG_STRUCT_EXTSCAN_START_CMD,
  826. WMI_TLV_TAG_STRUCT_EXTSCAN_STOP_CMD,
  827. WMI_TLV_TAG_STRUCT_EXTSCAN_CONFIGURE_WLAN_CHANGE_MONITOR_CMD,
  828. WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_CHANGE_BSSID_PARAM_CMD,
  829. WMI_TLV_TAG_STRUCT_EXTSCAN_CONFIGURE_HOTLIST_MONITOR_CMD,
  830. WMI_TLV_TAG_STRUCT_EXTSCAN_GET_CACHED_RESULTS_CMD,
  831. WMI_TLV_TAG_STRUCT_EXTSCAN_GET_WLAN_CHANGE_RESULTS_CMD,
  832. WMI_TLV_TAG_STRUCT_EXTSCAN_SET_CAPABILITIES_CMD,
  833. WMI_TLV_TAG_STRUCT_EXTSCAN_GET_CAPABILITIES_CMD,
  834. WMI_TLV_TAG_STRUCT_EXTSCAN_OPERATION_EVENT,
  835. WMI_TLV_TAG_STRUCT_EXTSCAN_START_STOP_EVENT,
  836. WMI_TLV_TAG_STRUCT_EXTSCAN_TABLE_USAGE_EVENT,
  837. WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_DESCRIPTOR_EVENT,
  838. WMI_TLV_TAG_STRUCT_EXTSCAN_RSSI_INFO_EVENT,
  839. WMI_TLV_TAG_STRUCT_EXTSCAN_CACHED_RESULTS_EVENT,
  840. WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_CHANGE_RESULTS_EVENT,
  841. WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_CHANGE_RESULT_BSSID_EVENT,
  842. WMI_TLV_TAG_STRUCT_EXTSCAN_HOTLIST_MATCH_EVENT,
  843. WMI_TLV_TAG_STRUCT_EXTSCAN_CAPABILITIES_EVENT,
  844. WMI_TLV_TAG_STRUCT_EXTSCAN_CACHE_CAPABILITIES_EVENT,
  845. WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_CHANGE_MONITOR_CAPABILITIES_EVENT,
  846. WMI_TLV_TAG_STRUCT_EXTSCAN_HOTLIST_MONITOR_CAPABILITIES_EVENT,
  847. WMI_TLV_TAG_STRUCT_D0_WOW_ENABLE_DISABLE_CMD,
  848. WMI_TLV_TAG_STRUCT_D0_WOW_DISABLE_ACK_EVENT,
  849. WMI_TLV_TAG_STRUCT_UNIT_TEST_CMD,
  850. WMI_TLV_TAG_STRUCT_ROAM_OFFLOAD_TLV_PARAM,
  851. WMI_TLV_TAG_STRUCT_ROAM_11I_OFFLOAD_TLV_PARAM,
  852. WMI_TLV_TAG_STRUCT_ROAM_11R_OFFLOAD_TLV_PARAM,
  853. WMI_TLV_TAG_STRUCT_ROAM_ESE_OFFLOAD_TLV_PARAM,
  854. WMI_TLV_TAG_STRUCT_ROAM_SYNCH_EVENT,
  855. WMI_TLV_TAG_STRUCT_ROAM_SYNCH_COMPLETE,
  856. WMI_TLV_TAG_STRUCT_EXTWOW_ENABLE_CMD,
  857. WMI_TLV_TAG_STRUCT_EXTWOW_SET_APP_TYPE1_PARAMS_CMD,
  858. WMI_TLV_TAG_STRUCT_EXTWOW_SET_APP_TYPE2_PARAMS_CMD,
  859. WMI_TLV_TAG_STRUCT_LPI_STATUS_EVENT,
  860. WMI_TLV_TAG_STRUCT_LPI_HANDOFF_EVENT,
  861. WMI_TLV_TAG_STRUCT_VDEV_RATE_STATS_EVENT,
  862. WMI_TLV_TAG_STRUCT_VDEV_RATE_HT_INFO,
  863. WMI_TLV_TAG_STRUCT_RIC_REQUEST,
  864. WMI_TLV_TAG_STRUCT_PDEV_GET_TEMPERATURE_CMD,
  865. WMI_TLV_TAG_STRUCT_PDEV_TEMPERATURE_EVENT,
  866. WMI_TLV_TAG_STRUCT_SET_DHCP_SERVER_OFFLOAD_CMD,
  867. WMI_TLV_TAG_STRUCT_TPC_CHAINMASK_CONFIG_CMD,
  868. WMI_TLV_TAG_STRUCT_RIC_TSPEC,
  869. WMI_TLV_TAG_STRUCT_TPC_CHAINMASK_CONFIG,
  870. WMI_TLV_TAG_STRUCT_IPA_OFFLOAD_CMD,
  871. WMI_TLV_TAG_STRUCT_SCAN_PROB_REQ_OUI_CMD,
  872. WMI_TLV_TAG_STRUCT_KEY_MATERIAL,
  873. WMI_TLV_TAG_STRUCT_TDLS_SET_OFFCHAN_MODE_CMD,
  874. WMI_TLV_TAG_STRUCT_SET_LED_FLASHING_CMD,
  875. WMI_TLV_TAG_STRUCT_MDNS_OFFLOAD_CMD,
  876. WMI_TLV_TAG_STRUCT_MDNS_SET_FQDN_CMD,
  877. WMI_TLV_TAG_STRUCT_MDNS_SET_RESP_CMD,
  878. WMI_TLV_TAG_STRUCT_MDNS_GET_STATS_CMD,
  879. WMI_TLV_TAG_STRUCT_MDNS_STATS_EVENT,
  880. WMI_TLV_TAG_STRUCT_ROAM_INVOKE_CMD,
  881. WMI_TLV_TAG_STRUCT_PDEV_RESUME_EVENT,
  882. WMI_TLV_TAG_STRUCT_PDEV_SET_ANTENNA_DIVERSITY_CMD,
  883. WMI_TLV_TAG_STRUCT_SAP_OFL_ENABLE_CMD,
  884. WMI_TLV_TAG_STRUCT_SAP_OFL_ADD_STA_EVENT,
  885. WMI_TLV_TAG_STRUCT_SAP_OFL_DEL_STA_EVENT,
  886. WMI_TLV_TAG_STRUCT_APFIND_CMD_PARAM,
  887. WMI_TLV_TAG_STRUCT_APFIND_EVENT_HDR,
  888. WMI_TLV_TAG_STRUCT_OCB_SET_SCHED_CMD,
  889. WMI_TLV_TAG_STRUCT_OCB_SET_SCHED_EVENT,
  890. WMI_TLV_TAG_STRUCT_OCB_SET_CONFIG_CMD,
  891. WMI_TLV_TAG_STRUCT_OCB_SET_CONFIG_RESP_EVENT,
  892. WMI_TLV_TAG_STRUCT_OCB_SET_UTC_TIME_CMD,
  893. WMI_TLV_TAG_STRUCT_OCB_START_TIMING_ADVERT_CMD,
  894. WMI_TLV_TAG_STRUCT_OCB_STOP_TIMING_ADVERT_CMD,
  895. WMI_TLV_TAG_STRUCT_OCB_GET_TSF_TIMER_CMD,
  896. WMI_TLV_TAG_STRUCT_OCB_GET_TSF_TIMER_RESP_EVENT,
  897. WMI_TLV_TAG_STRUCT_DCC_GET_STATS_CMD,
  898. WMI_TLV_TAG_STRUCT_DCC_CHANNEL_STATS_REQUEST,
  899. WMI_TLV_TAG_STRUCT_DCC_GET_STATS_RESP_EVENT,
  900. WMI_TLV_TAG_STRUCT_DCC_CLEAR_STATS_CMD,
  901. WMI_TLV_TAG_STRUCT_DCC_UPDATE_NDL_CMD,
  902. WMI_TLV_TAG_STRUCT_DCC_UPDATE_NDL_RESP_EVENT,
  903. WMI_TLV_TAG_STRUCT_DCC_STATS_EVENT,
  904. WMI_TLV_TAG_STRUCT_OCB_CHANNEL,
  905. WMI_TLV_TAG_STRUCT_OCB_SCHEDULE_ELEMENT,
  906. WMI_TLV_TAG_STRUCT_DCC_NDL_STATS_PER_CHANNEL,
  907. WMI_TLV_TAG_STRUCT_DCC_NDL_CHAN,
  908. WMI_TLV_TAG_STRUCT_QOS_PARAMETER,
  909. WMI_TLV_TAG_STRUCT_DCC_NDL_ACTIVE_STATE_CONFIG,
  910. WMI_TLV_TAG_STRUCT_ROAM_SCAN_EXTENDED_THRESHOLD_PARAM,
  911. WMI_TLV_TAG_STRUCT_ROAM_FILTER_FIXED_PARAM,
  912. WMI_TLV_TAG_STRUCT_PASSPOINT_CONFIG_CMD,
  913. WMI_TLV_TAG_STRUCT_PASSPOINT_EVENT_HDR,
  914. WMI_TLV_TAG_STRUCT_EXTSCAN_CONFIGURE_HOTLIST_SSID_MONITOR_CMD,
  915. WMI_TLV_TAG_STRUCT_EXTSCAN_HOTLIST_SSID_MATCH_EVENT,
  916. WMI_TLV_TAG_STRUCT_VDEV_TSF_TSTAMP_ACTION_CMD,
  917. WMI_TLV_TAG_STRUCT_VDEV_TSF_REPORT_EVENT,
  918. WMI_TLV_TAG_STRUCT_GET_FW_MEM_DUMP,
  919. WMI_TLV_TAG_STRUCT_UPDATE_FW_MEM_DUMP,
  920. WMI_TLV_TAG_STRUCT_FW_MEM_DUMP_PARAMS,
  921. WMI_TLV_TAG_STRUCT_DEBUG_MESG_FLUSH,
  922. WMI_TLV_TAG_STRUCT_DEBUG_MESG_FLUSH_COMPLETE,
  923. WMI_TLV_TAG_STRUCT_PEER_SET_RATE_REPORT_CONDITION,
  924. WMI_TLV_TAG_STRUCT_ROAM_SUBNET_CHANGE_CONFIG,
  925. WMI_TLV_TAG_STRUCT_VDEV_SET_IE_CMD,
  926. WMI_TLV_TAG_STRUCT_RSSI_BREACH_MONITOR_CONFIG,
  927. WMI_TLV_TAG_STRUCT_RSSI_BREACH_EVENT,
  928. WMI_TLV_TAG_STRUCT_EVENT_INITIAL_WAKEUP,
  929. WMI_TLV_TAG_STRUCT_SOC_SET_PCL_CMD,
  930. WMI_TLV_TAG_STRUCT_SOC_SET_HW_MODE_CMD,
  931. WMI_TLV_TAG_STRUCT_SOC_SET_HW_MODE_RESPONSE_EVENT,
  932. WMI_TLV_TAG_STRUCT_SOC_HW_MODE_TRANSITION_EVENT,
  933. WMI_TLV_TAG_STRUCT_VDEV_TXRX_STREAMS,
  934. WMI_TLV_TAG_STRUCT_SOC_SET_HW_MODE_RESPONSE_VDEV_MAC_ENTRY,
  935. WMI_TLV_TAG_STRUCT_SOC_SET_DUAL_MAC_CONFIG_CMD,
  936. WMI_TLV_TAG_STRUCT_SOC_SET_DUAL_MAC_CONFIG_RESPONSE_EVENT,
  937. WMI_TLV_TAG_STRUCT_IOAC_SOCK_PATTERN_T,
  938. WMI_TLV_TAG_STRUCT_WOW_ENABLE_ICMPV6_NA_FLT_CMD,
  939. WMI_TLV_TAG_STRUCT_DIAG_EVENT_LOG_CONFIG,
  940. WMI_TLV_TAG_STRUCT_DIAG_EVENT_LOG_SUPPORTED_EVENT,
  941. WMI_TLV_TAG_STRUCT_PACKET_FILTER_CONFIG,
  942. WMI_TLV_TAG_STRUCT_PACKET_FILTER_ENABLE,
  943. WMI_TLV_TAG_STRUCT_SAP_SET_BLACKLIST_PARAM_CMD,
  944. WMI_TLV_TAG_STRUCT_MGMT_TX_CMD,
  945. WMI_TLV_TAG_STRUCT_MGMT_TX_COMPL_EVENT,
  946. WMI_TLV_TAG_STRUCT_SOC_SET_ANTENNA_MODE_CMD,
  947. WMI_TLV_TAG_STRUCT_WOW_UDP_SVC_OFLD_CMD,
  948. WMI_TLV_TAG_STRUCT_LRO_INFO_CMD,
  949. WMI_TLV_TAG_STRUCT_ROAM_EARLYSTOP_RSSI_THRES_PARAM,
  950. WMI_TLV_TAG_STRUCT_SERVICE_READY_EXT_EVENT,
  951. WMI_TLV_TAG_STRUCT_MAWC_SENSOR_REPORT_IND_CMD,
  952. WMI_TLV_TAG_STRUCT_MAWC_ENABLE_SENSOR_EVENT,
  953. WMI_TLV_TAG_STRUCT_ROAM_CONFIGURE_MAWC_CMD,
  954. WMI_TLV_TAG_STRUCT_NLO_CONFIGURE_MAWC_CMD,
  955. WMI_TLV_TAG_STRUCT_EXTSCAN_CONFIGURE_MAWC_CMD,
  956. WMI_TLV_TAG_STRUCT_PEER_ASSOC_CONF_EVENT,
  957. WMI_TLV_TAG_STRUCT_WOW_HOSTWAKEUP_GPIO_PIN_PATTERN_CONFIG_CMD,
  958. WMI_TLV_TAG_STRUCT_AP_PS_EGAP_PARAM_CMD,
  959. WMI_TLV_TAG_STRUCT_AP_PS_EGAP_INFO_EVENT,
  960. WMI_TLV_TAG_STRUCT_PMF_OFFLOAD_SET_SA_QUERY_CMD,
  961. WMI_TLV_TAG_STRUCT_TRANSFER_DATA_TO_FLASH_CMD,
  962. WMI_TLV_TAG_STRUCT_TRANSFER_DATA_TO_FLASH_COMPLETE_EVENT,
  963. WMI_TLV_TAG_STRUCT_SCPC_EVENT,
  964. WMI_TLV_TAG_STRUCT_AP_PS_EGAP_INFO_CHAINMASK_LIST,
  965. WMI_TLV_TAG_STRUCT_STA_SMPS_FORCE_MODE_COMPLETE_EVENT,
  966. WMI_TLV_TAG_STRUCT_BPF_GET_CAPABILITY_CMD,
  967. WMI_TLV_TAG_STRUCT_BPF_CAPABILITY_INFO_EVT,
  968. WMI_TLV_TAG_STRUCT_BPF_GET_VDEV_STATS_CMD,
  969. WMI_TLV_TAG_STRUCT_BPF_VDEV_STATS_INFO_EVT,
  970. WMI_TLV_TAG_STRUCT_BPF_SET_VDEV_INSTRUCTIONS_CMD,
  971. WMI_TLV_TAG_STRUCT_BPF_DEL_VDEV_INSTRUCTIONS_CMD,
  972. WMI_TLV_TAG_STRUCT_VDEV_DELETE_RESP_EVENT,
  973. WMI_TLV_TAG_STRUCT_PEER_DELETE_RESP_EVENT,
  974. WMI_TLV_TAG_STRUCT_ROAM_DENSE_THRES_PARAM,
  975. WMI_TLV_TAG_STRUCT_ENLO_CANDIDATE_SCORE_PARAM,
  976. WMI_TLV_TAG_STRUCT_PEER_UPDATE_WDS_ENTRY_CMD,
  977. WMI_TLV_TAG_STRUCT_VDEV_CONFIG_RATEMASK,
  978. WMI_TLV_TAG_STRUCT_PDEV_FIPS_CMD,
  979. WMI_TLV_TAG_STRUCT_PDEV_SMART_ANT_ENABLE_CMD,
  980. WMI_TLV_TAG_STRUCT_PDEV_SMART_ANT_SET_RX_ANTENNA_CMD,
  981. WMI_TLV_TAG_STRUCT_PEER_SMART_ANT_SET_TX_ANTENNA_CMD,
  982. WMI_TLV_TAG_STRUCT_PEER_SMART_ANT_SET_TRAIN_ANTENNA_CMD,
  983. WMI_TLV_TAG_STRUCT_PEER_SMART_ANT_SET_NODE_CONFIG_OPS_CMD,
  984. WMI_TLV_TAG_STRUCT_PDEV_SET_ANT_SWITCH_TBL_CMD,
  985. WMI_TLV_TAG_STRUCT_PDEV_SET_CTL_TABLE_CMD,
  986. WMI_TLV_TAG_STRUCT_PDEV_SET_MIMOGAIN_TABLE_CMD,
  987. WMI_TLV_TAG_STRUCT_FWTEST_SET_PARAM_CMD,
  988. WMI_TLV_TAG_STRUCT_PEER_ATF_REQUEST,
  989. WMI_TLV_TAG_STRUCT_VDEV_ATF_REQUEST,
  990. WMI_TLV_TAG_STRUCT_PDEV_GET_ANI_CCK_CONFIG_CMD,
  991. WMI_TLV_TAG_STRUCT_PDEV_GET_ANI_OFDM_CONFIG_CMD,
  992. WMI_TLV_TAG_STRUCT_INST_RSSI_STATS_RESP,
  993. WMI_TLV_TAG_STRUCT_MED_UTIL_REPORT_EVENT,
  994. WMI_TLV_TAG_STRUCT_PEER_STA_PS_STATECHANGE_EVENT,
  995. WMI_TLV_TAG_STRUCT_WDS_ADDR_EVENT,
  996. WMI_TLV_TAG_STRUCT_PEER_RATECODE_LIST_EVENT,
  997. WMI_TLV_TAG_STRUCT_PDEV_NFCAL_POWER_ALL_CHANNELS_EVENT,
  998. WMI_TLV_TAG_STRUCT_PDEV_TPC_EVENT,
  999. WMI_TLV_TAG_STRUCT_ANI_OFDM_EVENT,
  1000. WMI_TLV_TAG_STRUCT_ANI_CCK_EVENT,
  1001. WMI_TLV_TAG_STRUCT_PDEV_CHANNEL_HOPPING_EVENT,
  1002. WMI_TLV_TAG_STRUCT_PDEV_FIPS_EVENT,
  1003. WMI_TLV_TAG_STRUCT_ATF_PEER_INFO,
  1004. WMI_TLV_TAG_STRUCT_PDEV_GET_TPC_CMD,
  1005. WMI_TLV_TAG_STRUCT_VDEV_FILTER_NRP_CONFIG_CMD,
  1006. WMI_TLV_TAG_STRUCT_QBOOST_CFG_CMD,
  1007. WMI_TLV_TAG_STRUCT_PDEV_SMART_ANT_GPIO_HANDLE,
  1008. WMI_TLV_TAG_STRUCT_PEER_SMART_ANT_SET_TX_ANTENNA_SERIES,
  1009. WMI_TLV_TAG_STRUCT_PEER_SMART_ANT_SET_TRAIN_ANTENNA_PARAM,
  1010. WMI_TLV_TAG_STRUCT_PDEV_SET_ANT_CTRL_CHAIN,
  1011. WMI_TLV_TAG_STRUCT_PEER_CCK_OFDM_RATE_INFO,
  1012. WMI_TLV_TAG_STRUCT_PEER_MCS_RATE_INFO,
  1013. WMI_TLV_TAG_STRUCT_PDEV_NFCAL_POWER_ALL_CHANNELS_NFDBR,
  1014. WMI_TLV_TAG_STRUCT_PDEV_NFCAL_POWER_ALL_CHANNELS_NFDBM,
  1015. WMI_TLV_TAG_STRUCT_PDEV_NFCAL_POWER_ALL_CHANNELS_FREQNUM,
  1016. WMI_TLV_TAG_STRUCT_MU_REPORT_TOTAL_MU,
  1017. WMI_TLV_TAG_STRUCT_VDEV_SET_DSCP_TID_MAP_CMD,
  1018. WMI_TLV_TAG_STRUCT_ROAM_SET_MBO,
  1019. WMI_TLV_TAG_STRUCT_MIB_STATS_ENABLE_CMD,
  1020. WMI_TLV_TAG_STRUCT_NAN_DISC_IFACE_CREATED_EVENT,
  1021. WMI_TLV_TAG_STRUCT_NAN_DISC_IFACE_DELETED_EVENT,
  1022. WMI_TLV_TAG_STRUCT_NAN_STARTED_CLUSTER_EVENT,
  1023. WMI_TLV_TAG_STRUCT_NAN_JOINED_CLUSTER_EVENT,
  1024. WMI_TLV_TAG_STRUCT_NDI_GET_CAP_REQ,
  1025. WMI_TLV_TAG_STRUCT_NDP_INITIATOR_REQ,
  1026. WMI_TLV_TAG_STRUCT_NDP_RESPONDER_REQ,
  1027. WMI_TLV_TAG_STRUCT_NDP_END_REQ,
  1028. WMI_TLV_TAG_STRUCT_NDI_CAP_RSP_EVENT,
  1029. WMI_TLV_TAG_STRUCT_NDP_INITIATOR_RSP_EVENT,
  1030. WMI_TLV_TAG_STRUCT_NDP_RESPONDER_RSP_EVENT,
  1031. WMI_TLV_TAG_STRUCT_NDP_END_RSP_EVENT,
  1032. WMI_TLV_TAG_STRUCT_NDP_INDICATION_EVENT,
  1033. WMI_TLV_TAG_STRUCT_NDP_CONFIRM_EVENT,
  1034. WMI_TLV_TAG_STRUCT_NDP_END_INDICATION_EVENT,
  1035. WMI_TLV_TAG_STRUCT_VDEV_SET_QUIET_CMD,
  1036. WMI_TLV_TAG_STRUCT_PDEV_SET_PCL_CMD,
  1037. WMI_TLV_TAG_STRUCT_PDEV_SET_HW_MODE_CMD,
  1038. WMI_TLV_TAG_STRUCT_PDEV_SET_MAC_CONFIG_CMD,
  1039. WMI_TLV_TAG_STRUCT_PDEV_SET_ANTENNA_MODE_CMD,
  1040. WMI_TLV_TAG_STRUCT_PDEV_SET_HW_MODE_RESPONSE_EVENT,
  1041. WMI_TLV_TAG_STRUCT_PDEV_HW_MODE_TRANSITION_EVENT,
  1042. WMI_TLV_TAG_STRUCT_PDEV_SET_HW_MODE_RESPONSE_VDEV_MAC_ENTRY,
  1043. WMI_TLV_TAG_STRUCT_PDEV_SET_MAC_CONFIG_RESPONSE_EVENT,
  1044. WMI_TLV_TAG_STRUCT_COEX_CONFIG_CMD,
  1045. WMI_TLV_TAG_STRUCT_CONFIG_ENHANCED_MCAST_FILTER,
  1046. WMI_TLV_TAG_STRUCT_CHAN_AVOID_RPT_ALLOW_CMD,
  1047. WMI_TLV_TAG_STRUCT_SET_PERIODIC_CHANNEL_STATS_CONFIG,
  1048. WMI_TLV_TAG_STRUCT_VDEV_SET_CUSTOM_AGGR_SIZE_CMD,
  1049. WMI_TLV_TAG_STRUCT_PDEV_WAL_POWER_DEBUG_CMD,
  1050. WMI_TLV_TAG_STRUCT_MAC_PHY_CAPABILITIES,
  1051. WMI_TLV_TAG_STRUCT_HW_MODE_CAPABILITIES,
  1052. WMI_TLV_TAG_STRUCT_SOC_MAC_PHY_HW_MODE_CAPS,
  1053. WMI_TLV_TAG_STRUCT_HAL_REG_CAPABILITIES_EXT,
  1054. WMI_TLV_TAG_STRUCT_SOC_HAL_REG_CAPABILITIES,
  1055. WMI_TLV_TAG_STRUCT_VDEV_WISA_CMD,
  1056. WMI_TLV_TAG_STRUCT_TX_POWER_LEVEL_STATS_EVT,
  1057. WMI_TLV_TAG_STRUCT_SCAN_ADAPTIVE_DWELL_PARAMETERS_TLV,
  1058. WMI_TLV_TAG_STRUCT_SCAN_ADAPTIVE_DWELL_CONFIG,
  1059. WMI_TLV_TAG_STRUCT_WOW_SET_ACTION_WAKE_UP_CMD,
  1060. WMI_TLV_TAG_STRUCT_NDP_END_RSP_PER_NDI,
  1061. WMI_TLV_TAG_STRUCT_PEER_BWF_REQUEST,
  1062. WMI_TLV_TAG_STRUCT_BWF_PEER_INFO,
  1063. WMI_TLV_TAG_STRUCT_DBGLOG_TIME_STAMP_SYNC_CMD,
  1064. WMI_TLV_TAG_STRUCT_RMC_SET_LEADER_CMD,
  1065. WMI_TLV_TAG_STRUCT_RMC_MANUAL_LEADER_EVENT,
  1066. WMI_TLV_TAG_STRUCT_PER_CHAIN_RSSI_STATS,
  1067. WMI_TLV_TAG_STRUCT_RSSI_STATS,
  1068. WMI_TLV_TAG_STRUCT_P2P_LO_START_CMD,
  1069. WMI_TLV_TAG_STRUCT_P2P_LO_STOP_CMD,
  1070. WMI_TLV_TAG_STRUCT_P2P_LO_STOPPED_EVENT,
  1071. WMI_TLV_TAG_STRUCT_PEER_REORDER_QUEUE_SETUP_CMD,
  1072. WMI_TLV_TAG_STRUCT_PEER_REORDER_QUEUE_REMOVE_CMD,
  1073. WMI_TLV_TAG_STRUCT_SET_MULTIPLE_MCAST_FILTER_CMD,
  1074. WMI_TLV_TAG_STRUCT_MGMT_TX_COMPL_BUNDLE_EVENT,
  1075. WMI_TLV_TAG_STRUCT_READ_DATA_FROM_FLASH_CMD,
  1076. WMI_TLV_TAG_STRUCT_READ_DATA_FROM_FLASH_EVENT,
  1077. WMI_TLV_TAG_STRUCT_PDEV_SET_REORDER_TIMEOUT_VAL_CMD,
  1078. WMI_TLV_TAG_STRUCT_PEER_SET_RX_BLOCKSIZE_CMD,
  1079. WMI_TLV_TAG_STRUCT_PDEV_SET_WAKEUP_CONFIG_CMDID,
  1080. WMI_TLV_TAG_STRUCT_TLV_BUF_LEN_PARAM,
  1081. WMI_TLV_TAG_STRUCT_SERVICE_AVAILABLE_EVENT,
  1082. WMI_TLV_TAG_STRUCT_PEER_ANTDIV_INFO_REQ_CMD,
  1083. WMI_TLV_TAG_STRUCT_PEER_ANTDIV_INFO_EVENT,
  1084. WMI_TLV_TAG_STRUCT_PEER_ANTDIV_INFO,
  1085. WMI_TLV_TAG_STRUCT_PDEV_GET_ANTDIV_STATUS_CMD,
  1086. WMI_TLV_TAG_STRUCT_PDEV_ANTDIV_STATUS_EVENT,
  1087. WMI_TLV_TAG_STRUCT_MNT_FILTER_CMD,
  1088. WMI_TLV_TAG_STRUCT_GET_CHIP_POWER_STATS_CMD,
  1089. WMI_TLV_TAG_STRUCT_PDEV_CHIP_POWER_STATS_EVENT,
  1090. WMI_TLV_TAG_STRUCT_COEX_GET_ANTENNA_ISOLATION_CMD,
  1091. WMI_TLV_TAG_STRUCT_COEX_REPORT_ISOLATION_EVENT,
  1092. WMI_TLV_TAG_STRUCT_CHAN_CCA_STATS,
  1093. WMI_TLV_TAG_STRUCT_PEER_SIGNAL_STATS,
  1094. WMI_TLV_TAG_STRUCT_TX_STATS,
  1095. WMI_TLV_TAG_STRUCT_PEER_AC_TX_STATS,
  1096. WMI_TLV_TAG_STRUCT_RX_STATS,
  1097. WMI_TLV_TAG_STRUCT_PEER_AC_RX_STATS,
  1098. WMI_TLV_TAG_STRUCT_REPORT_STATS_EVENT,
  1099. WMI_TLV_TAG_STRUCT_CHAN_CCA_STATS_THRESH,
  1100. WMI_TLV_TAG_STRUCT_PEER_SIGNAL_STATS_THRESH,
  1101. WMI_TLV_TAG_STRUCT_TX_STATS_THRESH,
  1102. WMI_TLV_TAG_STRUCT_RX_STATS_THRESH,
  1103. WMI_TLV_TAG_STRUCT_PDEV_SET_STATS_THRESHOLD_CMD,
  1104. WMI_TLV_TAG_STRUCT_REQUEST_WLAN_STATS_CMD,
  1105. WMI_TLV_TAG_STRUCT_RX_AGGR_FAILURE_EVENT,
  1106. WMI_TLV_TAG_STRUCT_RX_AGGR_FAILURE_INFO,
  1107. WMI_TLV_TAG_STRUCT_VDEV_ENCRYPT_DECRYPT_DATA_REQ_CMD,
  1108. WMI_TLV_TAG_STRUCT_VDEV_ENCRYPT_DECRYPT_DATA_RESP_EVENT,
  1109. WMI_TLV_TAG_STRUCT_PDEV_BAND_TO_MAC,
  1110. WMI_TLV_TAG_STRUCT_TBTT_OFFSET_INFO,
  1111. WMI_TLV_TAG_STRUCT_TBTT_OFFSET_EXT_EVENT,
  1112. WMI_TLV_TAG_STRUCT_SAR_LIMITS_CMD,
  1113. WMI_TLV_TAG_STRUCT_SAR_LIMIT_CMD_ROW,
  1114. WMI_TLV_TAG_STRUCT_PDEV_DFS_PHYERR_OFFLOAD_ENABLE_CMD,
  1115. WMI_TLV_TAG_STRUCT_PDEV_DFS_PHYERR_OFFLOAD_DISABLE_CMD,
  1116. WMI_TLV_TAG_STRUCT_VDEV_ADFS_CH_CFG_CMD,
  1117. WMI_TLV_TAG_STRUCT_VDEV_ADFS_OCAC_ABORT_CMD,
  1118. WMI_TLV_TAG_STRUCT_PDEV_DFS_RADAR_DETECTION_EVENT,
  1119. WMI_TLV_TAG_STRUCT_VDEV_ADFS_OCAC_COMPLETE_EVENT,
  1120. WMI_TLV_TAG_STRUCT_VDEV_DFS_CAC_COMPLETE_EVENT,
  1121. WMI_TLV_TAG_STRUCT_VENDOR_OUI,
  1122. WMI_TLV_TAG_STRUCT_REQUEST_RCPI_CMD,
  1123. WMI_TLV_TAG_STRUCT_UPDATE_RCPI_EVENT,
  1124. WMI_TLV_TAG_STRUCT_REQUEST_PEER_STATS_INFO_CMD,
  1125. WMI_TLV_TAG_STRUCT_PEER_STATS_INFO,
  1126. WMI_TLV_TAG_STRUCT_PEER_STATS_INFO_EVENT,
  1127. WMI_TLV_TAG_STRUCT_PKGID_EVENT,
  1128. WMI_TLV_TAG_STRUCT_CONNECTED_NLO_RSSI_PARAMS,
  1129. WMI_TLV_TAG_STRUCT_SET_CURRENT_COUNTRY_CMD,
  1130. WMI_TLV_TAG_STRUCT_REGULATORY_RULE_STRUCT,
  1131. WMI_TLV_TAG_STRUCT_REG_CHAN_LIST_CC_EVENT,
  1132. WMI_TLV_TAG_STRUCT_11D_SCAN_START_CMD,
  1133. WMI_TLV_TAG_STRUCT_11D_SCAN_STOP_CMD,
  1134. WMI_TLV_TAG_STRUCT_11D_NEW_COUNTRY_EVENT,
  1135. WMI_TLV_TAG_STRUCT_REQUEST_RADIO_CHAN_STATS_CMD,
  1136. WMI_TLV_TAG_STRUCT_RADIO_CHAN_STATS,
  1137. WMI_TLV_TAG_STRUCT_RADIO_CHAN_STATS_EVENT,
  1138. WMI_TLV_TAG_STRUCT_ROAM_PER_CONFIG,
  1139. WMI_TLV_TAG_STRUCT_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_CMD,
  1140. WMI_TLV_TAG_STRUCT_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_STATUS_EVENT,
  1141. WMI_TLV_TAG_STRUCT_BPF_SET_VDEV_ACTIVE_MODE_CMD,
  1142. WMI_TLV_TAG_STRUCT_HW_DATA_FILTER_CMD,
  1143. WMI_TLV_TAG_STRUCT_CONNECTED_NLO_BSS_BAND_RSSI_PREF,
  1144. WMI_TLV_TAG_STRUCT_PEER_OPER_MODE_CHANGE_EVENT,
  1145. WMI_TLV_TAG_STRUCT_CHIP_POWER_SAVE_FAILURE_DETECTED,
  1146. WMI_TLV_TAG_STRUCT_PDEV_MULTIPLE_VDEV_RESTART_REQUEST_CMD,
  1147. WMI_TLV_TAG_STRUCT_PDEV_CSA_SWITCH_COUNT_STATUS_EVENT,
  1148. WMI_TLV_TAG_STRUCT_PDEV_UPDATE_PKT_ROUTING_CMD,
  1149. WMI_TLV_TAG_STRUCT_PDEV_CHECK_CAL_VERSION_CMD,
  1150. WMI_TLV_TAG_STRUCT_PDEV_CHECK_CAL_VERSION_EVENT,
  1151. WMI_TLV_TAG_STRUCT_PDEV_SET_DIVERSITY_GAIN_CMD,
  1152. WMI_TLV_TAG_STRUCT_MAC_PHY_CHAINMASK_COMBO,
  1153. WMI_TLV_TAG_STRUCT_MAC_PHY_CHAINMASK_CAPABILITY,
  1154. WMI_TLV_TAG_STRUCT_VDEV_SET_ARP_STATS_CMD,
  1155. WMI_TLV_TAG_STRUCT_VDEV_GET_ARP_STATS_CMD,
  1156. WMI_TLV_TAG_STRUCT_VDEV_GET_ARP_STATS_EVENT,
  1157. WMI_TLV_TAG_STRUCT_IFACE_OFFLOAD_STATS,
  1158. WMI_TLV_TAG_STRUCT_REQUEST_STATS_CMD_SUB_STRUCT_PARAM,
  1159. WMI_TLV_TAG_STRUCT_RSSI_CTL_EXT,
  1160. WMI_TLV_TAG_STRUCT_SINGLE_PHYERR_EXT_RX_HDR,
  1161. WMI_TLV_TAG_STRUCT_COEX_BT_ACTIVITY_EVENT,
  1162. WMI_TLV_TAG_STRUCT_VDEV_GET_TX_POWER_CMD,
  1163. WMI_TLV_TAG_STRUCT_VDEV_TX_POWER_EVENT,
  1164. WMI_TLV_TAG_STRUCT_OFFCHAN_DATA_TX_COMPL_EVENT,
  1165. WMI_TLV_TAG_STRUCT_OFFCHAN_DATA_TX_SEND_CMD,
  1166. WMI_TLV_TAG_STRUCT_TX_SEND_PARAMS,
  1167. WMI_TLV_TAG_STRUCT_HE_RATE_SET,
  1168. WMI_TLV_TAG_STRUCT_CONGESTION_STATS,
  1169. WMI_TLV_TAG_STRUCT_SET_INIT_COUNTRY_CMD,
  1170. WMI_TLV_TAG_STRUCT_SCAN_DBS_DUTY_CYCLE,
  1171. WMI_TLV_TAG_STRUCT_SCAN_DBS_DUTY_CYCLE_PARAM_TLV,
  1172. WMI_TLV_TAG_STRUCT_PDEV_DIV_GET_RSSI_ANTID,
  1173. WMI_TLV_TAG_STRUCT_THERM_THROT_CONFIG_REQUEST,
  1174. WMI_TLV_TAG_STRUCT_THERM_THROT_LEVEL_CONFIG_INFO,
  1175. WMI_TLV_TAG_STRUCT_THERM_THROT_STATS_EVENT,
  1176. WMI_TLV_TAG_STRUCT_THERM_THROT_LEVEL_STATS_INFO,
  1177. WMI_TLV_TAG_STRUCT_PDEV_DIV_RSSI_ANTID_EVENT,
  1178. WMI_TLV_TAG_STRUCT_OEM_DMA_RING_CAPABILITIES,
  1179. WMI_TLV_TAG_STRUCT_OEM_DMA_RING_CFG_REQ,
  1180. WMI_TLV_TAG_STRUCT_OEM_DMA_RING_CFG_RSP,
  1181. WMI_TLV_TAG_STRUCT_OEM_INDIRECT_DATA,
  1182. WMI_TLV_TAG_STRUCT_OEM_DMA_BUF_RELEASE,
  1183. WMI_TLV_TAG_STRUCT_OEM_DMA_BUF_RELEASE_ENTRY,
  1184. WMI_TLV_TAG_STRUCT_PDEV_BSS_CHAN_INFO_REQUEST,
  1185. WMI_TLV_TAG_STRUCT_PDEV_BSS_CHAN_INFO_EVENT,
  1186. WMI_TLV_TAG_STRUCT_ROAM_LCA_DISALLOW_CONFIG_TLV_PARAM,
  1187. WMI_TLV_TAG_STRUCT_VDEV_LIMIT_OFFCHAN_CMD,
  1188. WMI_TLV_TAG_STRUCT_ROAM_RSSI_REJECTION_OCE_CONFIG_PARAM,
  1189. WMI_TLV_TAG_STRUCT_UNIT_TEST_EVENT,
  1190. WMI_TLV_TAG_STRUCT_ROAM_FILS_OFFLOAD_TLV_PARAM,
  1191. WMI_TLV_TAG_STRUCT_PDEV_UPDATE_PMK_CACHE_CMD,
  1192. WMI_TLV_TAG_STRUCT_PMK_CACHE,
  1193. WMI_TLV_TAG_STRUCT_PDEV_UPDATE_FILS_HLP_PKT_CMD,
  1194. WMI_TLV_TAG_STRUCT_ROAM_FILS_SYNCH_TLV_PARAM,
  1195. WMI_TLV_TAG_STRUCT_GTK_OFFLOAD_EXTENDED_TLV_PARAM,
  1196. WMI_TLV_TAG_STRUCT_ROAM_BG_SCAN_ROAMING_PARAM,
  1197. WMI_TLV_TAG_STRUCT_OIC_PING_OFFLOAD_PARAMS_CMD,
  1198. WMI_TLV_TAG_STRUCT_OIC_PING_OFFLOAD_SET_ENABLE_CMD,
  1199. WMI_TLV_TAG_STRUCT_OIC_PING_HANDOFF_EVENT,
  1200. WMI_TLV_TAG_STRUCT_DHCP_LEASE_RENEW_OFFLOAD_CMD,
  1201. WMI_TLV_TAG_STRUCT_DHCP_LEASE_RENEW_EVENT,
  1202. WMI_TLV_TAG_STRUCT_BTM_CONFIG,
  1203. WMI_TLV_TAG_STRUCT_DEBUG_MESG_FW_DATA_STALL_PARAM,
  1204. WMI_TLV_TAG_STRUCT_WLM_CONFIG_CMD,
  1205. WMI_TLV_TAG_STRUCT_PDEV_UPDATE_CTLTABLE_REQUEST,
  1206. WMI_TLV_TAG_STRUCT_PDEV_UPDATE_CTLTABLE_EVENT,
  1207. WMI_TLV_TAG_STRUCT_ROAM_CND_SCORING_PARAM,
  1208. WMI_TLV_TAG_STRUCT_PDEV_CONFIG_VENDOR_OUI_ACTION,
  1209. WMI_TLV_TAG_STRUCT_VENDOR_OUI_EXT,
  1210. WMI_TLV_TAG_STRUCT_ROAM_SYNCH_FRAME_EVENT,
  1211. WMI_TLV_TAG_STRUCT_FD_SEND_FROM_HOST_CMD,
  1212. WMI_TLV_TAG_STRUCT_ENABLE_FILS_CMD,
  1213. WMI_TLV_TAG_STRUCT_HOST_SWFDA_EVENT,
  1214. WMI_TLV_TAG_MAX
  1215. };
  1216. enum wmi_tlv_service {
  1217. WMI_TLV_SERVICE_BEACON_OFFLOAD = 0,
  1218. WMI_TLV_SERVICE_SCAN_OFFLOAD,
  1219. WMI_TLV_SERVICE_ROAM_SCAN_OFFLOAD,
  1220. WMI_TLV_SERVICE_BCN_MISS_OFFLOAD,
  1221. WMI_TLV_SERVICE_STA_PWRSAVE,
  1222. WMI_TLV_SERVICE_STA_ADVANCED_PWRSAVE,
  1223. WMI_TLV_SERVICE_AP_UAPSD,
  1224. WMI_TLV_SERVICE_AP_DFS,
  1225. WMI_TLV_SERVICE_11AC,
  1226. WMI_TLV_SERVICE_BLOCKACK,
  1227. WMI_TLV_SERVICE_PHYERR,
  1228. WMI_TLV_SERVICE_BCN_FILTER,
  1229. WMI_TLV_SERVICE_RTT,
  1230. WMI_TLV_SERVICE_WOW,
  1231. WMI_TLV_SERVICE_RATECTRL_CACHE,
  1232. WMI_TLV_SERVICE_IRAM_TIDS,
  1233. WMI_TLV_SERVICE_ARPNS_OFFLOAD,
  1234. WMI_TLV_SERVICE_NLO,
  1235. WMI_TLV_SERVICE_GTK_OFFLOAD,
  1236. WMI_TLV_SERVICE_SCAN_SCH,
  1237. WMI_TLV_SERVICE_CSA_OFFLOAD,
  1238. WMI_TLV_SERVICE_CHATTER,
  1239. WMI_TLV_SERVICE_COEX_FREQAVOID,
  1240. WMI_TLV_SERVICE_PACKET_POWER_SAVE,
  1241. WMI_TLV_SERVICE_FORCE_FW_HANG,
  1242. WMI_TLV_SERVICE_GPIO,
  1243. WMI_TLV_SERVICE_STA_DTIM_PS_MODULATED_DTIM,
  1244. WMI_TLV_SERVICE_STA_UAPSD_BASIC_AUTO_TRIG,
  1245. WMI_TLV_SERVICE_STA_UAPSD_VAR_AUTO_TRIG,
  1246. WMI_TLV_SERVICE_STA_KEEP_ALIVE,
  1247. WMI_TLV_SERVICE_TX_ENCAP,
  1248. WMI_TLV_SERVICE_AP_PS_DETECT_OUT_OF_SYNC,
  1249. WMI_TLV_SERVICE_EARLY_RX,
  1250. WMI_TLV_SERVICE_STA_SMPS,
  1251. WMI_TLV_SERVICE_FWTEST,
  1252. WMI_TLV_SERVICE_STA_WMMAC,
  1253. WMI_TLV_SERVICE_TDLS,
  1254. WMI_TLV_SERVICE_BURST,
  1255. WMI_TLV_SERVICE_MCC_BCN_INTERVAL_CHANGE,
  1256. WMI_TLV_SERVICE_ADAPTIVE_OCS,
  1257. WMI_TLV_SERVICE_BA_SSN_SUPPORT,
  1258. WMI_TLV_SERVICE_FILTER_IPSEC_NATKEEPALIVE,
  1259. WMI_TLV_SERVICE_WLAN_HB,
  1260. WMI_TLV_SERVICE_LTE_ANT_SHARE_SUPPORT,
  1261. WMI_TLV_SERVICE_BATCH_SCAN,
  1262. WMI_TLV_SERVICE_QPOWER,
  1263. WMI_TLV_SERVICE_PLMREQ,
  1264. WMI_TLV_SERVICE_THERMAL_MGMT,
  1265. WMI_TLV_SERVICE_RMC,
  1266. WMI_TLV_SERVICE_MHF_OFFLOAD,
  1267. WMI_TLV_SERVICE_COEX_SAR,
  1268. WMI_TLV_SERVICE_BCN_TXRATE_OVERRIDE,
  1269. WMI_TLV_SERVICE_NAN,
  1270. WMI_TLV_SERVICE_L1SS_STAT,
  1271. WMI_TLV_SERVICE_ESTIMATE_LINKSPEED,
  1272. WMI_TLV_SERVICE_OBSS_SCAN,
  1273. WMI_TLV_SERVICE_TDLS_OFFCHAN,
  1274. WMI_TLV_SERVICE_TDLS_UAPSD_BUFFER_STA,
  1275. WMI_TLV_SERVICE_TDLS_UAPSD_SLEEP_STA,
  1276. WMI_TLV_SERVICE_IBSS_PWRSAVE,
  1277. WMI_TLV_SERVICE_LPASS,
  1278. WMI_TLV_SERVICE_EXTSCAN,
  1279. WMI_TLV_SERVICE_D0WOW,
  1280. WMI_TLV_SERVICE_HSOFFLOAD,
  1281. WMI_TLV_SERVICE_ROAM_HO_OFFLOAD,
  1282. WMI_TLV_SERVICE_RX_FULL_REORDER,
  1283. WMI_TLV_SERVICE_DHCP_OFFLOAD,
  1284. WMI_TLV_SERVICE_STA_RX_IPA_OFFLOAD_SUPPORT,
  1285. WMI_TLV_SERVICE_MDNS_OFFLOAD,
  1286. WMI_TLV_SERVICE_SAP_AUTH_OFFLOAD,
  1287. WMI_TLV_SERVICE_DUAL_BAND_SIMULTANEOUS_SUPPORT,
  1288. WMI_TLV_SERVICE_OCB,
  1289. WMI_TLV_SERVICE_AP_ARPNS_OFFLOAD,
  1290. WMI_TLV_SERVICE_PER_BAND_CHAINMASK_SUPPORT,
  1291. WMI_TLV_SERVICE_PACKET_FILTER_OFFLOAD,
  1292. WMI_TLV_SERVICE_MGMT_TX_HTT,
  1293. WMI_TLV_SERVICE_MGMT_TX_WMI,
  1294. WMI_TLV_SERVICE_EXT_MSG,
  1295. WMI_TLV_SERVICE_MAWC,
  1296. WMI_TLV_SERVICE_PEER_ASSOC_CONF,
  1297. WMI_TLV_SERVICE_EGAP,
  1298. WMI_TLV_SERVICE_STA_PMF_OFFLOAD,
  1299. WMI_TLV_SERVICE_UNIFIED_WOW_CAPABILITY,
  1300. WMI_TLV_SERVICE_ENHANCED_PROXY_STA,
  1301. WMI_TLV_SERVICE_ATF,
  1302. WMI_TLV_SERVICE_COEX_GPIO,
  1303. WMI_TLV_SERVICE_AUX_SPECTRAL_INTF,
  1304. WMI_TLV_SERVICE_AUX_CHAN_LOAD_INTF,
  1305. WMI_TLV_SERVICE_BSS_CHANNEL_INFO_64,
  1306. WMI_TLV_SERVICE_ENTERPRISE_MESH,
  1307. WMI_TLV_SERVICE_RESTRT_CHNL_SUPPORT,
  1308. WMI_TLV_SERVICE_BPF_OFFLOAD,
  1309. WMI_TLV_SERVICE_SYNC_DELETE_CMDS,
  1310. WMI_TLV_SERVICE_SMART_ANTENNA_SW_SUPPORT,
  1311. WMI_TLV_SERVICE_SMART_ANTENNA_HW_SUPPORT,
  1312. WMI_TLV_SERVICE_RATECTRL_LIMIT_MAX_MIN_RATES,
  1313. WMI_TLV_SERVICE_NAN_DATA,
  1314. WMI_TLV_SERVICE_NAN_RTT,
  1315. WMI_TLV_SERVICE_11AX,
  1316. WMI_TLV_SERVICE_DEPRECATED_REPLACE,
  1317. WMI_TLV_SERVICE_TDLS_CONN_TRACKER_IN_HOST_MODE,
  1318. WMI_TLV_SERVICE_ENHANCED_MCAST_FILTER,
  1319. WMI_TLV_SERVICE_PERIODIC_CHAN_STAT_SUPPORT,
  1320. WMI_TLV_SERVICE_MESH_11S,
  1321. WMI_TLV_SERVICE_HALF_RATE_QUARTER_RATE_SUPPORT,
  1322. WMI_TLV_SERVICE_VDEV_RX_FILTER,
  1323. WMI_TLV_SERVICE_P2P_LISTEN_OFFLOAD_SUPPORT,
  1324. WMI_TLV_SERVICE_MARK_FIRST_WAKEUP_PACKET,
  1325. WMI_TLV_SERVICE_MULTIPLE_MCAST_FILTER_SET,
  1326. WMI_TLV_SERVICE_HOST_MANAGED_RX_REORDER,
  1327. WMI_TLV_SERVICE_FLASH_RDWR_SUPPORT,
  1328. WMI_TLV_SERVICE_WLAN_STATS_REPORT,
  1329. WMI_TLV_SERVICE_TX_MSDU_ID_NEW_PARTITION_SUPPORT,
  1330. WMI_TLV_SERVICE_DFS_PHYERR_OFFLOAD,
  1331. WMI_TLV_SERVICE_RCPI_SUPPORT,
  1332. WMI_TLV_SERVICE_FW_MEM_DUMP_SUPPORT,
  1333. WMI_TLV_SERVICE_PEER_STATS_INFO,
  1334. WMI_TLV_SERVICE_REGULATORY_DB,
  1335. WMI_TLV_SERVICE_11D_OFFLOAD,
  1336. WMI_TLV_SERVICE_HW_DATA_FILTERING,
  1337. WMI_TLV_SERVICE_MULTIPLE_VDEV_RESTART,
  1338. WMI_TLV_SERVICE_PKT_ROUTING,
  1339. WMI_TLV_SERVICE_CHECK_CAL_VERSION,
  1340. WMI_TLV_SERVICE_OFFCHAN_TX_WMI,
  1341. WMI_TLV_SERVICE_8SS_TX_BFEE,
  1342. WMI_TLV_SERVICE_EXTENDED_NSS_SUPPORT,
  1343. WMI_TLV_SERVICE_ACK_TIMEOUT,
  1344. WMI_TLV_SERVICE_PDEV_BSS_CHANNEL_INFO_64,
  1345. WMI_TLV_MAX_SERVICE = 128,
  1346. /* NOTE:
  1347. * The above service flags are delivered in the wmi_service_bitmap field
  1348. * of the WMI_TLV_SERVICE_READY_EVENT message.
  1349. * The below service flags are delivered in a WMI_TLV_SERVICE_AVAILABLE_EVENT
  1350. * message rather than in the WMI_TLV_SERVICE_READY_EVENT message's
  1351. * wmi_service_bitmap field.
  1352. * The WMI_TLV_SERVICE_AVAILABLE_EVENT message immediately precedes the
  1353. * WMI_TLV_SERVICE_READY_EVENT message.
  1354. */
  1355. WMI_TLV_SERVICE_CHAN_LOAD_INFO = 128,
  1356. WMI_TLV_SERVICE_TX_PPDU_INFO_STATS_SUPPORT,
  1357. WMI_TLV_SERVICE_VDEV_LIMIT_OFFCHAN_SUPPORT,
  1358. WMI_TLV_SERVICE_FILS_SUPPORT,
  1359. WMI_TLV_SERVICE_WLAN_OIC_PING_OFFLOAD,
  1360. WMI_TLV_SERVICE_WLAN_DHCP_RENEW,
  1361. WMI_TLV_SERVICE_MAWC_SUPPORT,
  1362. WMI_TLV_SERVICE_VDEV_LATENCY_CONFIG,
  1363. WMI_TLV_SERVICE_PDEV_UPDATE_CTLTABLE_SUPPORT,
  1364. WMI_TLV_SERVICE_PKTLOG_SUPPORT_OVER_HTT,
  1365. WMI_TLV_SERVICE_VDEV_MULTI_GROUP_KEY_SUPPORT,
  1366. WMI_TLV_SERVICE_SCAN_PHYMODE_SUPPORT,
  1367. WMI_TLV_SERVICE_THERM_THROT,
  1368. WMI_TLV_SERVICE_BCN_OFFLOAD_START_STOP_SUPPORT,
  1369. WMI_TLV_SERVICE_WOW_WAKEUP_BY_TIMER_PATTERN,
  1370. WMI_TLV_SERVICE_PEER_MAP_UNMAP_V2_SUPPORT = 143,
  1371. WMI_TLV_SERVICE_OFFCHAN_DATA_TID_SUPPORT = 144,
  1372. WMI_TLV_SERVICE_RX_PROMISC_ENABLE_SUPPORT = 145,
  1373. WMI_TLV_SERVICE_SUPPORT_DIRECT_DMA = 146,
  1374. WMI_TLV_SERVICE_AP_OBSS_DETECTION_OFFLOAD = 147,
  1375. WMI_TLV_SERVICE_11K_NEIGHBOUR_REPORT_SUPPORT = 148,
  1376. WMI_TLV_SERVICE_LISTEN_INTERVAL_OFFLOAD_SUPPORT = 149,
  1377. WMI_TLV_SERVICE_BSS_COLOR_OFFLOAD = 150,
  1378. WMI_TLV_SERVICE_RUNTIME_DPD_RECAL = 151,
  1379. WMI_TLV_SERVICE_STA_TWT = 152,
  1380. WMI_TLV_SERVICE_AP_TWT = 153,
  1381. WMI_TLV_SERVICE_GMAC_OFFLOAD_SUPPORT = 154,
  1382. WMI_TLV_SERVICE_SPOOF_MAC_SUPPORT = 155,
  1383. WMI_TLV_MAX_EXT_SERVICE = 256,
  1384. };
  1385. #define WMI_TLV_EXT_SERVICE_IS_ENABLED(wmi_svc_bmap, svc_id, len) \
  1386. ((svc_id) < (WMI_TLV_MAX_EXT_SERVICE) && \
  1387. (svc_id) >= (len) && \
  1388. __le32_to_cpu((wmi_svc_bmap)[((svc_id) - (len)) / 32]) & \
  1389. BIT(((((svc_id) - (len)) % 32) & 0x1f)))
  1390. #define SVCMAP(x, y, len) \
  1391. do { \
  1392. if ((WMI_SERVICE_IS_ENABLED((in), (x), (len))) || \
  1393. (WMI_TLV_EXT_SERVICE_IS_ENABLED((in), (x), (len)))) \
  1394. __set_bit(y, out); \
  1395. } while (0)
  1396. static inline void
  1397. wmi_tlv_svc_map(const __le32 *in, unsigned long *out, size_t len)
  1398. {
  1399. SVCMAP(WMI_TLV_SERVICE_BEACON_OFFLOAD,
  1400. WMI_SERVICE_BEACON_OFFLOAD, len);
  1401. SVCMAP(WMI_TLV_SERVICE_SCAN_OFFLOAD,
  1402. WMI_SERVICE_SCAN_OFFLOAD, len);
  1403. SVCMAP(WMI_TLV_SERVICE_ROAM_SCAN_OFFLOAD,
  1404. WMI_SERVICE_ROAM_SCAN_OFFLOAD, len);
  1405. SVCMAP(WMI_TLV_SERVICE_BCN_MISS_OFFLOAD,
  1406. WMI_SERVICE_BCN_MISS_OFFLOAD, len);
  1407. SVCMAP(WMI_TLV_SERVICE_STA_PWRSAVE,
  1408. WMI_SERVICE_STA_PWRSAVE, len);
  1409. SVCMAP(WMI_TLV_SERVICE_STA_ADVANCED_PWRSAVE,
  1410. WMI_SERVICE_STA_ADVANCED_PWRSAVE, len);
  1411. SVCMAP(WMI_TLV_SERVICE_AP_UAPSD,
  1412. WMI_SERVICE_AP_UAPSD, len);
  1413. SVCMAP(WMI_TLV_SERVICE_AP_DFS,
  1414. WMI_SERVICE_AP_DFS, len);
  1415. SVCMAP(WMI_TLV_SERVICE_11AC,
  1416. WMI_SERVICE_11AC, len);
  1417. SVCMAP(WMI_TLV_SERVICE_BLOCKACK,
  1418. WMI_SERVICE_BLOCKACK, len);
  1419. SVCMAP(WMI_TLV_SERVICE_PHYERR,
  1420. WMI_SERVICE_PHYERR, len);
  1421. SVCMAP(WMI_TLV_SERVICE_BCN_FILTER,
  1422. WMI_SERVICE_BCN_FILTER, len);
  1423. SVCMAP(WMI_TLV_SERVICE_RTT,
  1424. WMI_SERVICE_RTT, len);
  1425. SVCMAP(WMI_TLV_SERVICE_WOW,
  1426. WMI_SERVICE_WOW, len);
  1427. SVCMAP(WMI_TLV_SERVICE_RATECTRL_CACHE,
  1428. WMI_SERVICE_RATECTRL_CACHE, len);
  1429. SVCMAP(WMI_TLV_SERVICE_IRAM_TIDS,
  1430. WMI_SERVICE_IRAM_TIDS, len);
  1431. SVCMAP(WMI_TLV_SERVICE_ARPNS_OFFLOAD,
  1432. WMI_SERVICE_ARPNS_OFFLOAD, len);
  1433. SVCMAP(WMI_TLV_SERVICE_NLO,
  1434. WMI_SERVICE_NLO, len);
  1435. SVCMAP(WMI_TLV_SERVICE_GTK_OFFLOAD,
  1436. WMI_SERVICE_GTK_OFFLOAD, len);
  1437. SVCMAP(WMI_TLV_SERVICE_SCAN_SCH,
  1438. WMI_SERVICE_SCAN_SCH, len);
  1439. SVCMAP(WMI_TLV_SERVICE_CSA_OFFLOAD,
  1440. WMI_SERVICE_CSA_OFFLOAD, len);
  1441. SVCMAP(WMI_TLV_SERVICE_CHATTER,
  1442. WMI_SERVICE_CHATTER, len);
  1443. SVCMAP(WMI_TLV_SERVICE_COEX_FREQAVOID,
  1444. WMI_SERVICE_COEX_FREQAVOID, len);
  1445. SVCMAP(WMI_TLV_SERVICE_PACKET_POWER_SAVE,
  1446. WMI_SERVICE_PACKET_POWER_SAVE, len);
  1447. SVCMAP(WMI_TLV_SERVICE_FORCE_FW_HANG,
  1448. WMI_SERVICE_FORCE_FW_HANG, len);
  1449. SVCMAP(WMI_TLV_SERVICE_GPIO,
  1450. WMI_SERVICE_GPIO, len);
  1451. SVCMAP(WMI_TLV_SERVICE_STA_DTIM_PS_MODULATED_DTIM,
  1452. WMI_SERVICE_STA_DTIM_PS_MODULATED_DTIM, len);
  1453. SVCMAP(WMI_TLV_SERVICE_STA_UAPSD_BASIC_AUTO_TRIG,
  1454. WMI_SERVICE_STA_UAPSD_BASIC_AUTO_TRIG, len);
  1455. SVCMAP(WMI_TLV_SERVICE_STA_UAPSD_VAR_AUTO_TRIG,
  1456. WMI_SERVICE_STA_UAPSD_VAR_AUTO_TRIG, len);
  1457. SVCMAP(WMI_TLV_SERVICE_STA_KEEP_ALIVE,
  1458. WMI_SERVICE_STA_KEEP_ALIVE, len);
  1459. SVCMAP(WMI_TLV_SERVICE_TX_ENCAP,
  1460. WMI_SERVICE_TX_ENCAP, len);
  1461. SVCMAP(WMI_TLV_SERVICE_AP_PS_DETECT_OUT_OF_SYNC,
  1462. WMI_SERVICE_AP_PS_DETECT_OUT_OF_SYNC, len);
  1463. SVCMAP(WMI_TLV_SERVICE_EARLY_RX,
  1464. WMI_SERVICE_EARLY_RX, len);
  1465. SVCMAP(WMI_TLV_SERVICE_STA_SMPS,
  1466. WMI_SERVICE_STA_SMPS, len);
  1467. SVCMAP(WMI_TLV_SERVICE_FWTEST,
  1468. WMI_SERVICE_FWTEST, len);
  1469. SVCMAP(WMI_TLV_SERVICE_STA_WMMAC,
  1470. WMI_SERVICE_STA_WMMAC, len);
  1471. SVCMAP(WMI_TLV_SERVICE_TDLS,
  1472. WMI_SERVICE_TDLS, len);
  1473. SVCMAP(WMI_TLV_SERVICE_BURST,
  1474. WMI_SERVICE_BURST, len);
  1475. SVCMAP(WMI_TLV_SERVICE_MCC_BCN_INTERVAL_CHANGE,
  1476. WMI_SERVICE_MCC_BCN_INTERVAL_CHANGE, len);
  1477. SVCMAP(WMI_TLV_SERVICE_ADAPTIVE_OCS,
  1478. WMI_SERVICE_ADAPTIVE_OCS, len);
  1479. SVCMAP(WMI_TLV_SERVICE_BA_SSN_SUPPORT,
  1480. WMI_SERVICE_BA_SSN_SUPPORT, len);
  1481. SVCMAP(WMI_TLV_SERVICE_FILTER_IPSEC_NATKEEPALIVE,
  1482. WMI_SERVICE_FILTER_IPSEC_NATKEEPALIVE, len);
  1483. SVCMAP(WMI_TLV_SERVICE_WLAN_HB,
  1484. WMI_SERVICE_WLAN_HB, len);
  1485. SVCMAP(WMI_TLV_SERVICE_LTE_ANT_SHARE_SUPPORT,
  1486. WMI_SERVICE_LTE_ANT_SHARE_SUPPORT, len);
  1487. SVCMAP(WMI_TLV_SERVICE_BATCH_SCAN,
  1488. WMI_SERVICE_BATCH_SCAN, len);
  1489. SVCMAP(WMI_TLV_SERVICE_QPOWER,
  1490. WMI_SERVICE_QPOWER, len);
  1491. SVCMAP(WMI_TLV_SERVICE_PLMREQ,
  1492. WMI_SERVICE_PLMREQ, len);
  1493. SVCMAP(WMI_TLV_SERVICE_THERMAL_MGMT,
  1494. WMI_SERVICE_THERMAL_MGMT, len);
  1495. SVCMAP(WMI_TLV_SERVICE_RMC,
  1496. WMI_SERVICE_RMC, len);
  1497. SVCMAP(WMI_TLV_SERVICE_MHF_OFFLOAD,
  1498. WMI_SERVICE_MHF_OFFLOAD, len);
  1499. SVCMAP(WMI_TLV_SERVICE_COEX_SAR,
  1500. WMI_SERVICE_COEX_SAR, len);
  1501. SVCMAP(WMI_TLV_SERVICE_BCN_TXRATE_OVERRIDE,
  1502. WMI_SERVICE_BCN_TXRATE_OVERRIDE, len);
  1503. SVCMAP(WMI_TLV_SERVICE_NAN,
  1504. WMI_SERVICE_NAN, len);
  1505. SVCMAP(WMI_TLV_SERVICE_L1SS_STAT,
  1506. WMI_SERVICE_L1SS_STAT, len);
  1507. SVCMAP(WMI_TLV_SERVICE_ESTIMATE_LINKSPEED,
  1508. WMI_SERVICE_ESTIMATE_LINKSPEED, len);
  1509. SVCMAP(WMI_TLV_SERVICE_OBSS_SCAN,
  1510. WMI_SERVICE_OBSS_SCAN, len);
  1511. SVCMAP(WMI_TLV_SERVICE_TDLS_OFFCHAN,
  1512. WMI_SERVICE_TDLS_OFFCHAN, len);
  1513. SVCMAP(WMI_TLV_SERVICE_TDLS_UAPSD_BUFFER_STA,
  1514. WMI_SERVICE_TDLS_UAPSD_BUFFER_STA, len);
  1515. SVCMAP(WMI_TLV_SERVICE_TDLS_UAPSD_SLEEP_STA,
  1516. WMI_SERVICE_TDLS_UAPSD_SLEEP_STA, len);
  1517. SVCMAP(WMI_TLV_SERVICE_IBSS_PWRSAVE,
  1518. WMI_SERVICE_IBSS_PWRSAVE, len);
  1519. SVCMAP(WMI_TLV_SERVICE_LPASS,
  1520. WMI_SERVICE_LPASS, len);
  1521. SVCMAP(WMI_TLV_SERVICE_EXTSCAN,
  1522. WMI_SERVICE_EXTSCAN, len);
  1523. SVCMAP(WMI_TLV_SERVICE_D0WOW,
  1524. WMI_SERVICE_D0WOW, len);
  1525. SVCMAP(WMI_TLV_SERVICE_HSOFFLOAD,
  1526. WMI_SERVICE_HSOFFLOAD, len);
  1527. SVCMAP(WMI_TLV_SERVICE_ROAM_HO_OFFLOAD,
  1528. WMI_SERVICE_ROAM_HO_OFFLOAD, len);
  1529. SVCMAP(WMI_TLV_SERVICE_RX_FULL_REORDER,
  1530. WMI_SERVICE_RX_FULL_REORDER, len);
  1531. SVCMAP(WMI_TLV_SERVICE_DHCP_OFFLOAD,
  1532. WMI_SERVICE_DHCP_OFFLOAD, len);
  1533. SVCMAP(WMI_TLV_SERVICE_STA_RX_IPA_OFFLOAD_SUPPORT,
  1534. WMI_SERVICE_STA_RX_IPA_OFFLOAD_SUPPORT, len);
  1535. SVCMAP(WMI_TLV_SERVICE_MDNS_OFFLOAD,
  1536. WMI_SERVICE_MDNS_OFFLOAD, len);
  1537. SVCMAP(WMI_TLV_SERVICE_SAP_AUTH_OFFLOAD,
  1538. WMI_SERVICE_SAP_AUTH_OFFLOAD, len);
  1539. SVCMAP(WMI_TLV_SERVICE_MGMT_TX_WMI,
  1540. WMI_SERVICE_MGMT_TX_WMI, len);
  1541. }
  1542. static inline void
  1543. wmi_tlv_svc_map_ext(const __le32 *in, unsigned long *out, size_t len)
  1544. {
  1545. SVCMAP(WMI_TLV_SERVICE_SPOOF_MAC_SUPPORT,
  1546. WMI_SERVICE_SPOOF_MAC_SUPPORT,
  1547. WMI_TLV_MAX_SERVICE);
  1548. }
  1549. #undef SVCMAP
  1550. struct wmi_tlv {
  1551. __le16 len;
  1552. __le16 tag;
  1553. u8 value[0];
  1554. } __packed;
  1555. struct ath10k_mgmt_tx_pkt_addr {
  1556. void *vaddr;
  1557. dma_addr_t paddr;
  1558. };
  1559. struct wmi_tlv_mgmt_tx_compl_ev {
  1560. __le32 desc_id;
  1561. __le32 status;
  1562. __le32 pdev_id;
  1563. };
  1564. #define WMI_TLV_MGMT_RX_NUM_RSSI 4
  1565. struct wmi_tlv_mgmt_rx_ev {
  1566. __le32 channel;
  1567. __le32 snr;
  1568. __le32 rate;
  1569. __le32 phy_mode;
  1570. __le32 buf_len;
  1571. __le32 status;
  1572. __le32 rssi[WMI_TLV_MGMT_RX_NUM_RSSI];
  1573. } __packed;
  1574. struct wmi_tlv_abi_version {
  1575. __le32 abi_ver0;
  1576. __le32 abi_ver1;
  1577. __le32 abi_ver_ns0;
  1578. __le32 abi_ver_ns1;
  1579. __le32 abi_ver_ns2;
  1580. __le32 abi_ver_ns3;
  1581. } __packed;
  1582. enum wmi_tlv_hw_bd_id {
  1583. WMI_TLV_HW_BD_LEGACY = 0,
  1584. WMI_TLV_HW_BD_QCA6174 = 1,
  1585. WMI_TLV_HW_BD_QCA2582 = 2,
  1586. };
  1587. struct wmi_tlv_hw_bd_info {
  1588. u8 rev;
  1589. u8 project_id;
  1590. u8 custom_id;
  1591. u8 reference_design_id;
  1592. } __packed;
  1593. struct wmi_tlv_svc_rdy_ev {
  1594. __le32 fw_build_vers;
  1595. struct wmi_tlv_abi_version abi;
  1596. __le32 phy_capability;
  1597. __le32 max_frag_entry;
  1598. __le32 num_rf_chains;
  1599. __le32 ht_cap_info;
  1600. __le32 vht_cap_info;
  1601. __le32 vht_supp_mcs;
  1602. __le32 hw_min_tx_power;
  1603. __le32 hw_max_tx_power;
  1604. __le32 sys_cap_info;
  1605. __le32 min_pkt_size_enable;
  1606. __le32 max_bcn_ie_size;
  1607. __le32 num_mem_reqs;
  1608. __le32 max_num_scan_chans;
  1609. __le32 hw_bd_id; /* 0 means hw_bd_info is invalid */
  1610. struct wmi_tlv_hw_bd_info hw_bd_info[5];
  1611. } __packed;
  1612. struct wmi_tlv_rdy_ev {
  1613. struct wmi_tlv_abi_version abi;
  1614. struct wmi_mac_addr mac_addr;
  1615. __le32 status;
  1616. } __packed;
  1617. struct wmi_tlv_resource_config {
  1618. __le32 num_vdevs;
  1619. __le32 num_peers;
  1620. __le32 num_offload_peers;
  1621. __le32 num_offload_reorder_bufs;
  1622. __le32 num_peer_keys;
  1623. __le32 num_tids;
  1624. __le32 ast_skid_limit;
  1625. __le32 tx_chain_mask;
  1626. __le32 rx_chain_mask;
  1627. __le32 rx_timeout_pri[4];
  1628. __le32 rx_decap_mode;
  1629. __le32 scan_max_pending_reqs;
  1630. __le32 bmiss_offload_max_vdev;
  1631. __le32 roam_offload_max_vdev;
  1632. __le32 roam_offload_max_ap_profiles;
  1633. __le32 num_mcast_groups;
  1634. __le32 num_mcast_table_elems;
  1635. __le32 mcast2ucast_mode;
  1636. __le32 tx_dbg_log_size;
  1637. __le32 num_wds_entries;
  1638. __le32 dma_burst_size;
  1639. __le32 mac_aggr_delim;
  1640. __le32 rx_skip_defrag_timeout_dup_detection_check;
  1641. __le32 vow_config;
  1642. __le32 gtk_offload_max_vdev;
  1643. __le32 num_msdu_desc;
  1644. __le32 max_frag_entries;
  1645. __le32 num_tdls_vdevs;
  1646. __le32 num_tdls_conn_table_entries;
  1647. __le32 beacon_tx_offload_max_vdev;
  1648. __le32 num_multicast_filter_entries;
  1649. __le32 num_wow_filters;
  1650. __le32 num_keep_alive_pattern;
  1651. __le32 keep_alive_pattern_size;
  1652. __le32 max_tdls_concurrent_sleep_sta;
  1653. __le32 max_tdls_concurrent_buffer_sta;
  1654. __le32 wmi_send_separate;
  1655. __le32 num_ocb_vdevs;
  1656. __le32 num_ocb_channels;
  1657. __le32 num_ocb_schedules;
  1658. __le32 host_capab;
  1659. } __packed;
  1660. struct wmi_tlv_init_cmd {
  1661. struct wmi_tlv_abi_version abi;
  1662. __le32 num_host_mem_chunks;
  1663. } __packed;
  1664. struct wmi_tlv_pdev_get_temp_cmd {
  1665. __le32 pdev_id; /* not used */
  1666. } __packed;
  1667. struct wmi_tlv_pdev_temperature_event {
  1668. __le32 tlv_hdr;
  1669. /* temperature value in Celcius degree */
  1670. __le32 temperature;
  1671. __le32 pdev_id;
  1672. } __packed;
  1673. struct wmi_tlv_pdev_set_param_cmd {
  1674. __le32 pdev_id; /* not used yet */
  1675. __le32 param_id;
  1676. __le32 param_value;
  1677. } __packed;
  1678. struct wmi_tlv_pdev_set_rd_cmd {
  1679. __le32 pdev_id; /* not used yet */
  1680. __le32 regd;
  1681. __le32 regd_2ghz;
  1682. __le32 regd_5ghz;
  1683. __le32 conform_limit_2ghz;
  1684. __le32 conform_limit_5ghz;
  1685. } __packed;
  1686. struct wmi_tlv_scan_chan_list_cmd {
  1687. __le32 num_scan_chans;
  1688. } __packed;
  1689. struct wmi_scan_prob_req_oui_cmd {
  1690. /* OUI to be used in Probe Request frame when random MAC address is
  1691. * requested part of scan parameters. This is applied to both FW internal
  1692. * scans and host initiated scans. Host can request for random MAC address
  1693. * with WMI_SCAN_ADD_SPOOFED_MAC_IN_PROBE_REQ flag.
  1694. */
  1695. __le32 prob_req_oui;
  1696. } __packed;
  1697. struct wmi_tlv_start_scan_cmd {
  1698. struct wmi_start_scan_common common;
  1699. __le32 burst_duration_ms;
  1700. __le32 num_channels;
  1701. __le32 num_bssids;
  1702. __le32 num_ssids;
  1703. __le32 ie_len;
  1704. __le32 num_probes;
  1705. struct wmi_mac_addr mac_addr;
  1706. struct wmi_mac_addr mac_mask;
  1707. } __packed;
  1708. struct wmi_tlv_vdev_start_cmd {
  1709. __le32 vdev_id;
  1710. __le32 requestor_id;
  1711. __le32 bcn_intval;
  1712. __le32 dtim_period;
  1713. __le32 flags;
  1714. struct wmi_ssid ssid;
  1715. __le32 bcn_tx_rate;
  1716. __le32 bcn_tx_power;
  1717. __le32 num_noa_descr;
  1718. __le32 disable_hw_ack;
  1719. } __packed;
  1720. enum {
  1721. WMI_TLV_PEER_TYPE_DEFAULT = 0, /* generic / non-BSS / self-peer */
  1722. WMI_TLV_PEER_TYPE_BSS = 1,
  1723. WMI_TLV_PEER_TYPE_TDLS = 2,
  1724. WMI_TLV_PEER_TYPE_HOST_MAX = 127,
  1725. WMI_TLV_PEER_TYPE_ROAMOFFLOAD_TMP = 128,
  1726. };
  1727. struct wmi_tlv_peer_create_cmd {
  1728. __le32 vdev_id;
  1729. struct wmi_mac_addr peer_addr;
  1730. __le32 peer_type;
  1731. } __packed;
  1732. struct wmi_tlv_peer_assoc_cmd {
  1733. struct wmi_mac_addr mac_addr;
  1734. __le32 vdev_id;
  1735. __le32 new_assoc;
  1736. __le32 assoc_id;
  1737. __le32 flags;
  1738. __le32 caps;
  1739. __le32 listen_intval;
  1740. __le32 ht_caps;
  1741. __le32 max_mpdu;
  1742. __le32 mpdu_density;
  1743. __le32 rate_caps;
  1744. __le32 nss;
  1745. __le32 vht_caps;
  1746. __le32 phy_mode;
  1747. __le32 ht_info[2];
  1748. __le32 num_legacy_rates;
  1749. __le32 num_ht_rates;
  1750. } __packed;
  1751. struct wmi_tlv_pdev_suspend {
  1752. __le32 pdev_id; /* not used yet */
  1753. __le32 opt;
  1754. } __packed;
  1755. struct wmi_tlv_pdev_set_wmm_cmd {
  1756. __le32 pdev_id; /* not used yet */
  1757. __le32 dg_type; /* no idea.. */
  1758. } __packed;
  1759. struct wmi_tlv_vdev_wmm_params {
  1760. __le32 dummy;
  1761. struct wmi_wmm_params params;
  1762. } __packed;
  1763. struct wmi_tlv_vdev_set_wmm_cmd {
  1764. __le32 vdev_id;
  1765. struct wmi_tlv_vdev_wmm_params vdev_wmm_params[4];
  1766. } __packed;
  1767. struct wmi_tlv_phyerr_ev {
  1768. __le32 num_phyerrs;
  1769. __le32 tsf_l32;
  1770. __le32 tsf_u32;
  1771. __le32 buf_len;
  1772. } __packed;
  1773. enum wmi_tlv_dbglog_param {
  1774. WMI_TLV_DBGLOG_PARAM_LOG_LEVEL = 1,
  1775. WMI_TLV_DBGLOG_PARAM_VDEV_ENABLE,
  1776. WMI_TLV_DBGLOG_PARAM_VDEV_DISABLE,
  1777. WMI_TLV_DBGLOG_PARAM_VDEV_ENABLE_BITMAP,
  1778. WMI_TLV_DBGLOG_PARAM_VDEV_DISABLE_BITMAP,
  1779. };
  1780. enum wmi_tlv_dbglog_log_level {
  1781. WMI_TLV_DBGLOG_LOG_LEVEL_VERBOSE = 0,
  1782. WMI_TLV_DBGLOG_LOG_LEVEL_INFO,
  1783. WMI_TLV_DBGLOG_LOG_LEVEL_INFO_LVL_1,
  1784. WMI_TLV_DBGLOG_LOG_LEVEL_INFO_LVL_2,
  1785. WMI_TLV_DBGLOG_LOG_LEVEL_WARN,
  1786. WMI_TLV_DBGLOG_LOG_LEVEL_ERR,
  1787. };
  1788. #define WMI_TLV_DBGLOG_BITMAP_MAX_IDS 512
  1789. #define WMI_TLV_DBGLOG_BITMAP_MAX_WORDS (WMI_TLV_DBGLOG_BITMAP_MAX_IDS / \
  1790. sizeof(__le32))
  1791. #define WMI_TLV_DBGLOG_ALL_MODULES 0xffff
  1792. #define WMI_TLV_DBGLOG_LOG_LEVEL_VALUE(module_id, log_level) \
  1793. (((module_id << 16) & 0xffff0000) | \
  1794. ((log_level << 0) & 0x000000ff))
  1795. struct wmi_tlv_dbglog_cmd {
  1796. __le32 param;
  1797. __le32 value;
  1798. } __packed;
  1799. struct wmi_tlv_resume_cmd {
  1800. __le32 reserved;
  1801. } __packed;
  1802. struct wmi_tlv_req_stats_cmd {
  1803. __le32 stats_id; /* wmi_stats_id */
  1804. __le32 vdev_id;
  1805. struct wmi_mac_addr peer_macaddr;
  1806. } __packed;
  1807. struct wmi_tlv_vdev_stats {
  1808. __le32 vdev_id;
  1809. __le32 beacon_snr;
  1810. __le32 data_snr;
  1811. __le32 num_tx_frames[4]; /* per-AC */
  1812. __le32 num_rx_frames;
  1813. __le32 num_tx_frames_retries[4];
  1814. __le32 num_tx_frames_failures[4];
  1815. __le32 num_rts_fail;
  1816. __le32 num_rts_success;
  1817. __le32 num_rx_err;
  1818. __le32 num_rx_discard;
  1819. __le32 num_tx_not_acked;
  1820. __le32 tx_rate_history[10];
  1821. __le32 beacon_rssi_history[10];
  1822. } __packed;
  1823. struct wmi_tlv_pktlog_enable {
  1824. __le32 reserved;
  1825. __le32 filter;
  1826. } __packed;
  1827. struct wmi_tlv_pktlog_disable {
  1828. __le32 reserved;
  1829. } __packed;
  1830. enum wmi_tlv_bcn_tx_status {
  1831. WMI_TLV_BCN_TX_STATUS_OK,
  1832. WMI_TLV_BCN_TX_STATUS_XRETRY,
  1833. WMI_TLV_BCN_TX_STATUS_DROP,
  1834. WMI_TLV_BCN_TX_STATUS_FILTERED,
  1835. };
  1836. struct wmi_tlv_bcn_tx_status_ev {
  1837. __le32 vdev_id;
  1838. __le32 tx_status;
  1839. } __packed;
  1840. struct wmi_tlv_bcn_prb_info {
  1841. __le32 caps;
  1842. __le32 erp;
  1843. u8 ies[0];
  1844. } __packed;
  1845. struct wmi_tlv_bcn_tmpl_cmd {
  1846. __le32 vdev_id;
  1847. __le32 tim_ie_offset;
  1848. __le32 buf_len;
  1849. } __packed;
  1850. struct wmi_tlv_prb_tmpl_cmd {
  1851. __le32 vdev_id;
  1852. __le32 buf_len;
  1853. } __packed;
  1854. struct wmi_tlv_p2p_go_bcn_ie {
  1855. __le32 vdev_id;
  1856. __le32 ie_len;
  1857. } __packed;
  1858. enum wmi_tlv_diag_item_type {
  1859. WMI_TLV_DIAG_ITEM_TYPE_FW_EVENT,
  1860. WMI_TLV_DIAG_ITEM_TYPE_FW_LOG,
  1861. WMI_TLV_DIAG_ITEM_TYPE_FW_DEBUG_MSG,
  1862. };
  1863. struct wmi_tlv_diag_item {
  1864. u8 type;
  1865. u8 reserved;
  1866. __le16 len;
  1867. __le32 timestamp;
  1868. __le32 code;
  1869. u8 payload[0];
  1870. } __packed;
  1871. struct wmi_tlv_diag_data_ev {
  1872. __le32 num_items;
  1873. } __packed;
  1874. struct wmi_tlv_sta_keepalive_cmd {
  1875. __le32 vdev_id;
  1876. __le32 enabled;
  1877. __le32 method; /* WMI_STA_KEEPALIVE_METHOD_ */
  1878. __le32 interval; /* in seconds */
  1879. } __packed;
  1880. struct wmi_tlv_stats_ev {
  1881. __le32 stats_id; /* WMI_STAT_ */
  1882. __le32 num_pdev_stats;
  1883. __le32 num_vdev_stats;
  1884. __le32 num_peer_stats;
  1885. __le32 num_bcnflt_stats;
  1886. __le32 num_chan_stats;
  1887. } __packed;
  1888. struct wmi_tlv_p2p_noa_ev {
  1889. __le32 vdev_id;
  1890. } __packed;
  1891. struct wmi_tlv_roam_ev {
  1892. __le32 vdev_id;
  1893. __le32 reason;
  1894. __le32 rssi;
  1895. } __packed;
  1896. struct wmi_tlv_wow_add_del_event_cmd {
  1897. __le32 vdev_id;
  1898. __le32 is_add;
  1899. __le32 event_bitmap;
  1900. } __packed;
  1901. /* Command to set/unset chip in quiet mode */
  1902. struct wmi_tlv_set_quiet_cmd {
  1903. __le32 vdev_id;
  1904. /* in TUs */
  1905. __le32 period;
  1906. /* in TUs */
  1907. __le32 duration;
  1908. /* offset in TUs */
  1909. __le32 next_start;
  1910. __le32 enabled;
  1911. } __packed;
  1912. struct wmi_tlv_wow_enable_cmd {
  1913. __le32 enable;
  1914. } __packed;
  1915. struct wmi_tlv_wow_host_wakeup_ind {
  1916. __le32 reserved;
  1917. } __packed;
  1918. struct wmi_tlv_wow_event_info {
  1919. __le32 vdev_id;
  1920. __le32 flag;
  1921. __le32 wake_reason;
  1922. __le32 data_len;
  1923. } __packed;
  1924. enum wmi_tlv_pattern_type {
  1925. WOW_PATTERN_MIN = 0,
  1926. WOW_BITMAP_PATTERN = WOW_PATTERN_MIN,
  1927. WOW_IPV4_SYNC_PATTERN,
  1928. WOW_IPV6_SYNC_PATTERN,
  1929. WOW_WILD_CARD_PATTERN,
  1930. WOW_TIMER_PATTERN,
  1931. WOW_MAGIC_PATTERN,
  1932. WOW_IPV6_RA_PATTERN,
  1933. WOW_IOAC_PKT_PATTERN,
  1934. WOW_IOAC_TMR_PATTERN,
  1935. WOW_PATTERN_MAX
  1936. };
  1937. #define WOW_DEFAULT_BITMAP_PATTERN_SIZE 148
  1938. #define WOW_DEFAULT_BITMASK_SIZE 148
  1939. struct wmi_tlv_wow_bitmap_pattern {
  1940. u8 patternbuf[WOW_DEFAULT_BITMAP_PATTERN_SIZE];
  1941. u8 bitmaskbuf[WOW_DEFAULT_BITMASK_SIZE];
  1942. __le32 pattern_offset;
  1943. __le32 pattern_len;
  1944. __le32 bitmask_len;
  1945. __le32 pattern_id;
  1946. } __packed;
  1947. struct wmi_tlv_wow_add_pattern_cmd {
  1948. __le32 vdev_id;
  1949. __le32 pattern_id;
  1950. __le32 pattern_type;
  1951. } __packed;
  1952. struct wmi_tlv_wow_del_pattern_cmd {
  1953. __le32 vdev_id;
  1954. __le32 pattern_id;
  1955. __le32 pattern_type;
  1956. } __packed;
  1957. /* TDLS Options */
  1958. enum wmi_tlv_tdls_options {
  1959. WMI_TLV_TDLS_OFFCHAN_EN = BIT(0),
  1960. WMI_TLV_TDLS_BUFFER_STA_EN = BIT(1),
  1961. WMI_TLV_TDLS_SLEEP_STA_EN = BIT(2),
  1962. };
  1963. struct wmi_tdls_set_state_cmd {
  1964. __le32 vdev_id;
  1965. __le32 state;
  1966. __le32 notification_interval_ms;
  1967. __le32 tx_discovery_threshold;
  1968. __le32 tx_teardown_threshold;
  1969. __le32 rssi_teardown_threshold;
  1970. __le32 rssi_delta;
  1971. __le32 tdls_options;
  1972. __le32 tdls_peer_traffic_ind_window;
  1973. __le32 tdls_peer_traffic_response_timeout_ms;
  1974. __le32 tdls_puapsd_mask;
  1975. __le32 tdls_puapsd_inactivity_time_ms;
  1976. __le32 tdls_puapsd_rx_frame_threshold;
  1977. } __packed;
  1978. struct wmi_tdls_peer_update_cmd {
  1979. __le32 vdev_id;
  1980. struct wmi_mac_addr peer_macaddr;
  1981. __le32 peer_state;
  1982. } __packed;
  1983. enum {
  1984. WMI_TLV_TDLS_PEER_QOS_AC_VO = BIT(0),
  1985. WMI_TLV_TDLS_PEER_QOS_AC_VI = BIT(1),
  1986. WMI_TLV_TDLS_PEER_QOS_AC_BK = BIT(2),
  1987. WMI_TLV_TDLS_PEER_QOS_AC_BE = BIT(3),
  1988. };
  1989. #define WMI_TLV_TDLS_PEER_SP_MASK 0x60
  1990. #define WMI_TLV_TDLS_PEER_SP_LSB 5
  1991. struct wmi_tdls_peer_capab {
  1992. __le32 peer_qos;
  1993. __le32 buff_sta_support;
  1994. __le32 off_chan_support;
  1995. __le32 peer_curr_operclass;
  1996. __le32 self_curr_operclass;
  1997. __le32 peer_chan_len;
  1998. __le32 peer_operclass_len;
  1999. u8 peer_operclass[WMI_TDLS_MAX_SUPP_OPER_CLASSES];
  2000. __le32 is_peer_responder;
  2001. __le32 pref_offchan_num;
  2002. __le32 pref_offchan_bw;
  2003. } __packed;
  2004. struct wmi_tlv_adaptive_qcs {
  2005. __le32 enable;
  2006. } __packed;
  2007. /**
  2008. * wmi_tlv_tx_pause_id - firmware tx queue pause reason types
  2009. *
  2010. * @WMI_TLV_TX_PAUSE_ID_MCC: used for by multi-channel firmware scheduler.
  2011. * Only vdev_map is valid.
  2012. * @WMI_TLV_TX_PAUSE_ID_AP_PEER_PS: peer in AP mode is asleep.
  2013. * Only peer_id is valid.
  2014. * @WMI_TLV_TX_PAUSE_ID_AP_PEER_UAPSD: Only peer_id and tid_map are valid.
  2015. * @WMI_TLV_TX_PAUSE_ID_P2P_CLI_NOA: Only vdev_map is valid.
  2016. * @WMI_TLV_TX_PAUSE_ID_P2P_GO_PS: Only vdev_map is valid.
  2017. * @WMI_TLV_TX_PAUSE_ID_STA_ADD_BA: Only peer_id and tid_map are valid.
  2018. * @WMI_TLV_TX_PAUSE_ID_AP_PS: When all peers are asleep in AP mode. Only
  2019. * vdev_map is valid.
  2020. * @WMI_TLV_TX_PAUSE_ID_IBSS_PS: When all peers are asleep in IBSS mode. Only
  2021. * vdev_map is valid.
  2022. * @WMI_TLV_TX_PAUSE_ID_HOST: Host itself requested tx pause.
  2023. */
  2024. enum wmi_tlv_tx_pause_id {
  2025. WMI_TLV_TX_PAUSE_ID_MCC = 1,
  2026. WMI_TLV_TX_PAUSE_ID_AP_PEER_PS = 2,
  2027. WMI_TLV_TX_PAUSE_ID_AP_PEER_UAPSD = 3,
  2028. WMI_TLV_TX_PAUSE_ID_P2P_CLI_NOA = 4,
  2029. WMI_TLV_TX_PAUSE_ID_P2P_GO_PS = 5,
  2030. WMI_TLV_TX_PAUSE_ID_STA_ADD_BA = 6,
  2031. WMI_TLV_TX_PAUSE_ID_AP_PS = 7,
  2032. WMI_TLV_TX_PAUSE_ID_IBSS_PS = 8,
  2033. WMI_TLV_TX_PAUSE_ID_HOST = 21,
  2034. };
  2035. enum wmi_tlv_tx_pause_action {
  2036. WMI_TLV_TX_PAUSE_ACTION_STOP,
  2037. WMI_TLV_TX_PAUSE_ACTION_WAKE,
  2038. };
  2039. struct wmi_tlv_tx_pause_ev {
  2040. __le32 pause_id;
  2041. __le32 action;
  2042. __le32 vdev_map;
  2043. __le32 peer_id;
  2044. __le32 tid_map;
  2045. } __packed;
  2046. struct wmi_tlv_tdls_peer_event {
  2047. struct wmi_mac_addr peer_macaddr;
  2048. __le32 peer_status;
  2049. __le32 peer_reason;
  2050. __le32 vdev_id;
  2051. } __packed;
  2052. void ath10k_wmi_tlv_attach(struct ath10k *ar);
  2053. struct wmi_tlv_mgmt_tx_cmd {
  2054. __le32 vdev_id;
  2055. __le32 desc_id;
  2056. __le32 chanfreq;
  2057. __le64 paddr;
  2058. __le32 frame_len;
  2059. __le32 buf_len;
  2060. } __packed;
  2061. #endif