wmi-tlv.h 53 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646
  1. /*
  2. * Copyright (c) 2005-2011 Atheros Communications Inc.
  3. * Copyright (c) 2011-2014 Qualcomm Atheros, Inc.
  4. *
  5. * Permission to use, copy, modify, and/or distribute this software for any
  6. * purpose with or without fee is hereby granted, provided that the above
  7. * copyright notice and this permission notice appear in all copies.
  8. *
  9. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  10. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  11. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  12. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  13. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  14. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  15. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  16. */
  17. #ifndef _WMI_TLV_H
  18. #define _WMI_TLV_H
  19. #define WMI_TLV_CMD(grp_id) (((grp_id) << 12) | 0x1)
  20. #define WMI_TLV_EV(grp_id) (((grp_id) << 12) | 0x1)
  21. #define WMI_TLV_CMD_UNSUPPORTED 0
  22. #define WMI_TLV_PDEV_PARAM_UNSUPPORTED 0
  23. #define WMI_TLV_VDEV_PARAM_UNSUPPORTED 0
  24. enum wmi_tlv_grp_id {
  25. WMI_TLV_GRP_START = 0x3,
  26. WMI_TLV_GRP_SCAN = WMI_TLV_GRP_START,
  27. WMI_TLV_GRP_PDEV,
  28. WMI_TLV_GRP_VDEV,
  29. WMI_TLV_GRP_PEER,
  30. WMI_TLV_GRP_MGMT,
  31. WMI_TLV_GRP_BA_NEG,
  32. WMI_TLV_GRP_STA_PS,
  33. WMI_TLV_GRP_DFS,
  34. WMI_TLV_GRP_ROAM,
  35. WMI_TLV_GRP_OFL_SCAN,
  36. WMI_TLV_GRP_P2P,
  37. WMI_TLV_GRP_AP_PS,
  38. WMI_TLV_GRP_RATECTL,
  39. WMI_TLV_GRP_PROFILE,
  40. WMI_TLV_GRP_SUSPEND,
  41. WMI_TLV_GRP_BCN_FILTER,
  42. WMI_TLV_GRP_WOW,
  43. WMI_TLV_GRP_RTT,
  44. WMI_TLV_GRP_SPECTRAL,
  45. WMI_TLV_GRP_STATS,
  46. WMI_TLV_GRP_ARP_NS_OFL,
  47. WMI_TLV_GRP_NLO_OFL,
  48. WMI_TLV_GRP_GTK_OFL,
  49. WMI_TLV_GRP_CSA_OFL,
  50. WMI_TLV_GRP_CHATTER,
  51. WMI_TLV_GRP_TID_ADDBA,
  52. WMI_TLV_GRP_MISC,
  53. WMI_TLV_GRP_GPIO,
  54. WMI_TLV_GRP_FWTEST,
  55. WMI_TLV_GRP_TDLS,
  56. WMI_TLV_GRP_RESMGR,
  57. WMI_TLV_GRP_STA_SMPS,
  58. WMI_TLV_GRP_WLAN_HB,
  59. WMI_TLV_GRP_RMC,
  60. WMI_TLV_GRP_MHF_OFL,
  61. WMI_TLV_GRP_LOCATION_SCAN,
  62. WMI_TLV_GRP_OEM,
  63. WMI_TLV_GRP_NAN,
  64. WMI_TLV_GRP_COEX,
  65. WMI_TLV_GRP_OBSS_OFL,
  66. WMI_TLV_GRP_LPI,
  67. WMI_TLV_GRP_EXTSCAN,
  68. WMI_TLV_GRP_DHCP_OFL,
  69. WMI_TLV_GRP_IPA,
  70. WMI_TLV_GRP_MDNS_OFL,
  71. WMI_TLV_GRP_SAP_OFL,
  72. };
  73. enum wmi_tlv_cmd_id {
  74. WMI_TLV_INIT_CMDID = 0x1,
  75. WMI_TLV_START_SCAN_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_SCAN),
  76. WMI_TLV_STOP_SCAN_CMDID,
  77. WMI_TLV_SCAN_CHAN_LIST_CMDID,
  78. WMI_TLV_SCAN_SCH_PRIO_TBL_CMDID,
  79. WMI_TLV_SCAN_UPDATE_REQUEST_CMDID,
  80. WMI_TLV_SCAN_PROB_REQ_OUI_CMDID,
  81. WMI_TLV_PDEV_SET_REGDOMAIN_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_PDEV),
  82. WMI_TLV_PDEV_SET_CHANNEL_CMDID,
  83. WMI_TLV_PDEV_SET_PARAM_CMDID,
  84. WMI_TLV_PDEV_PKTLOG_ENABLE_CMDID,
  85. WMI_TLV_PDEV_PKTLOG_DISABLE_CMDID,
  86. WMI_TLV_PDEV_SET_WMM_PARAMS_CMDID,
  87. WMI_TLV_PDEV_SET_HT_CAP_IE_CMDID,
  88. WMI_TLV_PDEV_SET_VHT_CAP_IE_CMDID,
  89. WMI_TLV_PDEV_SET_DSCP_TID_MAP_CMDID,
  90. WMI_TLV_PDEV_SET_QUIET_MODE_CMDID,
  91. WMI_TLV_PDEV_GREEN_AP_PS_ENABLE_CMDID,
  92. WMI_TLV_PDEV_GET_TPC_CONFIG_CMDID,
  93. WMI_TLV_PDEV_SET_BASE_MACADDR_CMDID,
  94. WMI_TLV_PDEV_DUMP_CMDID,
  95. WMI_TLV_PDEV_SET_LED_CONFIG_CMDID,
  96. WMI_TLV_PDEV_GET_TEMPERATURE_CMDID,
  97. WMI_TLV_PDEV_SET_LED_FLASHING_CMDID,
  98. WMI_TLV_VDEV_CREATE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_VDEV),
  99. WMI_TLV_VDEV_DELETE_CMDID,
  100. WMI_TLV_VDEV_START_REQUEST_CMDID,
  101. WMI_TLV_VDEV_RESTART_REQUEST_CMDID,
  102. WMI_TLV_VDEV_UP_CMDID,
  103. WMI_TLV_VDEV_STOP_CMDID,
  104. WMI_TLV_VDEV_DOWN_CMDID,
  105. WMI_TLV_VDEV_SET_PARAM_CMDID,
  106. WMI_TLV_VDEV_INSTALL_KEY_CMDID,
  107. WMI_TLV_VDEV_WNM_SLEEPMODE_CMDID,
  108. WMI_TLV_VDEV_WMM_ADDTS_CMDID,
  109. WMI_TLV_VDEV_WMM_DELTS_CMDID,
  110. WMI_TLV_VDEV_SET_WMM_PARAMS_CMDID,
  111. WMI_TLV_VDEV_SET_GTX_PARAMS_CMDID,
  112. WMI_TLV_VDEV_IPSEC_NATKEEPALIVE_FILTER_CMDID,
  113. WMI_TLV_VDEV_PLMREQ_START_CMDID,
  114. WMI_TLV_VDEV_PLMREQ_STOP_CMDID,
  115. WMI_TLV_PEER_CREATE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_PEER),
  116. WMI_TLV_PEER_DELETE_CMDID,
  117. WMI_TLV_PEER_FLUSH_TIDS_CMDID,
  118. WMI_TLV_PEER_SET_PARAM_CMDID,
  119. WMI_TLV_PEER_ASSOC_CMDID,
  120. WMI_TLV_PEER_ADD_WDS_ENTRY_CMDID,
  121. WMI_TLV_PEER_REMOVE_WDS_ENTRY_CMDID,
  122. WMI_TLV_PEER_MCAST_GROUP_CMDID,
  123. WMI_TLV_PEER_INFO_REQ_CMDID,
  124. WMI_TLV_PEER_GET_ESTIMATED_LINKSPEED_CMDID,
  125. WMI_TLV_BCN_TX_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_MGMT),
  126. WMI_TLV_PDEV_SEND_BCN_CMDID,
  127. WMI_TLV_BCN_TMPL_CMDID,
  128. WMI_TLV_BCN_FILTER_RX_CMDID,
  129. WMI_TLV_PRB_REQ_FILTER_RX_CMDID,
  130. WMI_TLV_MGMT_TX_CMDID,
  131. WMI_TLV_PRB_TMPL_CMDID,
  132. WMI_TLV_ADDBA_CLEAR_RESP_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_BA_NEG),
  133. WMI_TLV_ADDBA_SEND_CMDID,
  134. WMI_TLV_ADDBA_STATUS_CMDID,
  135. WMI_TLV_DELBA_SEND_CMDID,
  136. WMI_TLV_ADDBA_SET_RESP_CMDID,
  137. WMI_TLV_SEND_SINGLEAMSDU_CMDID,
  138. WMI_TLV_STA_POWERSAVE_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_STA_PS),
  139. WMI_TLV_STA_POWERSAVE_PARAM_CMDID,
  140. WMI_TLV_STA_MIMO_PS_MODE_CMDID,
  141. WMI_TLV_PDEV_DFS_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_DFS),
  142. WMI_TLV_PDEV_DFS_DISABLE_CMDID,
  143. WMI_TLV_DFS_PHYERR_FILTER_ENA_CMDID,
  144. WMI_TLV_DFS_PHYERR_FILTER_DIS_CMDID,
  145. WMI_TLV_ROAM_SCAN_MODE = WMI_TLV_CMD(WMI_TLV_GRP_ROAM),
  146. WMI_TLV_ROAM_SCAN_RSSI_THRESHOLD,
  147. WMI_TLV_ROAM_SCAN_PERIOD,
  148. WMI_TLV_ROAM_SCAN_RSSI_CHANGE_THRESHOLD,
  149. WMI_TLV_ROAM_AP_PROFILE,
  150. WMI_TLV_ROAM_CHAN_LIST,
  151. WMI_TLV_ROAM_SCAN_CMD,
  152. WMI_TLV_ROAM_SYNCH_COMPLETE,
  153. WMI_TLV_ROAM_SET_RIC_REQUEST_CMDID,
  154. WMI_TLV_ROAM_INVOKE_CMDID,
  155. WMI_TLV_OFL_SCAN_ADD_AP_PROFILE = WMI_TLV_CMD(WMI_TLV_GRP_OFL_SCAN),
  156. WMI_TLV_OFL_SCAN_REMOVE_AP_PROFILE,
  157. WMI_TLV_OFL_SCAN_PERIOD,
  158. WMI_TLV_P2P_DEV_SET_DEVICE_INFO = WMI_TLV_CMD(WMI_TLV_GRP_P2P),
  159. WMI_TLV_P2P_DEV_SET_DISCOVERABILITY,
  160. WMI_TLV_P2P_GO_SET_BEACON_IE,
  161. WMI_TLV_P2P_GO_SET_PROBE_RESP_IE,
  162. WMI_TLV_P2P_SET_VENDOR_IE_DATA_CMDID,
  163. WMI_TLV_P2P_DISC_OFFLOAD_CONFIG_CMDID,
  164. WMI_TLV_P2P_DISC_OFFLOAD_APPIE_CMDID,
  165. WMI_TLV_P2P_DISC_OFFLOAD_PATTERN_CMDID,
  166. WMI_TLV_P2P_SET_OPPPS_PARAM_CMDID,
  167. WMI_TLV_AP_PS_PEER_PARAM_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_AP_PS),
  168. WMI_TLV_AP_PS_PEER_UAPSD_COEX_CMDID,
  169. WMI_TLV_PEER_RATE_RETRY_SCHED_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_RATECTL),
  170. WMI_TLV_WLAN_PROFILE_TRIGGER_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_PROFILE),
  171. WMI_TLV_WLAN_PROFILE_SET_HIST_INTVL_CMDID,
  172. WMI_TLV_WLAN_PROFILE_GET_PROFILE_DATA_CMDID,
  173. WMI_TLV_WLAN_PROFILE_ENABLE_PROFILE_ID_CMDID,
  174. WMI_TLV_WLAN_PROFILE_LIST_PROFILE_ID_CMDID,
  175. WMI_TLV_PDEV_SUSPEND_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_SUSPEND),
  176. WMI_TLV_PDEV_RESUME_CMDID,
  177. WMI_TLV_ADD_BCN_FILTER_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_BCN_FILTER),
  178. WMI_TLV_RMV_BCN_FILTER_CMDID,
  179. WMI_TLV_WOW_ADD_WAKE_PATTERN_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_WOW),
  180. WMI_TLV_WOW_DEL_WAKE_PATTERN_CMDID,
  181. WMI_TLV_WOW_ENABLE_DISABLE_WAKE_EVENT_CMDID,
  182. WMI_TLV_WOW_ENABLE_CMDID,
  183. WMI_TLV_WOW_HOSTWAKEUP_FROM_SLEEP_CMDID,
  184. WMI_TLV_WOW_ACER_IOAC_ADD_KEEPALIVE_CMDID,
  185. WMI_TLV_WOW_ACER_IOAC_DEL_KEEPALIVE_CMDID,
  186. WMI_TLV_WOW_ACER_IOAC_ADD_WAKE_PATTERN_CMDID,
  187. WMI_TLV_WOW_ACER_IOAC_DEL_WAKE_PATTERN_CMDID,
  188. WMI_TLV_D0_WOW_ENABLE_DISABLE_CMDID,
  189. WMI_TLV_EXTWOW_ENABLE_CMDID,
  190. WMI_TLV_EXTWOW_SET_APP_TYPE1_PARAMS_CMDID,
  191. WMI_TLV_EXTWOW_SET_APP_TYPE2_PARAMS_CMDID,
  192. WMI_TLV_RTT_MEASREQ_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_RTT),
  193. WMI_TLV_RTT_TSF_CMDID,
  194. WMI_TLV_SPECTRAL_SCAN_CONF_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_SPECTRAL),
  195. WMI_TLV_SPECTRAL_SCAN_ENABLE_CMDID,
  196. WMI_TLV_REQUEST_STATS_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_STATS),
  197. WMI_TLV_MCC_SCHED_TRAFFIC_STATS_CMDID,
  198. WMI_TLV_REQUEST_STATS_EXT_CMDID,
  199. WMI_TLV_REQUEST_LINK_STATS_CMDID,
  200. WMI_TLV_START_LINK_STATS_CMDID,
  201. WMI_TLV_CLEAR_LINK_STATS_CMDID,
  202. WMI_TLV_SET_ARP_NS_OFFLOAD_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_ARP_NS_OFL),
  203. WMI_TLV_ADD_PROACTIVE_ARP_RSP_PATTERN_CMDID,
  204. WMI_TLV_DEL_PROACTIVE_ARP_RSP_PATTERN_CMDID,
  205. WMI_TLV_NETWORK_LIST_OFFLOAD_CONFIG_CMDID =
  206. WMI_TLV_CMD(WMI_TLV_GRP_NLO_OFL),
  207. WMI_TLV_APFIND_CMDID,
  208. WMI_TLV_GTK_OFFLOAD_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_GTK_OFL),
  209. WMI_TLV_CSA_OFFLOAD_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_CSA_OFL),
  210. WMI_TLV_CSA_OFFLOAD_CHANSWITCH_CMDID,
  211. WMI_TLV_CHATTER_SET_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_CHATTER),
  212. WMI_TLV_CHATTER_ADD_COALESCING_FILTER_CMDID,
  213. WMI_TLV_CHATTER_DELETE_COALESCING_FILTER_CMDID,
  214. WMI_TLV_CHATTER_COALESCING_QUERY_CMDID,
  215. WMI_TLV_PEER_TID_ADDBA_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_TID_ADDBA),
  216. WMI_TLV_PEER_TID_DELBA_CMDID,
  217. WMI_TLV_STA_DTIM_PS_METHOD_CMDID,
  218. WMI_TLV_STA_UAPSD_AUTO_TRIG_CMDID,
  219. WMI_TLV_STA_KEEPALIVE_CMDID,
  220. WMI_TLV_BA_REQ_SSN_CMDID,
  221. WMI_TLV_ECHO_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_MISC),
  222. WMI_TLV_PDEV_UTF_CMDID,
  223. WMI_TLV_DBGLOG_CFG_CMDID,
  224. WMI_TLV_PDEV_QVIT_CMDID,
  225. WMI_TLV_PDEV_FTM_INTG_CMDID,
  226. WMI_TLV_VDEV_SET_KEEPALIVE_CMDID,
  227. WMI_TLV_VDEV_GET_KEEPALIVE_CMDID,
  228. WMI_TLV_FORCE_FW_HANG_CMDID,
  229. WMI_TLV_SET_MCASTBCAST_FILTER_CMDID,
  230. WMI_TLV_THERMAL_MGMT_CMDID,
  231. WMI_TLV_HOST_AUTO_SHUTDOWN_CFG_CMDID,
  232. WMI_TLV_TPC_CHAINMASK_CONFIG_CMDID,
  233. WMI_TLV_SET_ANTENNA_DIVERSITY_CMDID,
  234. WMI_TLV_GPIO_CONFIG_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_GPIO),
  235. WMI_TLV_GPIO_OUTPUT_CMDID,
  236. WMI_TLV_TXBF_CMDID,
  237. WMI_TLV_FWTEST_VDEV_MCC_SET_TBTT_MODE_CMDID =
  238. WMI_TLV_CMD(WMI_TLV_GRP_FWTEST),
  239. WMI_TLV_FWTEST_P2P_SET_NOA_PARAM_CMDID,
  240. WMI_TLV_UNIT_TEST_CMDID,
  241. WMI_TLV_TDLS_SET_STATE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_TDLS),
  242. WMI_TLV_TDLS_PEER_UPDATE_CMDID,
  243. WMI_TLV_TDLS_SET_OFFCHAN_MODE_CMDID,
  244. WMI_TLV_RESMGR_ADAPTIVE_OCS_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_RESMGR),
  245. WMI_TLV_RESMGR_SET_CHAN_TIME_QUOTA_CMDID,
  246. WMI_TLV_RESMGR_SET_CHAN_LATENCY_CMDID,
  247. WMI_TLV_STA_SMPS_FORCE_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_STA_SMPS),
  248. WMI_TLV_STA_SMPS_PARAM_CMDID,
  249. WMI_TLV_HB_SET_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_WLAN_HB),
  250. WMI_TLV_HB_SET_TCP_PARAMS_CMDID,
  251. WMI_TLV_HB_SET_TCP_PKT_FILTER_CMDID,
  252. WMI_TLV_HB_SET_UDP_PARAMS_CMDID,
  253. WMI_TLV_HB_SET_UDP_PKT_FILTER_CMDID,
  254. WMI_TLV_RMC_SET_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_RMC),
  255. WMI_TLV_RMC_SET_ACTION_PERIOD_CMDID,
  256. WMI_TLV_RMC_CONFIG_CMDID,
  257. WMI_TLV_MHF_OFFLOAD_SET_MODE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_MHF_OFL),
  258. WMI_TLV_MHF_OFFLOAD_PLUMB_ROUTING_TBL_CMDID,
  259. WMI_TLV_BATCH_SCAN_ENABLE_CMDID =
  260. WMI_TLV_CMD(WMI_TLV_GRP_LOCATION_SCAN),
  261. WMI_TLV_BATCH_SCAN_DISABLE_CMDID,
  262. WMI_TLV_BATCH_SCAN_TRIGGER_RESULT_CMDID,
  263. WMI_TLV_OEM_REQ_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_OEM),
  264. WMI_TLV_NAN_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_NAN),
  265. WMI_TLV_MODEM_POWER_STATE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_COEX),
  266. WMI_TLV_CHAN_AVOID_UPDATE_CMDID,
  267. WMI_TLV_OBSS_SCAN_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_OBSS_OFL),
  268. WMI_TLV_OBSS_SCAN_DISABLE_CMDID,
  269. WMI_TLV_LPI_MGMT_SNOOPING_CONFIG_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_LPI),
  270. WMI_TLV_LPI_START_SCAN_CMDID,
  271. WMI_TLV_LPI_STOP_SCAN_CMDID,
  272. WMI_TLV_EXTSCAN_START_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_EXTSCAN),
  273. WMI_TLV_EXTSCAN_STOP_CMDID,
  274. WMI_TLV_EXTSCAN_CONFIGURE_WLAN_CHANGE_MONITOR_CMDID,
  275. WMI_TLV_EXTSCAN_CONFIGURE_HOTLIST_MONITOR_CMDID,
  276. WMI_TLV_EXTSCAN_GET_CACHED_RESULTS_CMDID,
  277. WMI_TLV_EXTSCAN_GET_WLAN_CHANGE_RESULTS_CMDID,
  278. WMI_TLV_EXTSCAN_SET_CAPABILITIES_CMDID,
  279. WMI_TLV_EXTSCAN_GET_CAPABILITIES_CMDID,
  280. WMI_TLV_SET_DHCP_SERVER_OFFLOAD_CMDID =
  281. WMI_TLV_CMD(WMI_TLV_GRP_DHCP_OFL),
  282. WMI_TLV_IPA_OFFLOAD_ENABLE_DISABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_IPA),
  283. WMI_TLV_MDNS_OFFLOAD_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_MDNS_OFL),
  284. WMI_TLV_MDNS_SET_FQDN_CMDID,
  285. WMI_TLV_MDNS_SET_RESPONSE_CMDID,
  286. WMI_TLV_MDNS_GET_STATS_CMDID,
  287. WMI_TLV_SAP_OFL_ENABLE_CMDID = WMI_TLV_CMD(WMI_TLV_GRP_SAP_OFL),
  288. };
  289. enum wmi_tlv_event_id {
  290. WMI_TLV_SERVICE_READY_EVENTID = 0x1,
  291. WMI_TLV_READY_EVENTID,
  292. WMI_TLV_SCAN_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_SCAN),
  293. WMI_TLV_PDEV_TPC_CONFIG_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_PDEV),
  294. WMI_TLV_CHAN_INFO_EVENTID,
  295. WMI_TLV_PHYERR_EVENTID,
  296. WMI_TLV_PDEV_DUMP_EVENTID,
  297. WMI_TLV_TX_PAUSE_EVENTID,
  298. WMI_TLV_DFS_RADAR_EVENTID,
  299. WMI_TLV_PDEV_L1SS_TRACK_EVENTID,
  300. WMI_TLV_PDEV_TEMPERATURE_EVENTID,
  301. WMI_TLV_VDEV_START_RESP_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_VDEV),
  302. WMI_TLV_VDEV_STOPPED_EVENTID,
  303. WMI_TLV_VDEV_INSTALL_KEY_COMPLETE_EVENTID,
  304. WMI_TLV_VDEV_MCC_BCN_INTERVAL_CHANGE_REQ_EVENTID,
  305. WMI_TLV_PEER_STA_KICKOUT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_PEER),
  306. WMI_TLV_PEER_INFO_EVENTID,
  307. WMI_TLV_PEER_TX_FAIL_CNT_THR_EVENTID,
  308. WMI_TLV_PEER_ESTIMATED_LINKSPEED_EVENTID,
  309. WMI_TLV_PEER_STATE_EVENTID,
  310. WMI_TLV_MGMT_RX_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_MGMT),
  311. WMI_TLV_HOST_SWBA_EVENTID,
  312. WMI_TLV_TBTTOFFSET_UPDATE_EVENTID,
  313. WMI_TLV_OFFLOAD_BCN_TX_STATUS_EVENTID,
  314. WMI_TLV_OFFLOAD_PROB_RESP_TX_STATUS_EVENTID,
  315. WMI_TLV_TX_DELBA_COMPLETE_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_BA_NEG),
  316. WMI_TLV_TX_ADDBA_COMPLETE_EVENTID,
  317. WMI_TLV_BA_RSP_SSN_EVENTID,
  318. WMI_TLV_AGGR_STATE_TRIG_EVENTID,
  319. WMI_TLV_ROAM_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_ROAM),
  320. WMI_TLV_PROFILE_MATCH,
  321. WMI_TLV_ROAM_SYNCH_EVENTID,
  322. WMI_TLV_P2P_DISC_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_P2P),
  323. WMI_TLV_P2P_NOA_EVENTID,
  324. WMI_TLV_PDEV_RESUME_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_SUSPEND),
  325. WMI_TLV_WOW_WAKEUP_HOST_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_WOW),
  326. WMI_TLV_D0_WOW_DISABLE_ACK_EVENTID,
  327. WMI_TLV_RTT_MEASUREMENT_REPORT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_RTT),
  328. WMI_TLV_TSF_MEASUREMENT_REPORT_EVENTID,
  329. WMI_TLV_RTT_ERROR_REPORT_EVENTID,
  330. WMI_TLV_STATS_EXT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_STATS),
  331. WMI_TLV_IFACE_LINK_STATS_EVENTID,
  332. WMI_TLV_PEER_LINK_STATS_EVENTID,
  333. WMI_TLV_RADIO_LINK_STATS_EVENTID,
  334. WMI_TLV_NLO_MATCH_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_NLO_OFL),
  335. WMI_TLV_NLO_SCAN_COMPLETE_EVENTID,
  336. WMI_TLV_APFIND_EVENTID,
  337. WMI_TLV_GTK_OFFLOAD_STATUS_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_GTK_OFL),
  338. WMI_TLV_GTK_REKEY_FAIL_EVENTID,
  339. WMI_TLV_CSA_HANDLING_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_CSA_OFL),
  340. WMI_TLV_CHATTER_PC_QUERY_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_CHATTER),
  341. WMI_TLV_ECHO_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_MISC),
  342. WMI_TLV_PDEV_UTF_EVENTID,
  343. WMI_TLV_DEBUG_MESG_EVENTID,
  344. WMI_TLV_UPDATE_STATS_EVENTID,
  345. WMI_TLV_DEBUG_PRINT_EVENTID,
  346. WMI_TLV_DCS_INTERFERENCE_EVENTID,
  347. WMI_TLV_PDEV_QVIT_EVENTID,
  348. WMI_TLV_WLAN_PROFILE_DATA_EVENTID,
  349. WMI_TLV_PDEV_FTM_INTG_EVENTID,
  350. WMI_TLV_WLAN_FREQ_AVOID_EVENTID,
  351. WMI_TLV_VDEV_GET_KEEPALIVE_EVENTID,
  352. WMI_TLV_THERMAL_MGMT_EVENTID,
  353. WMI_TLV_DIAG_DATA_CONTAINER_EVENTID,
  354. WMI_TLV_HOST_AUTO_SHUTDOWN_EVENTID,
  355. WMI_TLV_UPDATE_WHAL_MIB_STATS_EVENTID,
  356. WMI_TLV_UPDATE_VDEV_RATE_STATS_EVENTID,
  357. WMI_TLV_DIAG_EVENTID,
  358. WMI_TLV_GPIO_INPUT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_GPIO),
  359. WMI_TLV_UPLOADH_EVENTID,
  360. WMI_TLV_CAPTUREH_EVENTID,
  361. WMI_TLV_RFKILL_STATE_CHANGE_EVENTID,
  362. WMI_TLV_TDLS_PEER_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_TDLS),
  363. WMI_TLV_BATCH_SCAN_ENABLED_EVENTID =
  364. WMI_TLV_EV(WMI_TLV_GRP_LOCATION_SCAN),
  365. WMI_TLV_BATCH_SCAN_RESULT_EVENTID,
  366. WMI_TLV_OEM_CAPABILITY_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_OEM),
  367. WMI_TLV_OEM_MEASUREMENT_REPORT_EVENTID,
  368. WMI_TLV_OEM_ERROR_REPORT_EVENTID,
  369. WMI_TLV_NAN_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_NAN),
  370. WMI_TLV_LPI_RESULT_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_LPI),
  371. WMI_TLV_LPI_STATUS_EVENTID,
  372. WMI_TLV_LPI_HANDOFF_EVENTID,
  373. WMI_TLV_EXTSCAN_START_STOP_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_EXTSCAN),
  374. WMI_TLV_EXTSCAN_OPERATION_EVENTID,
  375. WMI_TLV_EXTSCAN_TABLE_USAGE_EVENTID,
  376. WMI_TLV_EXTSCAN_CACHED_RESULTS_EVENTID,
  377. WMI_TLV_EXTSCAN_WLAN_CHANGE_RESULTS_EVENTID,
  378. WMI_TLV_EXTSCAN_HOTLIST_MATCH_EVENTID,
  379. WMI_TLV_EXTSCAN_CAPABILITIES_EVENTID,
  380. WMI_TLV_MDNS_STATS_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_MDNS_OFL),
  381. WMI_TLV_SAP_OFL_ADD_STA_EVENTID = WMI_TLV_EV(WMI_TLV_GRP_SAP_OFL),
  382. WMI_TLV_SAP_OFL_DEL_STA_EVENTID,
  383. };
  384. enum wmi_tlv_pdev_param {
  385. WMI_TLV_PDEV_PARAM_TX_CHAIN_MASK = 0x1,
  386. WMI_TLV_PDEV_PARAM_RX_CHAIN_MASK,
  387. WMI_TLV_PDEV_PARAM_TXPOWER_LIMIT2G,
  388. WMI_TLV_PDEV_PARAM_TXPOWER_LIMIT5G,
  389. WMI_TLV_PDEV_PARAM_TXPOWER_SCALE,
  390. WMI_TLV_PDEV_PARAM_BEACON_GEN_MODE,
  391. WMI_TLV_PDEV_PARAM_BEACON_TX_MODE,
  392. WMI_TLV_PDEV_PARAM_RESMGR_OFFCHAN_MODE,
  393. WMI_TLV_PDEV_PARAM_PROTECTION_MODE,
  394. WMI_TLV_PDEV_PARAM_DYNAMIC_BW,
  395. WMI_TLV_PDEV_PARAM_NON_AGG_SW_RETRY_TH,
  396. WMI_TLV_PDEV_PARAM_AGG_SW_RETRY_TH,
  397. WMI_TLV_PDEV_PARAM_STA_KICKOUT_TH,
  398. WMI_TLV_PDEV_PARAM_AC_AGGRSIZE_SCALING,
  399. WMI_TLV_PDEV_PARAM_LTR_ENABLE,
  400. WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_BE,
  401. WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_BK,
  402. WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_VI,
  403. WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_VO,
  404. WMI_TLV_PDEV_PARAM_LTR_AC_LATENCY_TIMEOUT,
  405. WMI_TLV_PDEV_PARAM_LTR_SLEEP_OVERRIDE,
  406. WMI_TLV_PDEV_PARAM_LTR_RX_OVERRIDE,
  407. WMI_TLV_PDEV_PARAM_LTR_TX_ACTIVITY_TIMEOUT,
  408. WMI_TLV_PDEV_PARAM_L1SS_ENABLE,
  409. WMI_TLV_PDEV_PARAM_DSLEEP_ENABLE,
  410. WMI_TLV_PDEV_PARAM_PCIELP_TXBUF_FLUSH,
  411. WMI_TLV_PDEV_PARAM_PCIELP_TXBUF_WATERMARK,
  412. WMI_TLV_PDEV_PARAM_PCIELP_TXBUF_TMO_EN,
  413. WMI_TLV_PDEV_PARAM_PCIELP_TXBUF_TMO_VALUE,
  414. WMI_TLV_PDEV_PARAM_PDEV_STATS_UPDATE_PERIOD,
  415. WMI_TLV_PDEV_PARAM_VDEV_STATS_UPDATE_PERIOD,
  416. WMI_TLV_PDEV_PARAM_PEER_STATS_UPDATE_PERIOD,
  417. WMI_TLV_PDEV_PARAM_BCNFLT_STATS_UPDATE_PERIOD,
  418. WMI_TLV_PDEV_PARAM_PMF_QOS,
  419. WMI_TLV_PDEV_PARAM_ARP_AC_OVERRIDE,
  420. WMI_TLV_PDEV_PARAM_DCS,
  421. WMI_TLV_PDEV_PARAM_ANI_ENABLE,
  422. WMI_TLV_PDEV_PARAM_ANI_POLL_PERIOD,
  423. WMI_TLV_PDEV_PARAM_ANI_LISTEN_PERIOD,
  424. WMI_TLV_PDEV_PARAM_ANI_OFDM_LEVEL,
  425. WMI_TLV_PDEV_PARAM_ANI_CCK_LEVEL,
  426. WMI_TLV_PDEV_PARAM_DYNTXCHAIN,
  427. WMI_TLV_PDEV_PARAM_PROXY_STA,
  428. WMI_TLV_PDEV_PARAM_IDLE_PS_CONFIG,
  429. WMI_TLV_PDEV_PARAM_POWER_GATING_SLEEP,
  430. WMI_TLV_PDEV_PARAM_RFKILL_ENABLE,
  431. WMI_TLV_PDEV_PARAM_BURST_DUR,
  432. WMI_TLV_PDEV_PARAM_BURST_ENABLE,
  433. WMI_TLV_PDEV_PARAM_HW_RFKILL_CONFIG,
  434. WMI_TLV_PDEV_PARAM_LOW_POWER_RF_ENABLE,
  435. WMI_TLV_PDEV_PARAM_L1SS_TRACK,
  436. WMI_TLV_PDEV_PARAM_HYST_EN,
  437. WMI_TLV_PDEV_PARAM_POWER_COLLAPSE_ENABLE,
  438. WMI_TLV_PDEV_PARAM_LED_SYS_STATE,
  439. WMI_TLV_PDEV_PARAM_LED_ENABLE,
  440. WMI_TLV_PDEV_PARAM_AUDIO_OVER_WLAN_LATENCY,
  441. WMI_TLV_PDEV_PARAM_AUDIO_OVER_WLAN_ENABLE,
  442. WMI_TLV_PDEV_PARAM_WHAL_MIB_STATS_UPDATE_ENABLE,
  443. WMI_TLV_PDEV_PARAM_VDEV_RATE_STATS_UPDATE_PERIOD,
  444. WMI_TLV_PDEV_PARAM_TXPOWER_REASON_NONE,
  445. WMI_TLV_PDEV_PARAM_TXPOWER_REASON_SAR,
  446. WMI_TLV_PDEV_PARAM_TXPOWER_REASON_MAX,
  447. };
  448. enum wmi_tlv_vdev_param {
  449. WMI_TLV_VDEV_PARAM_RTS_THRESHOLD = 0x1,
  450. WMI_TLV_VDEV_PARAM_FRAGMENTATION_THRESHOLD,
  451. WMI_TLV_VDEV_PARAM_BEACON_INTERVAL,
  452. WMI_TLV_VDEV_PARAM_LISTEN_INTERVAL,
  453. WMI_TLV_VDEV_PARAM_MULTICAST_RATE,
  454. WMI_TLV_VDEV_PARAM_MGMT_TX_RATE,
  455. WMI_TLV_VDEV_PARAM_SLOT_TIME,
  456. WMI_TLV_VDEV_PARAM_PREAMBLE,
  457. WMI_TLV_VDEV_PARAM_SWBA_TIME,
  458. WMI_TLV_VDEV_STATS_UPDATE_PERIOD,
  459. WMI_TLV_VDEV_PWRSAVE_AGEOUT_TIME,
  460. WMI_TLV_VDEV_HOST_SWBA_INTERVAL,
  461. WMI_TLV_VDEV_PARAM_DTIM_PERIOD,
  462. WMI_TLV_VDEV_OC_SCHEDULER_AIR_TIME_LIMIT,
  463. WMI_TLV_VDEV_PARAM_WDS,
  464. WMI_TLV_VDEV_PARAM_ATIM_WINDOW,
  465. WMI_TLV_VDEV_PARAM_BMISS_COUNT_MAX,
  466. WMI_TLV_VDEV_PARAM_BMISS_FIRST_BCNT,
  467. WMI_TLV_VDEV_PARAM_BMISS_FINAL_BCNT,
  468. WMI_TLV_VDEV_PARAM_FEATURE_WMM,
  469. WMI_TLV_VDEV_PARAM_CHWIDTH,
  470. WMI_TLV_VDEV_PARAM_CHEXTOFFSET,
  471. WMI_TLV_VDEV_PARAM_DISABLE_HTPROTECTION,
  472. WMI_TLV_VDEV_PARAM_STA_QUICKKICKOUT,
  473. WMI_TLV_VDEV_PARAM_MGMT_RATE,
  474. WMI_TLV_VDEV_PARAM_PROTECTION_MODE,
  475. WMI_TLV_VDEV_PARAM_FIXED_RATE,
  476. WMI_TLV_VDEV_PARAM_SGI,
  477. WMI_TLV_VDEV_PARAM_LDPC,
  478. WMI_TLV_VDEV_PARAM_TX_STBC,
  479. WMI_TLV_VDEV_PARAM_RX_STBC,
  480. WMI_TLV_VDEV_PARAM_INTRA_BSS_FWD,
  481. WMI_TLV_VDEV_PARAM_DEF_KEYID,
  482. WMI_TLV_VDEV_PARAM_NSS,
  483. WMI_TLV_VDEV_PARAM_BCAST_DATA_RATE,
  484. WMI_TLV_VDEV_PARAM_MCAST_DATA_RATE,
  485. WMI_TLV_VDEV_PARAM_MCAST_INDICATE,
  486. WMI_TLV_VDEV_PARAM_DHCP_INDICATE,
  487. WMI_TLV_VDEV_PARAM_UNKNOWN_DEST_INDICATE,
  488. WMI_TLV_VDEV_PARAM_AP_KEEPALIVE_MIN_IDLE_INACTIVE_TIME_SECS,
  489. WMI_TLV_VDEV_PARAM_AP_KEEPALIVE_MAX_IDLE_INACTIVE_TIME_SECS,
  490. WMI_TLV_VDEV_PARAM_AP_KEEPALIVE_MAX_UNRESPONSIVE_TIME_SECS,
  491. WMI_TLV_VDEV_PARAM_AP_ENABLE_NAWDS,
  492. WMI_TLV_VDEV_PARAM_ENABLE_RTSCTS,
  493. WMI_TLV_VDEV_PARAM_TXBF,
  494. WMI_TLV_VDEV_PARAM_PACKET_POWERSAVE,
  495. WMI_TLV_VDEV_PARAM_DROP_UNENCRY,
  496. WMI_TLV_VDEV_PARAM_TX_ENCAP_TYPE,
  497. WMI_TLV_VDEV_PARAM_AP_DETECT_OUT_OF_SYNC_SLEEPING_STA_TIME_SECS,
  498. WMI_TLV_VDEV_PARAM_EARLY_RX_ADJUST_ENABLE,
  499. WMI_TLV_VDEV_PARAM_EARLY_RX_TGT_BMISS_NUM,
  500. WMI_TLV_VDEV_PARAM_EARLY_RX_BMISS_SAMPLE_CYCLE,
  501. WMI_TLV_VDEV_PARAM_EARLY_RX_SLOP_STEP,
  502. WMI_TLV_VDEV_PARAM_EARLY_RX_INIT_SLOP,
  503. WMI_TLV_VDEV_PARAM_EARLY_RX_ADJUST_PAUSE,
  504. WMI_TLV_VDEV_PARAM_TX_PWRLIMIT,
  505. WMI_TLV_VDEV_PARAM_SNR_NUM_FOR_CAL,
  506. WMI_TLV_VDEV_PARAM_ROAM_FW_OFFLOAD,
  507. WMI_TLV_VDEV_PARAM_ENABLE_RMC,
  508. WMI_TLV_VDEV_PARAM_IBSS_MAX_BCN_LOST_MS,
  509. WMI_TLV_VDEV_PARAM_MAX_RATE,
  510. WMI_TLV_VDEV_PARAM_EARLY_RX_DRIFT_SAMPLE,
  511. WMI_TLV_VDEV_PARAM_SET_IBSS_TX_FAIL_CNT_THR,
  512. WMI_TLV_VDEV_PARAM_EBT_RESYNC_TIMEOUT,
  513. WMI_TLV_VDEV_PARAM_AGGR_TRIG_EVENT_ENABLE,
  514. WMI_TLV_VDEV_PARAM_IS_IBSS_POWER_SAVE_ALLOWED,
  515. WMI_TLV_VDEV_PARAM_IS_POWER_COLLAPSE_ALLOWED,
  516. WMI_TLV_VDEV_PARAM_IS_AWAKE_ON_TXRX_ENABLED,
  517. WMI_TLV_VDEV_PARAM_INACTIVITY_CNT,
  518. WMI_TLV_VDEV_PARAM_TXSP_END_INACTIVITY_TIME_MS,
  519. WMI_TLV_VDEV_PARAM_DTIM_POLICY,
  520. WMI_TLV_VDEV_PARAM_IBSS_PS_WARMUP_TIME_SECS,
  521. WMI_TLV_VDEV_PARAM_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_ENABLE,
  522. };
  523. enum wmi_tlv_peer_flags {
  524. WMI_TLV_PEER_AUTH = 0x00000001,
  525. WMI_TLV_PEER_QOS = 0x00000002,
  526. WMI_TLV_PEER_NEED_PTK_4_WAY = 0x00000004,
  527. WMI_TLV_PEER_NEED_GTK_2_WAY = 0x00000010,
  528. WMI_TLV_PEER_APSD = 0x00000800,
  529. WMI_TLV_PEER_HT = 0x00001000,
  530. WMI_TLV_PEER_40MHZ = 0x00002000,
  531. WMI_TLV_PEER_STBC = 0x00008000,
  532. WMI_TLV_PEER_LDPC = 0x00010000,
  533. WMI_TLV_PEER_DYN_MIMOPS = 0x00020000,
  534. WMI_TLV_PEER_STATIC_MIMOPS = 0x00040000,
  535. WMI_TLV_PEER_SPATIAL_MUX = 0x00200000,
  536. WMI_TLV_PEER_VHT = 0x02000000,
  537. WMI_TLV_PEER_80MHZ = 0x04000000,
  538. WMI_TLV_PEER_PMF = 0x08000000,
  539. };
  540. enum wmi_tlv_tag {
  541. WMI_TLV_TAG_LAST_RESERVED = 15,
  542. WMI_TLV_TAG_FIRST_ARRAY_ENUM,
  543. WMI_TLV_TAG_ARRAY_UINT32 = WMI_TLV_TAG_FIRST_ARRAY_ENUM,
  544. WMI_TLV_TAG_ARRAY_BYTE,
  545. WMI_TLV_TAG_ARRAY_STRUCT,
  546. WMI_TLV_TAG_ARRAY_FIXED_STRUCT,
  547. WMI_TLV_TAG_LAST_ARRAY_ENUM = 31,
  548. WMI_TLV_TAG_STRUCT_SERVICE_READY_EVENT,
  549. WMI_TLV_TAG_STRUCT_HAL_REG_CAPABILITIES,
  550. WMI_TLV_TAG_STRUCT_WLAN_HOST_MEM_REQ,
  551. WMI_TLV_TAG_STRUCT_READY_EVENT,
  552. WMI_TLV_TAG_STRUCT_SCAN_EVENT,
  553. WMI_TLV_TAG_STRUCT_PDEV_TPC_CONFIG_EVENT,
  554. WMI_TLV_TAG_STRUCT_CHAN_INFO_EVENT,
  555. WMI_TLV_TAG_STRUCT_COMB_PHYERR_RX_HDR,
  556. WMI_TLV_TAG_STRUCT_VDEV_START_RESPONSE_EVENT,
  557. WMI_TLV_TAG_STRUCT_VDEV_STOPPED_EVENT,
  558. WMI_TLV_TAG_STRUCT_VDEV_INSTALL_KEY_COMPLETE_EVENT,
  559. WMI_TLV_TAG_STRUCT_PEER_STA_KICKOUT_EVENT,
  560. WMI_TLV_TAG_STRUCT_MGMT_RX_HDR,
  561. WMI_TLV_TAG_STRUCT_TBTT_OFFSET_EVENT,
  562. WMI_TLV_TAG_STRUCT_TX_DELBA_COMPLETE_EVENT,
  563. WMI_TLV_TAG_STRUCT_TX_ADDBA_COMPLETE_EVENT,
  564. WMI_TLV_TAG_STRUCT_ROAM_EVENT,
  565. WMI_TLV_TAG_STRUCT_WOW_EVENT_INFO,
  566. WMI_TLV_TAG_STRUCT_WOW_EVENT_INFO_SECTION_BITMAP,
  567. WMI_TLV_TAG_STRUCT_RTT_EVENT_HEADER,
  568. WMI_TLV_TAG_STRUCT_RTT_ERROR_REPORT_EVENT,
  569. WMI_TLV_TAG_STRUCT_RTT_MEAS_EVENT,
  570. WMI_TLV_TAG_STRUCT_ECHO_EVENT,
  571. WMI_TLV_TAG_STRUCT_FTM_INTG_EVENT,
  572. WMI_TLV_TAG_STRUCT_VDEV_GET_KEEPALIVE_EVENT,
  573. WMI_TLV_TAG_STRUCT_GPIO_INPUT_EVENT,
  574. WMI_TLV_TAG_STRUCT_CSA_EVENT,
  575. WMI_TLV_TAG_STRUCT_GTK_OFFLOAD_STATUS_EVENT,
  576. WMI_TLV_TAG_STRUCT_IGTK_INFO,
  577. WMI_TLV_TAG_STRUCT_DCS_INTERFERENCE_EVENT,
  578. WMI_TLV_TAG_STRUCT_ATH_DCS_CW_INT,
  579. WMI_TLV_TAG_STRUCT_ATH_DCS_WLAN_INT_STAT,
  580. WMI_TLV_TAG_STRUCT_WLAN_PROFILE_CTX_T,
  581. WMI_TLV_TAG_STRUCT_WLAN_PROFILE_T,
  582. WMI_TLV_TAG_STRUCT_PDEV_QVIT_EVENT,
  583. WMI_TLV_TAG_STRUCT_HOST_SWBA_EVENT,
  584. WMI_TLV_TAG_STRUCT_TIM_INFO,
  585. WMI_TLV_TAG_STRUCT_P2P_NOA_INFO,
  586. WMI_TLV_TAG_STRUCT_STATS_EVENT,
  587. WMI_TLV_TAG_STRUCT_AVOID_FREQ_RANGES_EVENT,
  588. WMI_TLV_TAG_STRUCT_AVOID_FREQ_RANGE_DESC,
  589. WMI_TLV_TAG_STRUCT_GTK_REKEY_FAIL_EVENT,
  590. WMI_TLV_TAG_STRUCT_INIT_CMD,
  591. WMI_TLV_TAG_STRUCT_RESOURCE_CONFIG,
  592. WMI_TLV_TAG_STRUCT_WLAN_HOST_MEMORY_CHUNK,
  593. WMI_TLV_TAG_STRUCT_START_SCAN_CMD,
  594. WMI_TLV_TAG_STRUCT_STOP_SCAN_CMD,
  595. WMI_TLV_TAG_STRUCT_SCAN_CHAN_LIST_CMD,
  596. WMI_TLV_TAG_STRUCT_CHANNEL,
  597. WMI_TLV_TAG_STRUCT_PDEV_SET_REGDOMAIN_CMD,
  598. WMI_TLV_TAG_STRUCT_PDEV_SET_PARAM_CMD,
  599. WMI_TLV_TAG_STRUCT_PDEV_SET_WMM_PARAMS_CMD,
  600. WMI_TLV_TAG_STRUCT_WMM_PARAMS,
  601. WMI_TLV_TAG_STRUCT_PDEV_SET_QUIET_CMD,
  602. WMI_TLV_TAG_STRUCT_VDEV_CREATE_CMD,
  603. WMI_TLV_TAG_STRUCT_VDEV_DELETE_CMD,
  604. WMI_TLV_TAG_STRUCT_VDEV_START_REQUEST_CMD,
  605. WMI_TLV_TAG_STRUCT_P2P_NOA_DESCRIPTOR,
  606. WMI_TLV_TAG_STRUCT_P2P_GO_SET_BEACON_IE,
  607. WMI_TLV_TAG_STRUCT_GTK_OFFLOAD_CMD,
  608. WMI_TLV_TAG_STRUCT_VDEV_UP_CMD,
  609. WMI_TLV_TAG_STRUCT_VDEV_STOP_CMD,
  610. WMI_TLV_TAG_STRUCT_VDEV_DOWN_CMD,
  611. WMI_TLV_TAG_STRUCT_VDEV_SET_PARAM_CMD,
  612. WMI_TLV_TAG_STRUCT_VDEV_INSTALL_KEY_CMD,
  613. WMI_TLV_TAG_STRUCT_PEER_CREATE_CMD,
  614. WMI_TLV_TAG_STRUCT_PEER_DELETE_CMD,
  615. WMI_TLV_TAG_STRUCT_PEER_FLUSH_TIDS_CMD,
  616. WMI_TLV_TAG_STRUCT_PEER_SET_PARAM_CMD,
  617. WMI_TLV_TAG_STRUCT_PEER_ASSOC_COMPLETE_CMD,
  618. WMI_TLV_TAG_STRUCT_VHT_RATE_SET,
  619. WMI_TLV_TAG_STRUCT_BCN_TMPL_CMD,
  620. WMI_TLV_TAG_STRUCT_PRB_TMPL_CMD,
  621. WMI_TLV_TAG_STRUCT_BCN_PRB_INFO,
  622. WMI_TLV_TAG_STRUCT_PEER_TID_ADDBA_CMD,
  623. WMI_TLV_TAG_STRUCT_PEER_TID_DELBA_CMD,
  624. WMI_TLV_TAG_STRUCT_STA_POWERSAVE_MODE_CMD,
  625. WMI_TLV_TAG_STRUCT_STA_POWERSAVE_PARAM_CMD,
  626. WMI_TLV_TAG_STRUCT_STA_DTIM_PS_METHOD_CMD,
  627. WMI_TLV_TAG_STRUCT_ROAM_SCAN_MODE,
  628. WMI_TLV_TAG_STRUCT_ROAM_SCAN_RSSI_THRESHOLD,
  629. WMI_TLV_TAG_STRUCT_ROAM_SCAN_PERIOD,
  630. WMI_TLV_TAG_STRUCT_ROAM_SCAN_RSSI_CHANGE_THRESHOLD,
  631. WMI_TLV_TAG_STRUCT_PDEV_SUSPEND_CMD,
  632. WMI_TLV_TAG_STRUCT_PDEV_RESUME_CMD,
  633. WMI_TLV_TAG_STRUCT_ADD_BCN_FILTER_CMD,
  634. WMI_TLV_TAG_STRUCT_RMV_BCN_FILTER_CMD,
  635. WMI_TLV_TAG_STRUCT_WOW_ENABLE_CMD,
  636. WMI_TLV_TAG_STRUCT_WOW_HOSTWAKEUP_FROM_SLEEP_CMD,
  637. WMI_TLV_TAG_STRUCT_STA_UAPSD_AUTO_TRIG_CMD,
  638. WMI_TLV_TAG_STRUCT_STA_UAPSD_AUTO_TRIG_PARAM,
  639. WMI_TLV_TAG_STRUCT_SET_ARP_NS_OFFLOAD_CMD,
  640. WMI_TLV_TAG_STRUCT_ARP_OFFLOAD_TUPLE,
  641. WMI_TLV_TAG_STRUCT_NS_OFFLOAD_TUPLE,
  642. WMI_TLV_TAG_STRUCT_FTM_INTG_CMD,
  643. WMI_TLV_TAG_STRUCT_STA_KEEPALIVE_CMD,
  644. WMI_TLV_TAG_STRUCT_STA_KEEPALVE_ARP_RESPONSE,
  645. WMI_TLV_TAG_STRUCT_P2P_SET_VENDOR_IE_DATA_CMD,
  646. WMI_TLV_TAG_STRUCT_AP_PS_PEER_CMD,
  647. WMI_TLV_TAG_STRUCT_PEER_RATE_RETRY_SCHED_CMD,
  648. WMI_TLV_TAG_STRUCT_WLAN_PROFILE_TRIGGER_CMD,
  649. WMI_TLV_TAG_STRUCT_WLAN_PROFILE_SET_HIST_INTVL_CMD,
  650. WMI_TLV_TAG_STRUCT_WLAN_PROFILE_GET_PROF_DATA_CMD,
  651. WMI_TLV_TAG_STRUCT_WLAN_PROFILE_ENABLE_PROFILE_ID_CMD,
  652. WMI_TLV_TAG_STRUCT_WOW_DEL_PATTERN_CMD,
  653. WMI_TLV_TAG_STRUCT_WOW_ADD_DEL_EVT_CMD,
  654. WMI_TLV_TAG_STRUCT_RTT_MEASREQ_HEAD,
  655. WMI_TLV_TAG_STRUCT_RTT_MEASREQ_BODY,
  656. WMI_TLV_TAG_STRUCT_RTT_TSF_CMD,
  657. WMI_TLV_TAG_STRUCT_VDEV_SPECTRAL_CONFIGURE_CMD,
  658. WMI_TLV_TAG_STRUCT_VDEV_SPECTRAL_ENABLE_CMD,
  659. WMI_TLV_TAG_STRUCT_REQUEST_STATS_CMD,
  660. WMI_TLV_TAG_STRUCT_NLO_CONFIG_CMD,
  661. WMI_TLV_TAG_STRUCT_NLO_CONFIGURED_PARAMETERS,
  662. WMI_TLV_TAG_STRUCT_CSA_OFFLOAD_ENABLE_CMD,
  663. WMI_TLV_TAG_STRUCT_CSA_OFFLOAD_CHANSWITCH_CMD,
  664. WMI_TLV_TAG_STRUCT_CHATTER_SET_MODE_CMD,
  665. WMI_TLV_TAG_STRUCT_ECHO_CMD,
  666. WMI_TLV_TAG_STRUCT_VDEV_SET_KEEPALIVE_CMD,
  667. WMI_TLV_TAG_STRUCT_VDEV_GET_KEEPALIVE_CMD,
  668. WMI_TLV_TAG_STRUCT_FORCE_FW_HANG_CMD,
  669. WMI_TLV_TAG_STRUCT_GPIO_CONFIG_CMD,
  670. WMI_TLV_TAG_STRUCT_GPIO_OUTPUT_CMD,
  671. WMI_TLV_TAG_STRUCT_PEER_ADD_WDS_ENTRY_CMD,
  672. WMI_TLV_TAG_STRUCT_PEER_REMOVE_WDS_ENTRY_CMD,
  673. WMI_TLV_TAG_STRUCT_BCN_TX_HDR,
  674. WMI_TLV_TAG_STRUCT_BCN_SEND_FROM_HOST_CMD,
  675. WMI_TLV_TAG_STRUCT_MGMT_TX_HDR,
  676. WMI_TLV_TAG_STRUCT_ADDBA_CLEAR_RESP_CMD,
  677. WMI_TLV_TAG_STRUCT_ADDBA_SEND_CMD,
  678. WMI_TLV_TAG_STRUCT_DELBA_SEND_CMD,
  679. WMI_TLV_TAG_STRUCT_ADDBA_SETRESPONSE_CMD,
  680. WMI_TLV_TAG_STRUCT_SEND_SINGLEAMSDU_CMD,
  681. WMI_TLV_TAG_STRUCT_PDEV_PKTLOG_ENABLE_CMD,
  682. WMI_TLV_TAG_STRUCT_PDEV_PKTLOG_DISABLE_CMD,
  683. WMI_TLV_TAG_STRUCT_PDEV_SET_HT_IE_CMD,
  684. WMI_TLV_TAG_STRUCT_PDEV_SET_VHT_IE_CMD,
  685. WMI_TLV_TAG_STRUCT_PDEV_SET_DSCP_TID_MAP_CMD,
  686. WMI_TLV_TAG_STRUCT_PDEV_GREEN_AP_PS_ENABLE_CMD,
  687. WMI_TLV_TAG_STRUCT_PDEV_GET_TPC_CONFIG_CMD,
  688. WMI_TLV_TAG_STRUCT_PDEV_SET_BASE_MACADDR_CMD,
  689. WMI_TLV_TAG_STRUCT_PEER_MCAST_GROUP_CMD,
  690. WMI_TLV_TAG_STRUCT_ROAM_AP_PROFILE,
  691. WMI_TLV_TAG_STRUCT_AP_PROFILE,
  692. WMI_TLV_TAG_STRUCT_SCAN_SCH_PRIORITY_TABLE_CMD,
  693. WMI_TLV_TAG_STRUCT_PDEV_DFS_ENABLE_CMD,
  694. WMI_TLV_TAG_STRUCT_PDEV_DFS_DISABLE_CMD,
  695. WMI_TLV_TAG_STRUCT_WOW_ADD_PATTERN_CMD,
  696. WMI_TLV_TAG_STRUCT_WOW_BITMAP_PATTERN_T,
  697. WMI_TLV_TAG_STRUCT_WOW_IPV4_SYNC_PATTERN_T,
  698. WMI_TLV_TAG_STRUCT_WOW_IPV6_SYNC_PATTERN_T,
  699. WMI_TLV_TAG_STRUCT_WOW_MAGIC_PATTERN_CMD,
  700. WMI_TLV_TAG_STRUCT_SCAN_UPDATE_REQUEST_CMD,
  701. WMI_TLV_TAG_STRUCT_CHATTER_PKT_COALESCING_FILTER,
  702. WMI_TLV_TAG_STRUCT_CHATTER_COALESCING_ADD_FILTER_CMD,
  703. WMI_TLV_TAG_STRUCT_CHATTER_COALESCING_DELETE_FILTER_CMD,
  704. WMI_TLV_TAG_STRUCT_CHATTER_COALESCING_QUERY_CMD,
  705. WMI_TLV_TAG_STRUCT_TXBF_CMD,
  706. WMI_TLV_TAG_STRUCT_DEBUG_LOG_CONFIG_CMD,
  707. WMI_TLV_TAG_STRUCT_NLO_EVENT,
  708. WMI_TLV_TAG_STRUCT_CHATTER_QUERY_REPLY_EVENT,
  709. WMI_TLV_TAG_STRUCT_UPLOAD_H_HDR,
  710. WMI_TLV_TAG_STRUCT_CAPTURE_H_EVENT_HDR,
  711. WMI_TLV_TAG_STRUCT_VDEV_WNM_SLEEPMODE_CMD,
  712. WMI_TLV_TAG_STRUCT_VDEV_IPSEC_NATKEEPALIVE_FILTER_CMD,
  713. WMI_TLV_TAG_STRUCT_VDEV_WMM_ADDTS_CMD,
  714. WMI_TLV_TAG_STRUCT_VDEV_WMM_DELTS_CMD,
  715. WMI_TLV_TAG_STRUCT_VDEV_SET_WMM_PARAMS_CMD,
  716. WMI_TLV_TAG_STRUCT_TDLS_SET_STATE_CMD,
  717. WMI_TLV_TAG_STRUCT_TDLS_PEER_UPDATE_CMD,
  718. WMI_TLV_TAG_STRUCT_TDLS_PEER_EVENT,
  719. WMI_TLV_TAG_STRUCT_TDLS_PEER_CAPABILITIES,
  720. WMI_TLV_TAG_STRUCT_VDEV_MCC_SET_TBTT_MODE_CMD,
  721. WMI_TLV_TAG_STRUCT_ROAM_CHAN_LIST,
  722. WMI_TLV_TAG_STRUCT_VDEV_MCC_BCN_INTVL_CHANGE_EVENT,
  723. WMI_TLV_TAG_STRUCT_RESMGR_ADAPTIVE_OCS_CMD,
  724. WMI_TLV_TAG_STRUCT_RESMGR_SET_CHAN_TIME_QUOTA_CMD,
  725. WMI_TLV_TAG_STRUCT_RESMGR_SET_CHAN_LATENCY_CMD,
  726. WMI_TLV_TAG_STRUCT_BA_REQ_SSN_CMD,
  727. WMI_TLV_TAG_STRUCT_BA_RSP_SSN_EVENT,
  728. WMI_TLV_TAG_STRUCT_STA_SMPS_FORCE_MODE_CMD,
  729. WMI_TLV_TAG_STRUCT_SET_MCASTBCAST_FILTER_CMD,
  730. WMI_TLV_TAG_STRUCT_P2P_SET_OPPPS_CMD,
  731. WMI_TLV_TAG_STRUCT_P2P_SET_NOA_CMD,
  732. WMI_TLV_TAG_STRUCT_BA_REQ_SSN_CMD_SUB_STRUCT_PARAM,
  733. WMI_TLV_TAG_STRUCT_BA_REQ_SSN_EVENT_SUB_STRUCT_PARAM,
  734. WMI_TLV_TAG_STRUCT_STA_SMPS_PARAM_CMD,
  735. WMI_TLV_TAG_STRUCT_VDEV_SET_GTX_PARAMS_CMD,
  736. WMI_TLV_TAG_STRUCT_MCC_SCHED_TRAFFIC_STATS_CMD,
  737. WMI_TLV_TAG_STRUCT_MCC_SCHED_STA_TRAFFIC_STATS,
  738. WMI_TLV_TAG_STRUCT_OFFLOAD_BCN_TX_STATUS_EVENT,
  739. WMI_TLV_TAG_STRUCT_P2P_NOA_EVENT,
  740. WMI_TLV_TAG_STRUCT_HB_SET_ENABLE_CMD,
  741. WMI_TLV_TAG_STRUCT_HB_SET_TCP_PARAMS_CMD,
  742. WMI_TLV_TAG_STRUCT_HB_SET_TCP_PKT_FILTER_CMD,
  743. WMI_TLV_TAG_STRUCT_HB_SET_UDP_PARAMS_CMD,
  744. WMI_TLV_TAG_STRUCT_HB_SET_UDP_PKT_FILTER_CMD,
  745. WMI_TLV_TAG_STRUCT_HB_IND_EVENT,
  746. WMI_TLV_TAG_STRUCT_TX_PAUSE_EVENT,
  747. WMI_TLV_TAG_STRUCT_RFKILL_EVENT,
  748. WMI_TLV_TAG_STRUCT_DFS_RADAR_EVENT,
  749. WMI_TLV_TAG_STRUCT_DFS_PHYERR_FILTER_ENA_CMD,
  750. WMI_TLV_TAG_STRUCT_DFS_PHYERR_FILTER_DIS_CMD,
  751. WMI_TLV_TAG_STRUCT_BATCH_SCAN_RESULT_SCAN_LIST,
  752. WMI_TLV_TAG_STRUCT_BATCH_SCAN_RESULT_NETWORK_INFO,
  753. WMI_TLV_TAG_STRUCT_BATCH_SCAN_ENABLE_CMD,
  754. WMI_TLV_TAG_STRUCT_BATCH_SCAN_DISABLE_CMD,
  755. WMI_TLV_TAG_STRUCT_BATCH_SCAN_TRIGGER_RESULT_CMD,
  756. WMI_TLV_TAG_STRUCT_BATCH_SCAN_ENABLED_EVENT,
  757. WMI_TLV_TAG_STRUCT_BATCH_SCAN_RESULT_EVENT,
  758. WMI_TLV_TAG_STRUCT_VDEV_PLMREQ_START_CMD,
  759. WMI_TLV_TAG_STRUCT_VDEV_PLMREQ_STOP_CMD,
  760. WMI_TLV_TAG_STRUCT_THERMAL_MGMT_CMD,
  761. WMI_TLV_TAG_STRUCT_THERMAL_MGMT_EVENT,
  762. WMI_TLV_TAG_STRUCT_PEER_INFO_REQ_CMD,
  763. WMI_TLV_TAG_STRUCT_PEER_INFO_EVENT,
  764. WMI_TLV_TAG_STRUCT_PEER_INFO,
  765. WMI_TLV_TAG_STRUCT_PEER_TX_FAIL_CNT_THR_EVENT,
  766. WMI_TLV_TAG_STRUCT_RMC_SET_MODE_CMD,
  767. WMI_TLV_TAG_STRUCT_RMC_SET_ACTION_PERIOD_CMD,
  768. WMI_TLV_TAG_STRUCT_RMC_CONFIG_CMD,
  769. WMI_TLV_TAG_STRUCT_MHF_OFFLOAD_SET_MODE_CMD,
  770. WMI_TLV_TAG_STRUCT_MHF_OFFLOAD_PLUMB_ROUTING_TABLE_CMD,
  771. WMI_TLV_TAG_STRUCT_ADD_PROACTIVE_ARP_RSP_PATTERN_CMD,
  772. WMI_TLV_TAG_STRUCT_DEL_PROACTIVE_ARP_RSP_PATTERN_CMD,
  773. WMI_TLV_TAG_STRUCT_NAN_CMD_PARAM,
  774. WMI_TLV_TAG_STRUCT_NAN_EVENT_HDR,
  775. WMI_TLV_TAG_STRUCT_PDEV_L1SS_TRACK_EVENT,
  776. WMI_TLV_TAG_STRUCT_DIAG_DATA_CONTAINER_EVENT,
  777. WMI_TLV_TAG_STRUCT_MODEM_POWER_STATE_CMD_PARAM,
  778. WMI_TLV_TAG_STRUCT_PEER_GET_ESTIMATED_LINKSPEED_CMD,
  779. WMI_TLV_TAG_STRUCT_PEER_ESTIMATED_LINKSPEED_EVENT,
  780. WMI_TLV_TAG_STRUCT_AGGR_STATE_TRIG_EVENT,
  781. WMI_TLV_TAG_STRUCT_MHF_OFFLOAD_ROUTING_TABLE_ENTRY,
  782. WMI_TLV_TAG_STRUCT_ROAM_SCAN_CMD,
  783. WMI_TLV_TAG_STRUCT_REQ_STATS_EXT_CMD,
  784. WMI_TLV_TAG_STRUCT_STATS_EXT_EVENT,
  785. WMI_TLV_TAG_STRUCT_OBSS_SCAN_ENABLE_CMD,
  786. WMI_TLV_TAG_STRUCT_OBSS_SCAN_DISABLE_CMD,
  787. WMI_TLV_TAG_STRUCT_OFFLOAD_PRB_RSP_TX_STATUS_EVENT,
  788. WMI_TLV_TAG_STRUCT_PDEV_SET_LED_CONFIG_CMD,
  789. WMI_TLV_TAG_STRUCT_HOST_AUTO_SHUTDOWN_CFG_CMD,
  790. WMI_TLV_TAG_STRUCT_HOST_AUTO_SHUTDOWN_EVENT,
  791. WMI_TLV_TAG_STRUCT_UPDATE_WHAL_MIB_STATS_EVENT,
  792. WMI_TLV_TAG_STRUCT_CHAN_AVOID_UPDATE_CMD_PARAM,
  793. WMI_TLV_TAG_STRUCT_WOW_ACER_IOAC_PKT_PATTERN_T,
  794. WMI_TLV_TAG_STRUCT_WOW_ACER_IOAC_TMR_PATTERN_T,
  795. WMI_TLV_TAG_STRUCT_WOW_IOAC_ADD_KEEPALIVE_CMD,
  796. WMI_TLV_TAG_STRUCT_WOW_IOAC_DEL_KEEPALIVE_CMD,
  797. WMI_TLV_TAG_STRUCT_WOW_IOAC_KEEPALIVE_T,
  798. WMI_TLV_TAG_STRUCT_WOW_ACER_IOAC_ADD_PATTERN_CMD,
  799. WMI_TLV_TAG_STRUCT_WOW_ACER_IOAC_DEL_PATTERN_CMD,
  800. WMI_TLV_TAG_STRUCT_START_LINK_STATS_CMD,
  801. WMI_TLV_TAG_STRUCT_CLEAR_LINK_STATS_CMD,
  802. WMI_TLV_TAG_STRUCT_REQUEST_LINK_STATS_CMD,
  803. WMI_TLV_TAG_STRUCT_IFACE_LINK_STATS_EVENT,
  804. WMI_TLV_TAG_STRUCT_RADIO_LINK_STATS_EVENT,
  805. WMI_TLV_TAG_STRUCT_PEER_STATS_EVENT,
  806. WMI_TLV_TAG_STRUCT_CHANNEL_STATS,
  807. WMI_TLV_TAG_STRUCT_RADIO_LINK_STATS,
  808. WMI_TLV_TAG_STRUCT_RATE_STATS,
  809. WMI_TLV_TAG_STRUCT_PEER_LINK_STATS,
  810. WMI_TLV_TAG_STRUCT_WMM_AC_STATS,
  811. WMI_TLV_TAG_STRUCT_IFACE_LINK_STATS,
  812. WMI_TLV_TAG_STRUCT_LPI_MGMT_SNOOPING_CONFIG_CMD,
  813. WMI_TLV_TAG_STRUCT_LPI_START_SCAN_CMD,
  814. WMI_TLV_TAG_STRUCT_LPI_STOP_SCAN_CMD,
  815. WMI_TLV_TAG_STRUCT_LPI_RESULT_EVENT,
  816. WMI_TLV_TAG_STRUCT_PEER_STATE_EVENT,
  817. WMI_TLV_TAG_STRUCT_EXTSCAN_BUCKET_CMD,
  818. WMI_TLV_TAG_STRUCT_EXTSCAN_BUCKET_CHANNEL_EVENT,
  819. WMI_TLV_TAG_STRUCT_EXTSCAN_START_CMD,
  820. WMI_TLV_TAG_STRUCT_EXTSCAN_STOP_CMD,
  821. WMI_TLV_TAG_STRUCT_EXTSCAN_CONFIGURE_WLAN_CHANGE_MONITOR_CMD,
  822. WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_CHANGE_BSSID_PARAM_CMD,
  823. WMI_TLV_TAG_STRUCT_EXTSCAN_CONFIGURE_HOTLIST_MONITOR_CMD,
  824. WMI_TLV_TAG_STRUCT_EXTSCAN_GET_CACHED_RESULTS_CMD,
  825. WMI_TLV_TAG_STRUCT_EXTSCAN_GET_WLAN_CHANGE_RESULTS_CMD,
  826. WMI_TLV_TAG_STRUCT_EXTSCAN_SET_CAPABILITIES_CMD,
  827. WMI_TLV_TAG_STRUCT_EXTSCAN_GET_CAPABILITIES_CMD,
  828. WMI_TLV_TAG_STRUCT_EXTSCAN_OPERATION_EVENT,
  829. WMI_TLV_TAG_STRUCT_EXTSCAN_START_STOP_EVENT,
  830. WMI_TLV_TAG_STRUCT_EXTSCAN_TABLE_USAGE_EVENT,
  831. WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_DESCRIPTOR_EVENT,
  832. WMI_TLV_TAG_STRUCT_EXTSCAN_RSSI_INFO_EVENT,
  833. WMI_TLV_TAG_STRUCT_EXTSCAN_CACHED_RESULTS_EVENT,
  834. WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_CHANGE_RESULTS_EVENT,
  835. WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_CHANGE_RESULT_BSSID_EVENT,
  836. WMI_TLV_TAG_STRUCT_EXTSCAN_HOTLIST_MATCH_EVENT,
  837. WMI_TLV_TAG_STRUCT_EXTSCAN_CAPABILITIES_EVENT,
  838. WMI_TLV_TAG_STRUCT_EXTSCAN_CACHE_CAPABILITIES_EVENT,
  839. WMI_TLV_TAG_STRUCT_EXTSCAN_WLAN_CHANGE_MONITOR_CAPABILITIES_EVENT,
  840. WMI_TLV_TAG_STRUCT_EXTSCAN_HOTLIST_MONITOR_CAPABILITIES_EVENT,
  841. WMI_TLV_TAG_STRUCT_D0_WOW_ENABLE_DISABLE_CMD,
  842. WMI_TLV_TAG_STRUCT_D0_WOW_DISABLE_ACK_EVENT,
  843. WMI_TLV_TAG_STRUCT_UNIT_TEST_CMD,
  844. WMI_TLV_TAG_STRUCT_ROAM_OFFLOAD_TLV_PARAM,
  845. WMI_TLV_TAG_STRUCT_ROAM_11I_OFFLOAD_TLV_PARAM,
  846. WMI_TLV_TAG_STRUCT_ROAM_11R_OFFLOAD_TLV_PARAM,
  847. WMI_TLV_TAG_STRUCT_ROAM_ESE_OFFLOAD_TLV_PARAM,
  848. WMI_TLV_TAG_STRUCT_ROAM_SYNCH_EVENT,
  849. WMI_TLV_TAG_STRUCT_ROAM_SYNCH_COMPLETE,
  850. WMI_TLV_TAG_STRUCT_EXTWOW_ENABLE_CMD,
  851. WMI_TLV_TAG_STRUCT_EXTWOW_SET_APP_TYPE1_PARAMS_CMD,
  852. WMI_TLV_TAG_STRUCT_EXTWOW_SET_APP_TYPE2_PARAMS_CMD,
  853. WMI_TLV_TAG_STRUCT_LPI_STATUS_EVENT,
  854. WMI_TLV_TAG_STRUCT_LPI_HANDOFF_EVENT,
  855. WMI_TLV_TAG_STRUCT_VDEV_RATE_STATS_EVENT,
  856. WMI_TLV_TAG_STRUCT_VDEV_RATE_HT_INFO,
  857. WMI_TLV_TAG_STRUCT_RIC_REQUEST,
  858. WMI_TLV_TAG_STRUCT_PDEV_GET_TEMPERATURE_CMD,
  859. WMI_TLV_TAG_STRUCT_PDEV_TEMPERATURE_EVENT,
  860. WMI_TLV_TAG_STRUCT_SET_DHCP_SERVER_OFFLOAD_CMD,
  861. WMI_TLV_TAG_STRUCT_TPC_CHAINMASK_CONFIG_CMD,
  862. WMI_TLV_TAG_STRUCT_RIC_TSPEC,
  863. WMI_TLV_TAG_STRUCT_TPC_CHAINMASK_CONFIG,
  864. WMI_TLV_TAG_STRUCT_IPA_OFFLOAD_CMD,
  865. WMI_TLV_TAG_STRUCT_SCAN_PROB_REQ_OUI_CMD,
  866. WMI_TLV_TAG_STRUCT_KEY_MATERIAL,
  867. WMI_TLV_TAG_STRUCT_TDLS_SET_OFFCHAN_MODE_CMD,
  868. WMI_TLV_TAG_STRUCT_SET_LED_FLASHING_CMD,
  869. WMI_TLV_TAG_STRUCT_MDNS_OFFLOAD_CMD,
  870. WMI_TLV_TAG_STRUCT_MDNS_SET_FQDN_CMD,
  871. WMI_TLV_TAG_STRUCT_MDNS_SET_RESP_CMD,
  872. WMI_TLV_TAG_STRUCT_MDNS_GET_STATS_CMD,
  873. WMI_TLV_TAG_STRUCT_MDNS_STATS_EVENT,
  874. WMI_TLV_TAG_STRUCT_ROAM_INVOKE_CMD,
  875. WMI_TLV_TAG_STRUCT_PDEV_RESUME_EVENT,
  876. WMI_TLV_TAG_STRUCT_PDEV_SET_ANTENNA_DIVERSITY_CMD,
  877. WMI_TLV_TAG_STRUCT_SAP_OFL_ENABLE_CMD,
  878. WMI_TLV_TAG_STRUCT_SAP_OFL_ADD_STA_EVENT,
  879. WMI_TLV_TAG_STRUCT_SAP_OFL_DEL_STA_EVENT,
  880. WMI_TLV_TAG_STRUCT_APFIND_CMD_PARAM,
  881. WMI_TLV_TAG_STRUCT_APFIND_EVENT_HDR,
  882. WMI_TLV_TAG_MAX
  883. };
  884. enum wmi_tlv_service {
  885. WMI_TLV_SERVICE_BEACON_OFFLOAD = 0,
  886. WMI_TLV_SERVICE_SCAN_OFFLOAD,
  887. WMI_TLV_SERVICE_ROAM_SCAN_OFFLOAD,
  888. WMI_TLV_SERVICE_BCN_MISS_OFFLOAD,
  889. WMI_TLV_SERVICE_STA_PWRSAVE,
  890. WMI_TLV_SERVICE_STA_ADVANCED_PWRSAVE,
  891. WMI_TLV_SERVICE_AP_UAPSD,
  892. WMI_TLV_SERVICE_AP_DFS,
  893. WMI_TLV_SERVICE_11AC,
  894. WMI_TLV_SERVICE_BLOCKACK,
  895. WMI_TLV_SERVICE_PHYERR,
  896. WMI_TLV_SERVICE_BCN_FILTER,
  897. WMI_TLV_SERVICE_RTT,
  898. WMI_TLV_SERVICE_WOW,
  899. WMI_TLV_SERVICE_RATECTRL_CACHE,
  900. WMI_TLV_SERVICE_IRAM_TIDS,
  901. WMI_TLV_SERVICE_ARPNS_OFFLOAD,
  902. WMI_TLV_SERVICE_NLO,
  903. WMI_TLV_SERVICE_GTK_OFFLOAD,
  904. WMI_TLV_SERVICE_SCAN_SCH,
  905. WMI_TLV_SERVICE_CSA_OFFLOAD,
  906. WMI_TLV_SERVICE_CHATTER,
  907. WMI_TLV_SERVICE_COEX_FREQAVOID,
  908. WMI_TLV_SERVICE_PACKET_POWER_SAVE,
  909. WMI_TLV_SERVICE_FORCE_FW_HANG,
  910. WMI_TLV_SERVICE_GPIO,
  911. WMI_TLV_SERVICE_STA_DTIM_PS_MODULATED_DTIM,
  912. WMI_TLV_SERVICE_STA_UAPSD_BASIC_AUTO_TRIG,
  913. WMI_TLV_SERVICE_STA_UAPSD_VAR_AUTO_TRIG,
  914. WMI_TLV_SERVICE_STA_KEEP_ALIVE,
  915. WMI_TLV_SERVICE_TX_ENCAP,
  916. WMI_TLV_SERVICE_AP_PS_DETECT_OUT_OF_SYNC,
  917. WMI_TLV_SERVICE_EARLY_RX,
  918. WMI_TLV_SERVICE_STA_SMPS,
  919. WMI_TLV_SERVICE_FWTEST,
  920. WMI_TLV_SERVICE_STA_WMMAC,
  921. WMI_TLV_SERVICE_TDLS,
  922. WMI_TLV_SERVICE_BURST,
  923. WMI_TLV_SERVICE_MCC_BCN_INTERVAL_CHANGE,
  924. WMI_TLV_SERVICE_ADAPTIVE_OCS,
  925. WMI_TLV_SERVICE_BA_SSN_SUPPORT,
  926. WMI_TLV_SERVICE_FILTER_IPSEC_NATKEEPALIVE,
  927. WMI_TLV_SERVICE_WLAN_HB,
  928. WMI_TLV_SERVICE_LTE_ANT_SHARE_SUPPORT,
  929. WMI_TLV_SERVICE_BATCH_SCAN,
  930. WMI_TLV_SERVICE_QPOWER,
  931. WMI_TLV_SERVICE_PLMREQ,
  932. WMI_TLV_SERVICE_THERMAL_MGMT,
  933. WMI_TLV_SERVICE_RMC,
  934. WMI_TLV_SERVICE_MHF_OFFLOAD,
  935. WMI_TLV_SERVICE_COEX_SAR,
  936. WMI_TLV_SERVICE_BCN_TXRATE_OVERRIDE,
  937. WMI_TLV_SERVICE_NAN,
  938. WMI_TLV_SERVICE_L1SS_STAT,
  939. WMI_TLV_SERVICE_ESTIMATE_LINKSPEED,
  940. WMI_TLV_SERVICE_OBSS_SCAN,
  941. WMI_TLV_SERVICE_TDLS_OFFCHAN,
  942. WMI_TLV_SERVICE_TDLS_UAPSD_BUFFER_STA,
  943. WMI_TLV_SERVICE_TDLS_UAPSD_SLEEP_STA,
  944. WMI_TLV_SERVICE_IBSS_PWRSAVE,
  945. WMI_TLV_SERVICE_LPASS,
  946. WMI_TLV_SERVICE_EXTSCAN,
  947. WMI_TLV_SERVICE_D0WOW,
  948. WMI_TLV_SERVICE_HSOFFLOAD,
  949. WMI_TLV_SERVICE_ROAM_HO_OFFLOAD,
  950. WMI_TLV_SERVICE_RX_FULL_REORDER,
  951. WMI_TLV_SERVICE_DHCP_OFFLOAD,
  952. WMI_TLV_SERVICE_STA_RX_IPA_OFFLOAD_SUPPORT,
  953. WMI_TLV_SERVICE_MDNS_OFFLOAD,
  954. WMI_TLV_SERVICE_SAP_AUTH_OFFLOAD,
  955. };
  956. #define WMI_SERVICE_IS_ENABLED(wmi_svc_bmap, svc_id, len) \
  957. ((svc_id) < (len) && \
  958. __le32_to_cpu((wmi_svc_bmap)[(svc_id) / (sizeof(u32))]) & \
  959. BIT((svc_id) % (sizeof(u32))))
  960. #define SVCMAP(x, y, len) \
  961. do { \
  962. if (WMI_SERVICE_IS_ENABLED((in), (x), (len))) \
  963. __set_bit(y, out); \
  964. } while (0)
  965. static inline void
  966. wmi_tlv_svc_map(const __le32 *in, unsigned long *out, size_t len)
  967. {
  968. SVCMAP(WMI_TLV_SERVICE_BEACON_OFFLOAD,
  969. WMI_SERVICE_BEACON_OFFLOAD, len);
  970. SVCMAP(WMI_TLV_SERVICE_SCAN_OFFLOAD,
  971. WMI_SERVICE_SCAN_OFFLOAD, len);
  972. SVCMAP(WMI_TLV_SERVICE_ROAM_SCAN_OFFLOAD,
  973. WMI_SERVICE_ROAM_SCAN_OFFLOAD, len);
  974. SVCMAP(WMI_TLV_SERVICE_BCN_MISS_OFFLOAD,
  975. WMI_SERVICE_BCN_MISS_OFFLOAD, len);
  976. SVCMAP(WMI_TLV_SERVICE_STA_PWRSAVE,
  977. WMI_SERVICE_STA_PWRSAVE, len);
  978. SVCMAP(WMI_TLV_SERVICE_STA_ADVANCED_PWRSAVE,
  979. WMI_SERVICE_STA_ADVANCED_PWRSAVE, len);
  980. SVCMAP(WMI_TLV_SERVICE_AP_UAPSD,
  981. WMI_SERVICE_AP_UAPSD, len);
  982. SVCMAP(WMI_TLV_SERVICE_AP_DFS,
  983. WMI_SERVICE_AP_DFS, len);
  984. SVCMAP(WMI_TLV_SERVICE_11AC,
  985. WMI_SERVICE_11AC, len);
  986. SVCMAP(WMI_TLV_SERVICE_BLOCKACK,
  987. WMI_SERVICE_BLOCKACK, len);
  988. SVCMAP(WMI_TLV_SERVICE_PHYERR,
  989. WMI_SERVICE_PHYERR, len);
  990. SVCMAP(WMI_TLV_SERVICE_BCN_FILTER,
  991. WMI_SERVICE_BCN_FILTER, len);
  992. SVCMAP(WMI_TLV_SERVICE_RTT,
  993. WMI_SERVICE_RTT, len);
  994. SVCMAP(WMI_TLV_SERVICE_WOW,
  995. WMI_SERVICE_WOW, len);
  996. SVCMAP(WMI_TLV_SERVICE_RATECTRL_CACHE,
  997. WMI_SERVICE_RATECTRL_CACHE, len);
  998. SVCMAP(WMI_TLV_SERVICE_IRAM_TIDS,
  999. WMI_SERVICE_IRAM_TIDS, len);
  1000. SVCMAP(WMI_TLV_SERVICE_ARPNS_OFFLOAD,
  1001. WMI_SERVICE_ARPNS_OFFLOAD, len);
  1002. SVCMAP(WMI_TLV_SERVICE_NLO,
  1003. WMI_SERVICE_NLO, len);
  1004. SVCMAP(WMI_TLV_SERVICE_GTK_OFFLOAD,
  1005. WMI_SERVICE_GTK_OFFLOAD, len);
  1006. SVCMAP(WMI_TLV_SERVICE_SCAN_SCH,
  1007. WMI_SERVICE_SCAN_SCH, len);
  1008. SVCMAP(WMI_TLV_SERVICE_CSA_OFFLOAD,
  1009. WMI_SERVICE_CSA_OFFLOAD, len);
  1010. SVCMAP(WMI_TLV_SERVICE_CHATTER,
  1011. WMI_SERVICE_CHATTER, len);
  1012. SVCMAP(WMI_TLV_SERVICE_COEX_FREQAVOID,
  1013. WMI_SERVICE_COEX_FREQAVOID, len);
  1014. SVCMAP(WMI_TLV_SERVICE_PACKET_POWER_SAVE,
  1015. WMI_SERVICE_PACKET_POWER_SAVE, len);
  1016. SVCMAP(WMI_TLV_SERVICE_FORCE_FW_HANG,
  1017. WMI_SERVICE_FORCE_FW_HANG, len);
  1018. SVCMAP(WMI_TLV_SERVICE_GPIO,
  1019. WMI_SERVICE_GPIO, len);
  1020. SVCMAP(WMI_TLV_SERVICE_STA_DTIM_PS_MODULATED_DTIM,
  1021. WMI_SERVICE_STA_DTIM_PS_MODULATED_DTIM, len);
  1022. SVCMAP(WMI_TLV_SERVICE_STA_UAPSD_BASIC_AUTO_TRIG,
  1023. WMI_SERVICE_STA_UAPSD_BASIC_AUTO_TRIG, len);
  1024. SVCMAP(WMI_TLV_SERVICE_STA_UAPSD_VAR_AUTO_TRIG,
  1025. WMI_SERVICE_STA_UAPSD_VAR_AUTO_TRIG, len);
  1026. SVCMAP(WMI_TLV_SERVICE_STA_KEEP_ALIVE,
  1027. WMI_SERVICE_STA_KEEP_ALIVE, len);
  1028. SVCMAP(WMI_TLV_SERVICE_TX_ENCAP,
  1029. WMI_SERVICE_TX_ENCAP, len);
  1030. SVCMAP(WMI_TLV_SERVICE_AP_PS_DETECT_OUT_OF_SYNC,
  1031. WMI_SERVICE_AP_PS_DETECT_OUT_OF_SYNC, len);
  1032. SVCMAP(WMI_TLV_SERVICE_EARLY_RX,
  1033. WMI_SERVICE_EARLY_RX, len);
  1034. SVCMAP(WMI_TLV_SERVICE_STA_SMPS,
  1035. WMI_SERVICE_STA_SMPS, len);
  1036. SVCMAP(WMI_TLV_SERVICE_FWTEST,
  1037. WMI_SERVICE_FWTEST, len);
  1038. SVCMAP(WMI_TLV_SERVICE_STA_WMMAC,
  1039. WMI_SERVICE_STA_WMMAC, len);
  1040. SVCMAP(WMI_TLV_SERVICE_TDLS,
  1041. WMI_SERVICE_TDLS, len);
  1042. SVCMAP(WMI_TLV_SERVICE_BURST,
  1043. WMI_SERVICE_BURST, len);
  1044. SVCMAP(WMI_TLV_SERVICE_MCC_BCN_INTERVAL_CHANGE,
  1045. WMI_SERVICE_MCC_BCN_INTERVAL_CHANGE, len);
  1046. SVCMAP(WMI_TLV_SERVICE_ADAPTIVE_OCS,
  1047. WMI_SERVICE_ADAPTIVE_OCS, len);
  1048. SVCMAP(WMI_TLV_SERVICE_BA_SSN_SUPPORT,
  1049. WMI_SERVICE_BA_SSN_SUPPORT, len);
  1050. SVCMAP(WMI_TLV_SERVICE_FILTER_IPSEC_NATKEEPALIVE,
  1051. WMI_SERVICE_FILTER_IPSEC_NATKEEPALIVE, len);
  1052. SVCMAP(WMI_TLV_SERVICE_WLAN_HB,
  1053. WMI_SERVICE_WLAN_HB, len);
  1054. SVCMAP(WMI_TLV_SERVICE_LTE_ANT_SHARE_SUPPORT,
  1055. WMI_SERVICE_LTE_ANT_SHARE_SUPPORT, len);
  1056. SVCMAP(WMI_TLV_SERVICE_BATCH_SCAN,
  1057. WMI_SERVICE_BATCH_SCAN, len);
  1058. SVCMAP(WMI_TLV_SERVICE_QPOWER,
  1059. WMI_SERVICE_QPOWER, len);
  1060. SVCMAP(WMI_TLV_SERVICE_PLMREQ,
  1061. WMI_SERVICE_PLMREQ, len);
  1062. SVCMAP(WMI_TLV_SERVICE_THERMAL_MGMT,
  1063. WMI_SERVICE_THERMAL_MGMT, len);
  1064. SVCMAP(WMI_TLV_SERVICE_RMC,
  1065. WMI_SERVICE_RMC, len);
  1066. SVCMAP(WMI_TLV_SERVICE_MHF_OFFLOAD,
  1067. WMI_SERVICE_MHF_OFFLOAD, len);
  1068. SVCMAP(WMI_TLV_SERVICE_COEX_SAR,
  1069. WMI_SERVICE_COEX_SAR, len);
  1070. SVCMAP(WMI_TLV_SERVICE_BCN_TXRATE_OVERRIDE,
  1071. WMI_SERVICE_BCN_TXRATE_OVERRIDE, len);
  1072. SVCMAP(WMI_TLV_SERVICE_NAN,
  1073. WMI_SERVICE_NAN, len);
  1074. SVCMAP(WMI_TLV_SERVICE_L1SS_STAT,
  1075. WMI_SERVICE_L1SS_STAT, len);
  1076. SVCMAP(WMI_TLV_SERVICE_ESTIMATE_LINKSPEED,
  1077. WMI_SERVICE_ESTIMATE_LINKSPEED, len);
  1078. SVCMAP(WMI_TLV_SERVICE_OBSS_SCAN,
  1079. WMI_SERVICE_OBSS_SCAN, len);
  1080. SVCMAP(WMI_TLV_SERVICE_TDLS_OFFCHAN,
  1081. WMI_SERVICE_TDLS_OFFCHAN, len);
  1082. SVCMAP(WMI_TLV_SERVICE_TDLS_UAPSD_BUFFER_STA,
  1083. WMI_SERVICE_TDLS_UAPSD_BUFFER_STA, len);
  1084. SVCMAP(WMI_TLV_SERVICE_TDLS_UAPSD_SLEEP_STA,
  1085. WMI_SERVICE_TDLS_UAPSD_SLEEP_STA, len);
  1086. SVCMAP(WMI_TLV_SERVICE_IBSS_PWRSAVE,
  1087. WMI_SERVICE_IBSS_PWRSAVE, len);
  1088. SVCMAP(WMI_TLV_SERVICE_LPASS,
  1089. WMI_SERVICE_LPASS, len);
  1090. SVCMAP(WMI_TLV_SERVICE_EXTSCAN,
  1091. WMI_SERVICE_EXTSCAN, len);
  1092. SVCMAP(WMI_TLV_SERVICE_D0WOW,
  1093. WMI_SERVICE_D0WOW, len);
  1094. SVCMAP(WMI_TLV_SERVICE_HSOFFLOAD,
  1095. WMI_SERVICE_HSOFFLOAD, len);
  1096. SVCMAP(WMI_TLV_SERVICE_ROAM_HO_OFFLOAD,
  1097. WMI_SERVICE_ROAM_HO_OFFLOAD, len);
  1098. SVCMAP(WMI_TLV_SERVICE_RX_FULL_REORDER,
  1099. WMI_SERVICE_RX_FULL_REORDER, len);
  1100. SVCMAP(WMI_TLV_SERVICE_DHCP_OFFLOAD,
  1101. WMI_SERVICE_DHCP_OFFLOAD, len);
  1102. SVCMAP(WMI_TLV_SERVICE_STA_RX_IPA_OFFLOAD_SUPPORT,
  1103. WMI_SERVICE_STA_RX_IPA_OFFLOAD_SUPPORT, len);
  1104. SVCMAP(WMI_TLV_SERVICE_MDNS_OFFLOAD,
  1105. WMI_SERVICE_MDNS_OFFLOAD, len);
  1106. SVCMAP(WMI_TLV_SERVICE_SAP_AUTH_OFFLOAD,
  1107. WMI_SERVICE_SAP_AUTH_OFFLOAD, len);
  1108. }
  1109. #undef SVCMAP
  1110. struct wmi_tlv {
  1111. __le16 len;
  1112. __le16 tag;
  1113. u8 value[0];
  1114. } __packed;
  1115. #define WMI_TLV_MGMT_RX_NUM_RSSI 4
  1116. struct wmi_tlv_mgmt_rx_ev {
  1117. __le32 channel;
  1118. __le32 snr;
  1119. __le32 rate;
  1120. __le32 phy_mode;
  1121. __le32 buf_len;
  1122. __le32 status;
  1123. __le32 rssi[WMI_TLV_MGMT_RX_NUM_RSSI];
  1124. } __packed;
  1125. struct wmi_tlv_abi_version {
  1126. __le32 abi_ver0;
  1127. __le32 abi_ver1;
  1128. __le32 abi_ver_ns0;
  1129. __le32 abi_ver_ns1;
  1130. __le32 abi_ver_ns2;
  1131. __le32 abi_ver_ns3;
  1132. } __packed;
  1133. enum wmi_tlv_hw_bd_id {
  1134. WMI_TLV_HW_BD_LEGACY = 0,
  1135. WMI_TLV_HW_BD_QCA6174 = 1,
  1136. WMI_TLV_HW_BD_QCA2582 = 2,
  1137. };
  1138. struct wmi_tlv_hw_bd_info {
  1139. u8 rev;
  1140. u8 project_id;
  1141. u8 custom_id;
  1142. u8 reference_design_id;
  1143. } __packed;
  1144. struct wmi_tlv_svc_rdy_ev {
  1145. __le32 fw_build_vers;
  1146. struct wmi_tlv_abi_version abi;
  1147. __le32 phy_capability;
  1148. __le32 max_frag_entry;
  1149. __le32 num_rf_chains;
  1150. __le32 ht_cap_info;
  1151. __le32 vht_cap_info;
  1152. __le32 vht_supp_mcs;
  1153. __le32 hw_min_tx_power;
  1154. __le32 hw_max_tx_power;
  1155. __le32 sys_cap_info;
  1156. __le32 min_pkt_size_enable;
  1157. __le32 max_bcn_ie_size;
  1158. __le32 num_mem_reqs;
  1159. __le32 max_num_scan_chans;
  1160. __le32 hw_bd_id; /* 0 means hw_bd_info is invalid */
  1161. struct wmi_tlv_hw_bd_info hw_bd_info[5];
  1162. } __packed;
  1163. struct wmi_tlv_rdy_ev {
  1164. struct wmi_tlv_abi_version abi;
  1165. struct wmi_mac_addr mac_addr;
  1166. __le32 status;
  1167. } __packed;
  1168. struct wmi_tlv_resource_config {
  1169. __le32 num_vdevs;
  1170. __le32 num_peers;
  1171. __le32 num_offload_peers;
  1172. __le32 num_offload_reorder_bufs;
  1173. __le32 num_peer_keys;
  1174. __le32 num_tids;
  1175. __le32 ast_skid_limit;
  1176. __le32 tx_chain_mask;
  1177. __le32 rx_chain_mask;
  1178. __le32 rx_timeout_pri[4];
  1179. __le32 rx_decap_mode;
  1180. __le32 scan_max_pending_reqs;
  1181. __le32 bmiss_offload_max_vdev;
  1182. __le32 roam_offload_max_vdev;
  1183. __le32 roam_offload_max_ap_profiles;
  1184. __le32 num_mcast_groups;
  1185. __le32 num_mcast_table_elems;
  1186. __le32 mcast2ucast_mode;
  1187. __le32 tx_dbg_log_size;
  1188. __le32 num_wds_entries;
  1189. __le32 dma_burst_size;
  1190. __le32 mac_aggr_delim;
  1191. __le32 rx_skip_defrag_timeout_dup_detection_check;
  1192. __le32 vow_config;
  1193. __le32 gtk_offload_max_vdev;
  1194. __le32 num_msdu_desc;
  1195. __le32 max_frag_entries;
  1196. __le32 num_tdls_vdevs;
  1197. __le32 num_tdls_conn_table_entries;
  1198. __le32 beacon_tx_offload_max_vdev;
  1199. __le32 num_multicast_filter_entries;
  1200. __le32 num_wow_filters;
  1201. __le32 num_keep_alive_pattern;
  1202. __le32 keep_alive_pattern_size;
  1203. __le32 max_tdls_concurrent_sleep_sta;
  1204. __le32 max_tdls_concurrent_buffer_sta;
  1205. } __packed;
  1206. struct wmi_tlv_init_cmd {
  1207. struct wmi_tlv_abi_version abi;
  1208. __le32 num_host_mem_chunks;
  1209. } __packed;
  1210. struct wmi_tlv_pdev_set_param_cmd {
  1211. __le32 pdev_id; /* not used yet */
  1212. __le32 param_id;
  1213. __le32 param_value;
  1214. } __packed;
  1215. struct wmi_tlv_pdev_set_rd_cmd {
  1216. __le32 pdev_id; /* not used yet */
  1217. __le32 regd;
  1218. __le32 regd_2ghz;
  1219. __le32 regd_5ghz;
  1220. __le32 conform_limit_2ghz;
  1221. __le32 conform_limit_5ghz;
  1222. } __packed;
  1223. struct wmi_tlv_scan_chan_list_cmd {
  1224. __le32 num_scan_chans;
  1225. } __packed;
  1226. struct wmi_tlv_start_scan_cmd {
  1227. struct wmi_start_scan_common common;
  1228. __le32 burst_duration_ms;
  1229. __le32 num_channels;
  1230. __le32 num_bssids;
  1231. __le32 num_ssids;
  1232. __le32 ie_len;
  1233. __le32 num_probes;
  1234. } __packed;
  1235. struct wmi_tlv_vdev_start_cmd {
  1236. __le32 vdev_id;
  1237. __le32 requestor_id;
  1238. __le32 bcn_intval;
  1239. __le32 dtim_period;
  1240. __le32 flags;
  1241. struct wmi_ssid ssid;
  1242. __le32 bcn_tx_rate;
  1243. __le32 bcn_tx_power;
  1244. __le32 num_noa_descr;
  1245. __le32 disable_hw_ack;
  1246. } __packed;
  1247. enum {
  1248. WMI_TLV_PEER_TYPE_DEFAULT = 0, /* generic / non-BSS / self-peer */
  1249. WMI_TLV_PEER_TYPE_BSS = 1,
  1250. WMI_TLV_PEER_TYPE_TDLS = 2,
  1251. WMI_TLV_PEER_TYPE_HOST_MAX = 127,
  1252. WMI_TLV_PEER_TYPE_ROAMOFFLOAD_TMP = 128,
  1253. };
  1254. struct wmi_tlv_peer_create_cmd {
  1255. __le32 vdev_id;
  1256. struct wmi_mac_addr peer_addr;
  1257. __le32 peer_type;
  1258. } __packed;
  1259. struct wmi_tlv_peer_assoc_cmd {
  1260. struct wmi_mac_addr mac_addr;
  1261. __le32 vdev_id;
  1262. __le32 new_assoc;
  1263. __le32 assoc_id;
  1264. __le32 flags;
  1265. __le32 caps;
  1266. __le32 listen_intval;
  1267. __le32 ht_caps;
  1268. __le32 max_mpdu;
  1269. __le32 mpdu_density;
  1270. __le32 rate_caps;
  1271. __le32 nss;
  1272. __le32 vht_caps;
  1273. __le32 phy_mode;
  1274. __le32 ht_info[2];
  1275. __le32 num_legacy_rates;
  1276. __le32 num_ht_rates;
  1277. } __packed;
  1278. struct wmi_tlv_pdev_suspend {
  1279. __le32 pdev_id; /* not used yet */
  1280. __le32 opt;
  1281. } __packed;
  1282. struct wmi_tlv_pdev_set_wmm_cmd {
  1283. __le32 pdev_id; /* not used yet */
  1284. __le32 dg_type; /* no idea.. */
  1285. } __packed;
  1286. struct wmi_tlv_vdev_wmm_params {
  1287. __le32 dummy;
  1288. struct wmi_wmm_params params;
  1289. } __packed;
  1290. struct wmi_tlv_vdev_set_wmm_cmd {
  1291. __le32 vdev_id;
  1292. struct wmi_tlv_vdev_wmm_params vdev_wmm_params[4];
  1293. } __packed;
  1294. struct wmi_tlv_phyerr_ev {
  1295. __le32 num_phyerrs;
  1296. __le32 tsf_l32;
  1297. __le32 tsf_u32;
  1298. __le32 buf_len;
  1299. } __packed;
  1300. enum wmi_tlv_dbglog_param {
  1301. WMI_TLV_DBGLOG_PARAM_LOG_LEVEL = 1,
  1302. WMI_TLV_DBGLOG_PARAM_VDEV_ENABLE,
  1303. WMI_TLV_DBGLOG_PARAM_VDEV_DISABLE,
  1304. WMI_TLV_DBGLOG_PARAM_VDEV_ENABLE_BITMAP,
  1305. WMI_TLV_DBGLOG_PARAM_VDEV_DISABLE_BITMAP,
  1306. };
  1307. enum wmi_tlv_dbglog_log_level {
  1308. WMI_TLV_DBGLOG_LOG_LEVEL_VERBOSE = 0,
  1309. WMI_TLV_DBGLOG_LOG_LEVEL_INFO,
  1310. WMI_TLV_DBGLOG_LOG_LEVEL_INFO_LVL_1,
  1311. WMI_TLV_DBGLOG_LOG_LEVEL_INFO_LVL_2,
  1312. WMI_TLV_DBGLOG_LOG_LEVEL_WARN,
  1313. WMI_TLV_DBGLOG_LOG_LEVEL_ERR,
  1314. };
  1315. #define WMI_TLV_DBGLOG_BITMAP_MAX_IDS 512
  1316. #define WMI_TLV_DBGLOG_BITMAP_MAX_WORDS (WMI_TLV_DBGLOG_BITMAP_MAX_IDS / \
  1317. sizeof(__le32))
  1318. #define WMI_TLV_DBGLOG_ALL_MODULES 0xffff
  1319. #define WMI_TLV_DBGLOG_LOG_LEVEL_VALUE(module_id, log_level) \
  1320. (((module_id << 16) & 0xffff0000) | \
  1321. ((log_level << 0) & 0x000000ff))
  1322. struct wmi_tlv_dbglog_cmd {
  1323. __le32 param;
  1324. __le32 value;
  1325. } __packed;
  1326. struct wmi_tlv_resume_cmd {
  1327. __le32 reserved;
  1328. } __packed;
  1329. struct wmi_tlv_req_stats_cmd {
  1330. __le32 stats_id; /* wmi_stats_id */
  1331. __le32 vdev_id;
  1332. struct wmi_mac_addr peer_macaddr;
  1333. } __packed;
  1334. struct wmi_tlv_vdev_stats {
  1335. __le32 vdev_id;
  1336. __le32 beacon_snr;
  1337. __le32 data_snr;
  1338. __le32 num_tx_frames[4]; /* per-AC */
  1339. __le32 num_rx_frames;
  1340. __le32 num_tx_frames_retries[4];
  1341. __le32 num_tx_frames_failures[4];
  1342. __le32 num_rts_fail;
  1343. __le32 num_rts_success;
  1344. __le32 num_rx_err;
  1345. __le32 num_rx_discard;
  1346. __le32 num_tx_not_acked;
  1347. __le32 tx_rate_history[10];
  1348. __le32 beacon_rssi_history[10];
  1349. } __packed;
  1350. struct wmi_tlv_pktlog_enable {
  1351. __le32 reserved;
  1352. __le32 filter;
  1353. } __packed;
  1354. struct wmi_tlv_pktlog_disable {
  1355. __le32 reserved;
  1356. } __packed;
  1357. enum wmi_tlv_bcn_tx_status {
  1358. WMI_TLV_BCN_TX_STATUS_OK,
  1359. WMI_TLV_BCN_TX_STATUS_XRETRY,
  1360. WMI_TLV_BCN_TX_STATUS_DROP,
  1361. WMI_TLV_BCN_TX_STATUS_FILTERED,
  1362. };
  1363. struct wmi_tlv_bcn_tx_status_ev {
  1364. __le32 vdev_id;
  1365. __le32 tx_status;
  1366. } __packed;
  1367. struct wmi_tlv_bcn_prb_info {
  1368. __le32 caps;
  1369. __le32 erp;
  1370. u8 ies[0];
  1371. } __packed;
  1372. struct wmi_tlv_bcn_tmpl_cmd {
  1373. __le32 vdev_id;
  1374. __le32 tim_ie_offset;
  1375. __le32 buf_len;
  1376. } __packed;
  1377. struct wmi_tlv_prb_tmpl_cmd {
  1378. __le32 vdev_id;
  1379. __le32 buf_len;
  1380. } __packed;
  1381. struct wmi_tlv_p2p_go_bcn_ie {
  1382. __le32 vdev_id;
  1383. __le32 ie_len;
  1384. } __packed;
  1385. enum wmi_tlv_diag_item_type {
  1386. WMI_TLV_DIAG_ITEM_TYPE_FW_EVENT,
  1387. WMI_TLV_DIAG_ITEM_TYPE_FW_LOG,
  1388. WMI_TLV_DIAG_ITEM_TYPE_FW_DEBUG_MSG,
  1389. };
  1390. struct wmi_tlv_diag_item {
  1391. u8 type;
  1392. u8 reserved;
  1393. __le16 len;
  1394. __le32 timestamp;
  1395. __le32 code;
  1396. u8 payload[0];
  1397. } __packed;
  1398. struct wmi_tlv_diag_data_ev {
  1399. __le32 num_items;
  1400. } __packed;
  1401. struct wmi_tlv_sta_keepalive_cmd {
  1402. __le32 vdev_id;
  1403. __le32 enabled;
  1404. __le32 method; /* WMI_STA_KEEPALIVE_METHOD_ */
  1405. __le32 interval; /* in seconds */
  1406. } __packed;
  1407. struct wmi_tlv_stats_ev {
  1408. __le32 stats_id; /* WMI_STAT_ */
  1409. __le32 num_pdev_stats;
  1410. __le32 num_vdev_stats;
  1411. __le32 num_peer_stats;
  1412. __le32 num_bcnflt_stats;
  1413. __le32 num_chan_stats;
  1414. } __packed;
  1415. struct wmi_tlv_p2p_noa_ev {
  1416. __le32 vdev_id;
  1417. } __packed;
  1418. struct wmi_tlv_roam_ev {
  1419. __le32 vdev_id;
  1420. __le32 reason;
  1421. __le32 rssi;
  1422. } __packed;
  1423. struct wmi_tlv_wow_add_del_event_cmd {
  1424. __le32 vdev_id;
  1425. __le32 is_add;
  1426. __le32 event_bitmap;
  1427. } __packed;
  1428. struct wmi_tlv_wow_enable_cmd {
  1429. __le32 enable;
  1430. } __packed;
  1431. struct wmi_tlv_wow_host_wakeup_ind {
  1432. __le32 reserved;
  1433. } __packed;
  1434. struct wmi_tlv_wow_event_info {
  1435. __le32 vdev_id;
  1436. __le32 flag;
  1437. __le32 wake_reason;
  1438. __le32 data_len;
  1439. } __packed;
  1440. enum wmi_tlv_pattern_type {
  1441. WOW_PATTERN_MIN = 0,
  1442. WOW_BITMAP_PATTERN = WOW_PATTERN_MIN,
  1443. WOW_IPV4_SYNC_PATTERN,
  1444. WOW_IPV6_SYNC_PATTERN,
  1445. WOW_WILD_CARD_PATTERN,
  1446. WOW_TIMER_PATTERN,
  1447. WOW_MAGIC_PATTERN,
  1448. WOW_IPV6_RA_PATTERN,
  1449. WOW_IOAC_PKT_PATTERN,
  1450. WOW_IOAC_TMR_PATTERN,
  1451. WOW_PATTERN_MAX
  1452. };
  1453. #define WOW_DEFAULT_BITMAP_PATTERN_SIZE 148
  1454. #define WOW_DEFAULT_BITMASK_SIZE 148
  1455. struct wmi_tlv_wow_bitmap_pattern {
  1456. u8 patternbuf[WOW_DEFAULT_BITMAP_PATTERN_SIZE];
  1457. u8 bitmaskbuf[WOW_DEFAULT_BITMASK_SIZE];
  1458. __le32 pattern_offset;
  1459. __le32 pattern_len;
  1460. __le32 bitmask_len;
  1461. __le32 pattern_id;
  1462. } __packed;
  1463. struct wmi_tlv_wow_add_pattern_cmd {
  1464. __le32 vdev_id;
  1465. __le32 pattern_id;
  1466. __le32 pattern_type;
  1467. } __packed;
  1468. struct wmi_tlv_wow_del_pattern_cmd {
  1469. __le32 vdev_id;
  1470. __le32 pattern_id;
  1471. __le32 pattern_type;
  1472. } __packed;
  1473. /* TDLS Options */
  1474. enum wmi_tlv_tdls_options {
  1475. WMI_TLV_TDLS_OFFCHAN_EN = BIT(0),
  1476. WMI_TLV_TDLS_BUFFER_STA_EN = BIT(1),
  1477. WMI_TLV_TDLS_SLEEP_STA_EN = BIT(2),
  1478. };
  1479. struct wmi_tdls_set_state_cmd {
  1480. __le32 vdev_id;
  1481. __le32 state;
  1482. __le32 notification_interval_ms;
  1483. __le32 tx_discovery_threshold;
  1484. __le32 tx_teardown_threshold;
  1485. __le32 rssi_teardown_threshold;
  1486. __le32 rssi_delta;
  1487. __le32 tdls_options;
  1488. __le32 tdls_peer_traffic_ind_window;
  1489. __le32 tdls_peer_traffic_response_timeout_ms;
  1490. __le32 tdls_puapsd_mask;
  1491. __le32 tdls_puapsd_inactivity_time_ms;
  1492. __le32 tdls_puapsd_rx_frame_threshold;
  1493. } __packed;
  1494. struct wmi_tdls_peer_update_cmd {
  1495. __le32 vdev_id;
  1496. struct wmi_mac_addr peer_macaddr;
  1497. __le32 peer_state;
  1498. } __packed;
  1499. enum {
  1500. WMI_TLV_TDLS_PEER_QOS_AC_VO = BIT(0),
  1501. WMI_TLV_TDLS_PEER_QOS_AC_VI = BIT(1),
  1502. WMI_TLV_TDLS_PEER_QOS_AC_BK = BIT(2),
  1503. WMI_TLV_TDLS_PEER_QOS_AC_BE = BIT(3),
  1504. };
  1505. #define WMI_TLV_TDLS_PEER_SP_MASK 0x60
  1506. #define WMI_TLV_TDLS_PEER_SP_LSB 5
  1507. struct wmi_tdls_peer_capab {
  1508. __le32 peer_qos;
  1509. __le32 buff_sta_support;
  1510. __le32 off_chan_support;
  1511. __le32 peer_curr_operclass;
  1512. __le32 self_curr_operclass;
  1513. __le32 peer_chan_len;
  1514. __le32 peer_operclass_len;
  1515. u8 peer_operclass[WMI_TDLS_MAX_SUPP_OPER_CLASSES];
  1516. __le32 is_peer_responder;
  1517. __le32 pref_offchan_num;
  1518. __le32 pref_offchan_bw;
  1519. } __packed;
  1520. struct wmi_tlv_adaptive_qcs {
  1521. __le32 enable;
  1522. } __packed;
  1523. /**
  1524. * wmi_tlv_tx_pause_id - firmware tx queue pause reason types
  1525. *
  1526. * @WMI_TLV_TX_PAUSE_ID_MCC: used for by multi-channel firmware scheduler.
  1527. * Only vdev_map is valid.
  1528. * @WMI_TLV_TX_PAUSE_ID_AP_PEER_PS: peer in AP mode is asleep.
  1529. * Only peer_id is valid.
  1530. * @WMI_TLV_TX_PAUSE_ID_AP_PEER_UAPSD: Only peer_id and tid_map are valid.
  1531. * @WMI_TLV_TX_PAUSE_ID_P2P_CLI_NOA: Only vdev_map is valid.
  1532. * @WMI_TLV_TX_PAUSE_ID_P2P_GO_PS: Only vdev_map is valid.
  1533. * @WMI_TLV_TX_PAUSE_ID_STA_ADD_BA: Only peer_id and tid_map are valid.
  1534. * @WMI_TLV_TX_PAUSE_ID_AP_PS: When all peers are asleep in AP mode. Only
  1535. * vdev_map is valid.
  1536. * @WMI_TLV_TX_PAUSE_ID_IBSS_PS: When all peers are asleep in IBSS mode. Only
  1537. * vdev_map is valid.
  1538. * @WMI_TLV_TX_PAUSE_ID_HOST: Host itself requested tx pause.
  1539. */
  1540. enum wmi_tlv_tx_pause_id {
  1541. WMI_TLV_TX_PAUSE_ID_MCC = 1,
  1542. WMI_TLV_TX_PAUSE_ID_AP_PEER_PS = 2,
  1543. WMI_TLV_TX_PAUSE_ID_AP_PEER_UAPSD = 3,
  1544. WMI_TLV_TX_PAUSE_ID_P2P_CLI_NOA = 4,
  1545. WMI_TLV_TX_PAUSE_ID_P2P_GO_PS = 5,
  1546. WMI_TLV_TX_PAUSE_ID_STA_ADD_BA = 6,
  1547. WMI_TLV_TX_PAUSE_ID_AP_PS = 7,
  1548. WMI_TLV_TX_PAUSE_ID_IBSS_PS = 8,
  1549. WMI_TLV_TX_PAUSE_ID_HOST = 21,
  1550. };
  1551. enum wmi_tlv_tx_pause_action {
  1552. WMI_TLV_TX_PAUSE_ACTION_STOP,
  1553. WMI_TLV_TX_PAUSE_ACTION_WAKE,
  1554. };
  1555. struct wmi_tlv_tx_pause_ev {
  1556. __le32 pause_id;
  1557. __le32 action;
  1558. __le32 vdev_map;
  1559. __le32 peer_id;
  1560. __le32 tid_map;
  1561. } __packed;
  1562. void ath10k_wmi_tlv_attach(struct ath10k *ar);
  1563. #endif