cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

wmi-tlv.h (90147B)


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