wmi-tlv.h 73 KB

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