Browse Source

fw-api: update fw common interface files

One time copy of wmi files from Perforce to GIT corresponding to CLs
CL 2715419,
CL 2716671,
CL 2719972,
CL 2723748,
CL 2724196,
CL 2730209,
CL 2731156,
CL 2733238,
CL 2747653,
CL 2752788,
CL 2755482

Change-Id: I223cd575020a79fe789eacb61f33d6de320cefb8
CRs-Fixed: 1107600
qcabuildsw 8 years ago
parent
commit
90c68bd30f
8 changed files with 3713 additions and 3753 deletions
  1. 466 439
      fw/wlan_defs.h
  2. 70 68
      fw/wmi.h
  3. 200 289
      fw/wmi_services.h
  4. 1544 1506
      fw/wmi_tlv_defs.h
  5. 39 43
      fw/wmi_tlv_helper.h
  6. 1333 1351
      fw/wmi_unified.h
  7. 3 2
      fw/wmi_version.h
  8. 58 55
      fw/wmix.h

File diff suppressed because it is too large
+ 466 - 439
fw/wlan_defs.h


+ 70 - 68
fw/wmi.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004-2010, 2013-2014, 2016 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2010-2016 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -50,6 +50,7 @@
 extern "C" {
 #endif
 
+
 #define HTC_PROTOCOL_VERSION    0x0002
 
 #define WMI_PROTOCOL_VERSION    0x0002
@@ -57,38 +58,37 @@ extern "C" {
 #define WMI_MODE_MAX              8
 #define WMI_MAX_RATE_MASK         6
 
+
 PREPACK struct host_app_area_s {
-	A_UINT32 wmi_protocol_ver;
+    A_UINT32 wmi_protocol_ver;
 } POSTPACK;
 
+
 #undef MS
-#define MS(_v, _f) (((_v) & _f ## _MASK) >> _f ## _LSB)
+#define MS(_v, _f) (((_v) & _f##_MASK) >> _f##_LSB)
 #undef SM
-#define SM(_v, _f) (((_v) << _f ## _LSB) & _f ## _MASK)
+#define SM(_v, _f) (((_v) << _f##_LSB) & _f##_MASK)
 #undef WO
-#define WO(_f)      ((_f ## _OFFSET) >> 2)
+#define WO(_f)      ((_f##_OFFSET) >> 2)
 
 #undef GET_FIELD
 #define GET_FIELD(_addr, _f) MS(*((A_UINT32 *)(_addr) + WO(_f)), _f)
 #undef SET_FIELD
 #define SET_FIELD(_addr, _f, _val)  \
-	(*((A_UINT32 *)(_addr) + WO(_f)) = \
-		 (*((A_UINT32 *)(_addr) + WO(_f)) & ~_f ## _MASK) | SM(_val, _f))
+    (*((A_UINT32 *)(_addr) + WO(_f)) = \
+     (*((A_UINT32 *)(_addr) + WO(_f)) & ~_f##_MASK) | SM(_val, _f))
 
 #define WMI_GET_FIELD(_msg_buf, _msg_type, _f) \
-	GET_FIELD(_msg_buf, _msg_type ## _ ## _f)
+    GET_FIELD(_msg_buf, _msg_type ## _ ## _f)
 
 #define WMI_SET_FIELD(_msg_buf, _msg_type, _f, _val) \
-	SET_FIELD(_msg_buf, _msg_type ## _ ## _f, _val)
+    SET_FIELD(_msg_buf, _msg_type ## _ ## _f, _val)
 
-/* TYPO: leave incorrect name as an alias for the correct name */
-#define WMI_EP_APASS WMI_EP_APSS
-/* WLAN driver running on apps processor sub-system */
-#define WMI_EP_APSS            0x0
+#define WMI_EP_APASS WMI_EP_APSS /* TYPO: leave incorrect name as an alias for the correct name */
+#define WMI_EP_APSS            0x0 /* WLAN driver running on apps processor sub-system */
 #define WMI_EP_LPASS           0x1
 #define WMI_EP_SENSOR          0x2
-/* WLAN driver running on NANO Hub */
-#define WMI_EP_NANOHUB         0x3
+#define WMI_EP_NANOHUB         0x3 /* WLAN driver running on NANO Hub */
 #define WMI_EP_MODEM           0x4
 #define WMI_EP_LOCATION        0x5
 
@@ -96,35 +96,37 @@ PREPACK struct host_app_area_s {
  * Control Path
  */
 typedef PREPACK struct {
-	A_UINT32 commandId : 24, reserved : 2,          /* used for WMI endpoint ID */
-		 plt_priv : 6;    /* platform private */
-} POSTPACK WMI_CMD_HDR;         /* used for commands and events */
+    A_UINT32    commandId : 24,
+                reserved  : 2, /* used for WMI endpoint ID */
+                plt_priv  : 6; /* platform private */
+} POSTPACK WMI_CMD_HDR;        /* used for commands and events */
 
 #define WMI_CMD_HDR_COMMANDID_LSB           0
 #define WMI_CMD_HDR_COMMANDID_MASK          0x00ffffff
 #define WMI_CMD_HDR_COMMANDID_OFFSET        0x00000000
-#define WMI_CMD_HDR_WMI_ENDPOINTID_MASK     0x03000000
-#define WMI_CMD_HDR_WMI_ENDPOINTID_OFFSET   24
-#define WMI_CMD_HDR_PLT_PRIV_LSB            24
-#define WMI_CMD_HDR_PLT_PRIV_MASK           0xff000000
-#define WMI_CMD_HDR_PLT_PRIV_OFFSET         0x00000000
+#define WMI_CMD_HDR_WMI_ENDPOINTID_MASK        0x03000000
+#define WMI_CMD_HDR_WMI_ENDPOINTID_OFFSET      24
+#define WMI_CMD_HDR_PLT_PRIV_LSB               24
+#define WMI_CMD_HDR_PLT_PRIV_MASK              0xff000000
+#define WMI_CMD_HDR_PLT_PRIV_OFFSET            0x00000000
 
 /*
  * List of Commnands
  */
 typedef enum {
-	WMI_EXTENSION_CMDID,            /* used in wmi_svc.c   / * Non-wireless extensions * / */
-	WMI_IGNORE_CMDID,               /* used in wlan_wmi.c */
+    WMI_EXTENSION_CMDID,                     //used in wmi_svc.c   /* Non-wireless extensions */
+    WMI_IGNORE_CMDID,				//used in wlan_wmi.c
 } WMI_COMMAND_ID;
 
+
 typedef enum {
-	NONE_CRYPT = 0x01,
-	WEP_CRYPT = 0x02,
-	TKIP_CRYPT = 0x04,
-	AES_CRYPT = 0x08,
+    NONE_CRYPT          = 0x01,
+    WEP_CRYPT           = 0x02,
+    TKIP_CRYPT          = 0x04,
+    AES_CRYPT           = 0x08,
 #ifdef WAPI_ENABLE
-	WAPI_CRYPT = 0x10,
-#endif /*WAPI_ENABLE */
+    WAPI_CRYPT          = 0x10,
+#endif /*WAPI_ENABLE*/
 } CRYPTO_TYPE;
 
 #define WMI_MAX_SSID_LEN    32
@@ -134,63 +136,63 @@ typedef enum {
  */
 #define WMI_PMK_LEN     32
 
+
 /*
  * WMI_ADD_CIPHER_KEY_CMDID
  */
 typedef enum {
-	PAIRWISE_USAGE = 0x00,
-	GROUP_USAGE = 0x01,
-	TX_USAGE = 0x02,                /* default Tx Key - Static WEP only */
+    PAIRWISE_USAGE      = 0x00,
+    GROUP_USAGE         = 0x01,
+    TX_USAGE            = 0x02,     /* default Tx Key - Static WEP only */
 } KEY_USAGE;
-
 /*
  * List of Events (target to host)
  */
 typedef enum {
-	WMI_EXTENSION_EVENTID,          /* wmi_profhook.c and umac_wmi_events.c */
+    WMI_EXTENSION_EVENTID			//wmi_profhook.c and umac_wmi_events.c
 } WMI_EVENT_ID;
 
 typedef enum {
-	WMI_11A_CAPABILITY = 1,
-	WMI_11G_CAPABILITY = 2,
-	WMI_11AG_CAPABILITY = 3,
-	WMI_11NA_CAPABILITY = 4,
-	WMI_11NG_CAPABILITY = 5,
-	WMI_11NAG_CAPABILITY = 6,
-	WMI_11AC_CAPABILITY = 7,
-	WMI_11AX_CAPABILITY = 8,
-	/* END CAPABILITY */
-	WMI_11N_CAPABILITY_OFFSET =
-		(WMI_11NA_CAPABILITY - WMI_11A_CAPABILITY),
+    WMI_11A_CAPABILITY   = 1,
+    WMI_11G_CAPABILITY   = 2,
+    WMI_11AG_CAPABILITY  = 3,
+    WMI_11NA_CAPABILITY  = 4,
+    WMI_11NG_CAPABILITY  = 5,
+    WMI_11NAG_CAPABILITY = 6,
+    WMI_11AC_CAPABILITY  = 7,
+    WMI_11AX_CAPABILITY  = 8,
+    // END CAPABILITY
+    WMI_11N_CAPABILITY_OFFSET = (WMI_11NA_CAPABILITY - WMI_11A_CAPABILITY),
 } WMI_PHY_CAPABILITY;
 
+
 /* Deprectated, need clean up */
 #define WMI_MAX_RX_META_SZ  (12)
 
 typedef PREPACK struct {
-	A_INT8 rssi;
-	A_UINT8 info;           /* usage of 'info' field(8-bit):
-	                         *  b1:b0       - WMI_MSG_TYPE
-	                         *  b4:b3:b2    - UP(tid)
-	                         *  b5          - Used in AP mode. More-data in tx dir, PS in rx.
-	                         *  b7:b6       -  Dot3 header(0),
-	                         *                 Dot11 Header(1),
-	                         *                 ACL data(2)
-	                         */
-
-	A_UINT16 info2;         /* usage of 'info2' field(16-bit):
-	                         * b11:b0       - seq_no
-	                         * b12          - A-MSDU?
-	                         * b15:b13      - META_DATA_VERSION 0 - 7
-	                         */
-	A_UINT16 info3;         /* b3:b2:b1:b0  - device id
-	                         * b4           - Used in AP mode. uAPSD trigger in rx, EOSP in tx
-	                         * b7:b5        - unused?
-	                         * b15:b8       - pad before data start(irrespective of meta version)
-	                         */
+    A_INT8      rssi;
+    A_UINT8     info;               /* usage of 'info' field(8-bit):
+                                     *  b1:b0       - WMI_MSG_TYPE
+                                     *  b4:b3:b2    - UP(tid)
+                                     *  b5          - Used in AP mode. More-data in tx dir, PS in rx.
+                                     *  b7:b6       -  Dot3 header(0),
+                                     *                 Dot11 Header(1),
+                                     *                 ACL data(2)
+                                     */
+
+    A_UINT16    info2;              /* usage of 'info2' field(16-bit):
+                                     * b11:b0       - seq_no
+                                     * b12          - A-MSDU?
+                                     * b15:b13      - META_DATA_VERSION 0 - 7
+                                     */
+    A_UINT16    info3;              /* b3:b2:b1:b0  - device id
+                                     * b4           - Used in AP mode. uAPSD trigger in rx, EOSP in tx
+                                     * b7:b5        - unused?
+                                     * b15:b8       - pad before data start(irrespective of meta version)
+                                     */
 } POSTPACK WMI_DATA_HDR;
-
 #ifdef __cplusplus
 }
 #endif
+
 #endif /* _WMI_H_ */

+ 200 - 289
fw/wmi_services.h

@@ -25,273 +25,186 @@
  * to the Linux Foundation.
  */
 
-/**
- * This file defines WMI services bitmap and the set of WMI services .
- * defines macrso to set/clear/get different service bits from the bitmap.
- * the service bitmap is sent up to the host via WMI_READY command.
- *
- */
-
 #ifndef _WMI_SERVICES_H_
 #define _WMI_SERVICES_H_
 
+
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 
 
-typedef enum {
-	WMI_SERVICE_BEACON_OFFLOAD = 0,       /* beacon offload */
-	WMI_SERVICE_SCAN_OFFLOAD = 1,         /* scan offload */
-	WMI_SERVICE_ROAM_SCAN_OFFLOAD = 2,    /* roam scan offload */
-	WMI_SERVICE_BCN_MISS_OFFLOAD = 3,     /* beacon miss offload */
-	/* fake sleep + basic power save */
-	WMI_SERVICE_STA_PWRSAVE = 4,
-	WMI_SERVICE_STA_ADVANCED_PWRSAVE = 5, /* uapsd, pspoll, force sleep */
-	WMI_SERVICE_AP_UAPSD = 6,             /* uapsd on AP */
-	WMI_SERVICE_AP_DFS = 7,               /* DFS on AP */
-	WMI_SERVICE_11AC = 8,                 /* supports 11ac */
-	/* Supports triggering ADDBA/DELBA from host*/
-	WMI_SERVICE_BLOCKACK = 9,
-	WMI_SERVICE_PHYERR = 10,              /* PHY error */
-	WMI_SERVICE_BCN_FILTER = 11,          /* Beacon filter support */
-	/* RTT (round trip time) support */
-	WMI_SERVICE_RTT = 12,
-	WMI_SERVICE_WOW = 13,                 /* WOW Support */
-	WMI_SERVICE_RATECTRL_CACHE = 14,      /* Rate-control caching */
-	WMI_SERVICE_IRAM_TIDS = 15,           /* TIDs in IRAM */
-	/* ARP NS Offload support for STA vdev */
-	WMI_SERVICE_ARPNS_OFFLOAD = 16,
-	/* Network list offload service */
-	WMI_SERVICE_NLO = 17,
-	WMI_SERVICE_GTK_OFFLOAD = 18,         /* GTK offload */
-	WMI_SERVICE_SCAN_SCH = 19,            /* Scan Scheduler Service */
-	WMI_SERVICE_CSA_OFFLOAD = 20,         /* CSA offload service */
-	WMI_SERVICE_CHATTER = 21,             /* Chatter service */
-	/* FW report freq range to avoid */
-	WMI_SERVICE_COEX_FREQAVOID = 22,
-	WMI_SERVICE_PACKET_POWER_SAVE = 23,   /* packet power save service */
-	/* Service to test the firmware recovery mechanism */
-	WMI_SERVICE_FORCE_FW_HANG = 24,
-	WMI_SERVICE_GPIO = 25,                /* GPIO service */
-	/* Modulated DTIM support */
-	WMI_SERVICE_STA_DTIM_PS_MODULATED_DTIM = 26,
-	/**
-	 * Basic version of station UAPSD AC Trigger Generation Method with
-	 * variable tigger periods (service, delay, and suspend intervals)
-	 */
-	WMI_STA_UAPSD_BASIC_AUTO_TRIG = 27,
-	/**
-	 * Station UAPSD AC Trigger Generation Method with variable
-	 * trigger periods (service, delay, and suspend intervals)
-	 */
-	WMI_STA_UAPSD_VAR_AUTO_TRIG = 28,
-	/* Serivce to support the STA KEEP ALIVE mechanism */
-	WMI_SERVICE_STA_KEEP_ALIVE = 29,
-	/* Packet type for TX encapsulation */
-	WMI_SERVICE_TX_ENCAP = 30,
-	/* detect out-of-sync sleeping stations */
-	WMI_SERVICE_AP_PS_DETECT_OUT_OF_SYNC = 31,
-	WMI_SERVICE_EARLY_RX = 32,            /* adaptive early-rx feature */
-	WMI_SERVICE_STA_SMPS = 33,            /* STA MIMO-PS */
-	WMI_SERVICE_FWTEST = 34,              /* Firmware test service */
-	WMI_SERVICE_STA_WMMAC = 35,           /* STA WMMAC */
-	WMI_SERVICE_TDLS = 36,                /* TDLS support */
-	WMI_SERVICE_BURST = 37,               /* SIFS spaced burst support */
-	/* Dynamic beaocn interval change for SAP/P2p GO in MCC scenario */
-	WMI_SERVICE_MCC_BCN_INTERVAL_CHANGE = 38,
-	/* Service to support adaptive off-channel scheduler */
-	WMI_SERVICE_ADAPTIVE_OCS = 39,
-	/* target will provide Sequence number for the peer/tid combo */
-	WMI_SERVICE_BA_SSN_SUPPORT = 40,
-	WMI_SERVICE_FILTER_IPSEC_NATKEEPALIVE = 41,
-	WMI_SERVICE_WLAN_HB = 42,             /* wlan HB service */
-	/* support LTE/WLAN antenna sharing */
-	WMI_SERVICE_LTE_ANT_SHARE_SUPPORT = 43,
-	WMI_SERVICE_BATCH_SCAN = 44,          /*Service to support batch scan*/
-	WMI_SERVICE_QPOWER = 45,              /* QPower service */
-	WMI_SERVICE_PLMREQ = 46,
-	WMI_SERVICE_THERMAL_MGMT = 47,        /* thermal throttling support */
-	WMI_SERVICE_RMC = 48,                 /* RMC support */
-	/* multi-hop forwarding offload */
-	WMI_SERVICE_MHF_OFFLOAD = 49,
-	/* target support SAR tx limit from WMI_PDEV_PARAM_TXPOWER_LIMITxG */
-	WMI_SERVICE_COEX_SAR = 50,
-	/* Will support the bcn/prb rsp rate override */
-	WMI_SERVICE_BCN_TXRATE_OVERRIDE = 51,
-	WMI_SERVICE_NAN = 52,                 /* Neighbor Awareness Network */
-	/* L1SS statistics counter report */
-	WMI_SERVICE_L1SS_STAT = 53,
-	/* Linkspeed Estimation per peer */
-	WMI_SERVICE_ESTIMATE_LINKSPEED = 54,
-	/* Service to support OBSS scan */
-	WMI_SERVICE_OBSS_SCAN = 55,
-	WMI_SERVICE_TDLS_OFFCHAN = 56,        /* TDLS off channel support */
-	/* TDLS UAPSD Buffer STA support */
-	WMI_SERVICE_TDLS_UAPSD_BUFFER_STA = 57,
-	/* TDLS UAPSD Sleep STA support */
-	WMI_SERVICE_TDLS_UAPSD_SLEEP_STA = 58,
-	WMI_SERVICE_IBSS_PWRSAVE = 59,        /* IBSS power save support */
-	WMI_SERVICE_LPASS = 60,               /*Service to support LPASS*/
-	WMI_SERVICE_EXTSCAN = 61,             /* Extended Scans */
-	WMI_SERVICE_D0WOW = 62,               /* D0-WOW Support */
-	/* Hotspot offload feature Support */
-	WMI_SERVICE_HSOFFLOAD = 63,
-	WMI_SERVICE_ROAM_HO_OFFLOAD = 64,     /* roam handover offload */
-	/* target-based Rx full reorder */
-	WMI_SERVICE_RX_FULL_REORDER = 65,
-	WMI_SERVICE_DHCP_OFFLOAD = 66,        /* DHCP offload support */
-	/* STA RX DATA offload to IPA support */
-	WMI_SERVICE_STA_RX_IPA_OFFLOAD_SUPPORT = 67,
-	/* mDNS responder offload support */
-	WMI_SERVICE_MDNS_OFFLOAD = 68,
-	WMI_SERVICE_SAP_AUTH_OFFLOAD = 69,    /* softap auth offload */
-	/* Dual Band Simultaneous support */
-	WMI_SERVICE_DUAL_BAND_SIMULTANEOUS_SUPPORT = 70,
-	WMI_SERVICE_OCB = 71,                 /* OCB mode support */
-	/* arp offload support for ap mode vdev */
-	WMI_SERVICE_AP_ARPNS_OFFLOAD = 72,
-	/* Per band chainmask support */
-	WMI_SERVICE_PER_BAND_CHAINMASK_SUPPORT = 73,
-	WMI_SERVICE_PACKET_FILTER_OFFLOAD = 74, /* Per vdev packet filters */
-	WMI_SERVICE_MGMT_TX_HTT = 75,         /* Mgmt Tx via HTT interface */
-	WMI_SERVICE_MGMT_TX_WMI = 76,         /* Mgmt Tx via WMI interface */
-	/* WMI_SERVICE_READY_EXT msg follows */
-	WMI_SERVICE_EXT_MSG = 77,
-	/* Motion Aided WiFi Connectivity (MAWC)*/
-	WMI_SERVICE_MAWC = 78,
-	/* target will send ASSOC_CONF after ASSOC_CMD is processed */
-	WMI_SERVICE_PEER_ASSOC_CONF = 79,
-	WMI_SERVICE_EGAP = 80,                /* enhanced green ap support */
-	/* FW supports 11W PMF Offload for STA */
-	WMI_SERVICE_STA_PMF_OFFLOAD = 81,
-	/* FW supports unified D0 and D3 wow */
-	WMI_SERVICE_UNIFIED_WOW_CAPABILITY = 82,
-	/* Enhanced ProxySTA mode support */
-	WMI_SERVICE_ENHANCED_PROXY_STA = 83,
-	WMI_SERVICE_ATF = 84,                 /* Air Time Fairness support */
-	WMI_SERVICE_COEX_GPIO = 85,           /* BTCOEX GPIO support */
-	/**
-	 * Aux Radio enhancement support for ignoring spectral scan intf
-	 * from main radios
-	 */
-	WMI_SERVICE_AUX_SPECTRAL_INTF = 86,
-	/**
-	 * Aux Radio enhancement support for ignoring chan load intf
-	 * from main radios
-	 */
-	WMI_SERVICE_AUX_CHAN_LOAD_INTF = 87,
-	/**
-	 * BSS channel info (freq, noise floor, 64-bit counters)
-	 * event support
-	 */
-	WMI_SERVICE_BSS_CHANNEL_INFO_64 = 88,
-	/* Enterprise MESH Service Support */
-	WMI_SERVICE_ENTERPRISE_MESH = 89,
-	WMI_SERVICE_RESTRT_CHNL_SUPPORT = 90, /* Restricted Channel Support */
-	WMI_SERVICE_BPF_OFFLOAD = 91,         /* FW supports bpf offload */
-	/* FW sends response event for Peer, Vdev delete commands */
-	WMI_SERVICE_SYNC_DELETE_CMDS = 92,
-	WMI_SERVICE_SMART_ANTENNA_SW_SUPPORT = 93,
-	WMI_SERVICE_SMART_ANTENNA_HW_SUPPORT = 94,
-	/* allow per-peer tx MCS min/max limits by host */
-	WMI_SERVICE_RATECTRL_LIMIT_MAX_MIN_RATES = 95,
-	WMI_SERVICE_NAN_DATA = 96,            /* FW supports NAN data */
-	WMI_SERVICE_NAN_RTT = 97,             /* FW supports NAN RTT */
-	WMI_SERVICE_11AX = 98,                /* FW supports 802.11ax */
+typedef  enum  {
+    WMI_SERVICE_BEACON_OFFLOAD=0,           /* beacon offload */
+    WMI_SERVICE_SCAN_OFFLOAD=1,             /* scan offload */
+    WMI_SERVICE_ROAM_SCAN_OFFLOAD=2,        /* roam scan offload */
+    WMI_SERVICE_BCN_MISS_OFFLOAD=3,         /* beacon miss offload */
+    WMI_SERVICE_STA_PWRSAVE=4,              /* fake sleep + basic power save */
+    WMI_SERVICE_STA_ADVANCED_PWRSAVE=5,     /* uapsd, pspoll, force sleep */
+    WMI_SERVICE_AP_UAPSD=6,                 /* uapsd on AP */
+    WMI_SERVICE_AP_DFS=7,                   /* DFS on AP */
+    WMI_SERVICE_11AC=8,                     /* supports 11ac */
+    WMI_SERVICE_BLOCKACK=9,                 /* Supports triggering ADDBA/DELBA from host*/
+    WMI_SERVICE_PHYERR=10,                  /* PHY error */
+    WMI_SERVICE_BCN_FILTER=11,              /* Beacon filter support */
+    WMI_SERVICE_RTT=12,                     /* RTT (round trip time) support */
+    WMI_SERVICE_WOW=13,                     /* WOW Support */
+    WMI_SERVICE_RATECTRL_CACHE=14,          /* Rate-control caching */
+    WMI_SERVICE_IRAM_TIDS=15,               /* TIDs in IRAM */
+    WMI_SERVICE_ARPNS_OFFLOAD=16,           /* ARP NS Offload support for STA vdev */
+    WMI_SERVICE_NLO=17,                     /* Network list offload service */
+    WMI_SERVICE_GTK_OFFLOAD=18,             /* GTK offload */
+    WMI_SERVICE_SCAN_SCH=19,                /* Scan Scheduler Service */
+    WMI_SERVICE_CSA_OFFLOAD=20,             /* CSA offload service */
+    WMI_SERVICE_CHATTER=21,                 /* Chatter service */
+    WMI_SERVICE_COEX_FREQAVOID=22,          /* FW report freq range to avoid */
+    WMI_SERVICE_PACKET_POWER_SAVE=23,       /* packet power save service */
+    WMI_SERVICE_FORCE_FW_HANG=24,           /* Service to test the firmware recovery mechanism */
+    WMI_SERVICE_GPIO=25,                    /* GPIO service */
+    WMI_SERVICE_STA_DTIM_PS_MODULATED_DTIM=26, /* Modulated DTIM support */
+    WMI_STA_UAPSD_BASIC_AUTO_TRIG=27,       /* Basic version of station UAPSD AC Trigger Generation Method with
+                                             * variable tigger periods (service, delay, and suspend intervals) */
+    WMI_STA_UAPSD_VAR_AUTO_TRIG=28,         /* Station UAPSD AC Trigger Generation Method with variable
+                                             * trigger periods (service, delay, and suspend intervals) */
+    WMI_SERVICE_STA_KEEP_ALIVE=29,          /* Serivce to support the STA KEEP ALIVE mechanism */
+    WMI_SERVICE_TX_ENCAP=30,                /* Packet type for TX encapsulation */
+    WMI_SERVICE_AP_PS_DETECT_OUT_OF_SYNC=31, /* detect out-of-sync sleeping stations */
+    WMI_SERVICE_EARLY_RX=32,                /* adaptive early-rx feature */
+    WMI_SERVICE_STA_SMPS=33,                /* STA MIMO-PS */
+    WMI_SERVICE_FWTEST=34,                  /* Firmware test service */
+    WMI_SERVICE_STA_WMMAC=35,               /* STA WMMAC */
+    WMI_SERVICE_TDLS=36,                    /* TDLS support */
+    WMI_SERVICE_BURST=37,                   /* SIFS spaced burst support */
+    WMI_SERVICE_MCC_BCN_INTERVAL_CHANGE=38, /* Dynamic beaocn interval change for SAP/P2p GO in MCC scenario */
+    WMI_SERVICE_ADAPTIVE_OCS=39,            /* Service to support adaptive off-channel scheduler */
+    WMI_SERVICE_BA_SSN_SUPPORT=40,          /* target will provide Sequence number for the peer/tid combo */
+    WMI_SERVICE_FILTER_IPSEC_NATKEEPALIVE=41,
+    WMI_SERVICE_WLAN_HB=42,                 /* wlan HB service */
+    WMI_SERVICE_LTE_ANT_SHARE_SUPPORT=43,   /* support LTE/WLAN antenna sharing */
+    WMI_SERVICE_BATCH_SCAN=44,              /* Service to support batch scan */
+    WMI_SERVICE_QPOWER=45,                  /* QPower service */
+    WMI_SERVICE_PLMREQ=46,
+    WMI_SERVICE_THERMAL_MGMT=47,            /* thermal throttling support */
+    WMI_SERVICE_RMC=48,                     /* RMC support */
+    WMI_SERVICE_MHF_OFFLOAD=49,             /* multi-hop forwarding offload */
+    WMI_SERVICE_COEX_SAR=50,                /* target support SAR tx limit from WMI_PDEV_PARAM_TXPOWER_LIMITxG */
+    WMI_SERVICE_BCN_TXRATE_OVERRIDE=51,     /* Will support the bcn/prb rsp rate override */
+    WMI_SERVICE_NAN=52,                     /* Neighbor Awareness Network */
+    WMI_SERVICE_L1SS_STAT=53,               /* L1SS statistics counter report */
+    WMI_SERVICE_ESTIMATE_LINKSPEED=54,      /* Linkspeed Estimation per peer */
+    WMI_SERVICE_OBSS_SCAN=55,               /* Service to support OBSS scan */
+    WMI_SERVICE_TDLS_OFFCHAN=56,            /* TDLS off channel support */
+    WMI_SERVICE_TDLS_UAPSD_BUFFER_STA=57,   /* TDLS UAPSD Buffer STA support */
+    WMI_SERVICE_TDLS_UAPSD_SLEEP_STA=58,    /* TDLS UAPSD Sleep STA support */
+    WMI_SERVICE_IBSS_PWRSAVE=59,            /* IBSS power save support */
+    WMI_SERVICE_LPASS=60,                   /* Service to support LPASS */
+    WMI_SERVICE_EXTSCAN=61,                 /* Extended Scans */
+    WMI_SERVICE_D0WOW=62,                   /* D0-WOW Support */
+    WMI_SERVICE_HSOFFLOAD=63,               /* Hotspot offload feature Support */
+    WMI_SERVICE_ROAM_HO_OFFLOAD=64,         /* roam handover offload */
+    WMI_SERVICE_RX_FULL_REORDER=65,         /* target-based Rx full reorder */
+    WMI_SERVICE_DHCP_OFFLOAD=66,            /* DHCP offload support */
+    WMI_SERVICE_STA_RX_IPA_OFFLOAD_SUPPORT=67, /* STA RX DATA offload to IPA support */
+    WMI_SERVICE_MDNS_OFFLOAD=68,            /* mDNS responder offload support */
+    WMI_SERVICE_SAP_AUTH_OFFLOAD=69,        /* softap auth offload */
+    WMI_SERVICE_DUAL_BAND_SIMULTANEOUS_SUPPORT=70, /* Dual Band Simultaneous support */
+    WMI_SERVICE_OCB=71,                     /* OCB mode support */
+    WMI_SERVICE_AP_ARPNS_OFFLOAD=72,        /* arp offload support for ap mode vdev */
+    WMI_SERVICE_PER_BAND_CHAINMASK_SUPPORT=73, /* Per band chainmask support */
+    WMI_SERVICE_PACKET_FILTER_OFFLOAD=74,   /* Per vdev packet filters */
+    WMI_SERVICE_MGMT_TX_HTT=75,             /* Mgmt Tx via HTT interface */
+    WMI_SERVICE_MGMT_TX_WMI=76,             /* Mgmt Tx via WMI interface */
+    WMI_SERVICE_EXT_MSG=77,                 /* WMI_SERVICE_READY_EXT msg follows */
+    WMI_SERVICE_MAWC=78,                    /* Motion Aided WiFi Connectivity (MAWC)*/
+    WMI_SERVICE_PEER_ASSOC_CONF=79,         /* target will send ASSOC_CONF after ASSOC_CMD is processed */
+    WMI_SERVICE_EGAP=80,                    /* enhanced green ap support */
+    WMI_SERVICE_STA_PMF_OFFLOAD=81,         /* FW supports 11W PMF Offload for STA */
+    WMI_SERVICE_UNIFIED_WOW_CAPABILITY=82,  /* FW supports unified D0 and D3 wow */
+    WMI_SERVICE_ENHANCED_PROXY_STA=83,      /* Enhanced ProxySTA mode support */
+    WMI_SERVICE_ATF=84,                     /* Air Time Fairness support */
+    WMI_SERVICE_COEX_GPIO=85,               /* BTCOEX GPIO support */
+    WMI_SERVICE_AUX_SPECTRAL_INTF=86,       /* Aux Radio enhancement support for ignoring spectral scan intf from main radios */
+    WMI_SERVICE_AUX_CHAN_LOAD_INTF=87,      /* Aux Radio enhancement support for ignoring chan load intf from main radios*/
+    WMI_SERVICE_BSS_CHANNEL_INFO_64=88,     /* BSS channel info (freq, noise floor, 64-bit counters) event support */
+    WMI_SERVICE_ENTERPRISE_MESH=89,         /* Enterprise MESH Service Support */
+    WMI_SERVICE_RESTRT_CHNL_SUPPORT=90,     /* Restricted Channel Support */
+    WMI_SERVICE_BPF_OFFLOAD=91,             /* FW supports bpf offload */
+    WMI_SERVICE_SYNC_DELETE_CMDS=92,        /* FW sends response event for Peer, Vdev delete commands */
+    WMI_SERVICE_SMART_ANTENNA_SW_SUPPORT=93,
+    WMI_SERVICE_SMART_ANTENNA_HW_SUPPORT=94,
+    WMI_SERVICE_RATECTRL_LIMIT_MAX_MIN_RATES=95, /* allow per-peer tx MCS min/max limits by host */
+    WMI_SERVICE_NAN_DATA=96,                /* FW supports NAN data */
+    WMI_SERVICE_NAN_RTT=97,                 /* FW supports NAN RTT */
+    WMI_SERVICE_11AX=98,                    /* FW supports 802.11ax */
+    /* WMI_SERVICE_DEPRECATED_REPLACE
+     * FW supports these new WMI commands, to be used rather than
+     * deprecated matching commands:
+     * - WMI_PDEV_SET_PCL_CMDID          (vs. WMI_SOC_SET_PCL_CMDID)
+     * - WMI_PDEV_SET_HW_MODE_CMDID      (vs. WMI_SOC_SET_HW_MODE_CMDID)
+     * - WMI_PDEV_SET_MAC_CONFIG_CMDID   (vs. WMI_SOC_SET_DUAL_MAC_CONFIG_CMDID)
+     * - WMI_PDEV_SET_ANTENNA_MODE_CMDID (vs. WMI_SOC_SET_ANTENNA_MODE_CMDID)
+     * - WMI_VDEV_SET_DSCP_TID_MAP_CMDID (vs. WMI_VDEV_SET_WMM_PARAMS_CMDID)
+     */
+    WMI_SERVICE_DEPRECATED_REPLACE=99,
+    WMI_SERVICE_TDLS_CONN_TRACKER_IN_HOST_MODE=100, /* FW supports a new mode that allows to run connection tracker in host */
+    WMI_SERVICE_ENHANCED_MCAST_FILTER=101,  /* FW supports enhanced multicast filtering (of mcast IP inside ucast WLAN) */
+    WMI_SERVICE_PERIODIC_CHAN_STAT_SUPPORT=102, /* periodic channel stats service */
+    WMI_SERVICE_MESH_11S=103,               /* 11s mesh service support */
+    WMI_SERVICE_HALF_RATE_QUARTER_RATE_SUPPORT=104, /* FW+HW supports 10 MHz (half rate) and 5 MHz (quarter rate) channel bandwidth */
+    WMI_SERVICE_VDEV_RX_FILTER=105,         /* Support per-vdev specs of which rx frames to filter out */
+    WMI_SERVICE_P2P_LISTEN_OFFLOAD_SUPPORT=106,
+    WMI_SERVICE_MARK_FIRST_WAKEUP_PACKET=107, /* FW supports marking the first data packet which wakes the host from suspend */
+    WMI_SERVICE_MULTIPLE_MCAST_FILTER_SET=108, /* FW supports command that can add/delete multiple mcast filters */
+    /* WMI_SERVICE_HOST_MANAGED_RX_REORDER -
+     * FW supports host-managed RX reorder.
+     * Host managed RX reorder involves RX BA state machine handling
+     * on peer/TID basis, REO configuration for HW based reordering/PN
+     * check and processing reorder exceptions generated by HW.
+     */
+    WMI_SERVICE_HOST_MANAGED_RX_REORDER=109,
+    /* Specify whether the target supports the following WMI messages for
+     * reading / writing its flash memory:
+     *     WMI_READ_DATA_FROM_FLASH_CMDID,
+     *     WMI_READ_DATA_FROM_FLASH_EVENTID,
+     *     WMI_TRANSFER_DATA_TO_FLASH_CMDID,
+     *     WMI_TRANSFER_DATA_TO_FLASH_COMPLETE_EVENTID,
+     */
+    WMI_SERVICE_FLASH_RDWR_SUPPORT=110,
+    WMI_SERVICE_WLAN_STATS_REPORT=111, /* support WLAN stats report */
+    /* WMI_SERVICE_TX_MSDU_ID_NEW_PARTITION_SUPPORT -
+     * FW supports bigger MSDU ID partition which is defined as HTT_TX_IPA_NEW_MSDU_ID_SPACE_BEGIN
+     * When both host and FW support new partition, FW uses HTT_TX_IPA_NEW_MSDU_ID_SPACE_BEGIN
+     * If host doesn't support, FW falls back to HTT_TX_IPA_MSDU_ID_SPACE_BEGIN
+     * Handshaking is done through WMI_INIT and WMI service ready
+     */
+    WMI_SERVICE_TX_MSDU_ID_NEW_PARTITION_SUPPORT=112, /* support bigger MSDU ID partition */
+    WMI_SERVICE_DFS_PHYERR_OFFLOAD=113,
+    WMI_SERVICE_RCPI_SUPPORT=114,
+    WMI_SERVICE_FW_MEM_DUMP_SUPPORT=115, /* Support FW Memory dump */
+    WMI_SERVICE_PEER_STATS_INFO=116, /* support per peer stats info */
+    WMI_SERVICE_REGULATORY_DB=117, /* support regulatory database in FW */
+    WMI_SERVICE_11D_OFFLOAD=118, /* support 11D scan offload in FW */
 
-	/* WMI_SERVICE_DEPRECATED_REPLACE
-	 * FW supports these new WMI commands, to be used rather than
-	 * deprecated matching commands:
-	 * - WMI_PDEV_SET_PCL_CMDID          (vs. WMI_SOC_SET_PCL_CMDID)
-	 * - WMI_PDEV_SET_HW_MODE_CMDID
-	 *			(vs. WMI_SOC_SET_HW_MODE_CMDID)
-	 * - WMI_PDEV_SET_MAC_CONFIG_CMDID
-	 *			(vs. WMI_SOC_SET_DUAL_MAC_CONFIG_CMDID)
-	 * - WMI_PDEV_SET_ANTENNA_MODE_CMDID
-	 *			(vs. WMI_SOC_SET_ANTENNA_MODE_CMDID)
-	 * - WMI_VDEV_SET_DSCP_TID_MAP_CMDID
-	 *			(vs. WMI_VDEV_SET_WMM_PARAMS_CMDID)
-	 */
-	WMI_SERVICE_DEPRECATED_REPLACE = 99,
-	/**
-	 * FW supports a new mode that allows to run connection tracker
-	 * in host
-	 */
-	WMI_SERVICE_TDLS_CONN_TRACKER_IN_HOST_MODE = 100,
-	/**
-	 * FW supports enhanced multicast filtering (of mcast IP inside
-	 * ucast WLAN)
-	 */
-	WMI_SERVICE_ENHANCED_MCAST_FILTER = 101,
-	/* periodic channel stats service */
-	WMI_SERVICE_PERIODIC_CHAN_STAT_SUPPORT = 102,
-	WMI_SERVICE_MESH_11S = 103,
-	/**
-	 * FW+HW supports 10 MHz (half rate) and 5 MHz (quarter rate)
-	 * channel bandwidth
-	 */
-	WMI_SERVICE_HALF_RATE_QUARTER_RATE_SUPPORT = 104,
-	/* Support per-vdev specs of which rx frames to filter out */
-	WMI_SERVICE_VDEV_RX_FILTER = 105,
-	WMI_SERVICE_P2P_LISTEN_OFFLOAD_SUPPORT = 106,
-	/**
-	 * FW supports marking the first data packet which wakes
-	 * the host from suspend
-	 */
-	WMI_SERVICE_MARK_FIRST_WAKEUP_PACKET = 107,
-	/* FW supports command that can add/delete multiple mcast filters */
-	WMI_SERVICE_MULTIPLE_MCAST_FILTER_SET = 108,
-	/* WMI_SERVICE_HOST_MANAGED_RX_REORDER -
-	 * FW supports host-managed RX reorder.
-	 * Host managed RX reorder involves RX BA state machine handling
-	 * on peer/TID basis, REO configuration for HW based reordering/PN
-	 * check and processing reorder exceptions generated by HW.
-	 */
-	WMI_SERVICE_HOST_MANAGED_RX_REORDER = 109,
-	/* Specify whether the target supports the following WMI messages
-	 * for reading / writing its flash memory:
-	 *     WMI_READ_DATA_FROM_FLASH_CMDID,
-	 *     WMI_READ_DATA_FROM_FLASH_EVENTID,
-	 *     WMI_TRANSFER_DATA_TO_FLASH_CMDID,
-	 *     WMI_TRANSFER_DATA_TO_FLASH_COMPLETE_EVENTID,
-	 */
-	WMI_SERVICE_FLASH_RDWR_SUPPORT = 110,
-	WMI_SERVICE_WLAN_STATS_REPORT = 111, /* support WLAN stats report */
 
-	/* WMI_SERVICE_TX_MSDU_ID_NEW_PARTITION_SUPPORT -
-	 * FW supports bigger MSDU ID partition which is defined as
-	 * HTT_TX_IPA_NEW_MSDU_ID_SPACE_BEGIN. When both host and FW support
-	 * new partition, FW uses HTT_TX_IPA_NEW_MSDU_ID_SPACE_BEGIN. If host
-	 * doesn't support, FW falls back to HTT_TX_IPA_MSDU_ID_SPACE_BEGIN
-	 * Handshaking is done through WMI_INIT and WMI service ready
-	 *
-	 * support bigger MSDU ID partition
-	 */
-	WMI_SERVICE_TX_MSDU_ID_NEW_PARTITION_SUPPORT = 112,
-	WMI_SERVICE_DFS_PHYERR_OFFLOAD = 113,
-	WMI_SERVICE_RCPI_SUPPORT=114,
+    /******* ADD NEW SERVICES HERE UNTIL ALL VALUES UP TO 128 ARE USED *******/
 
-	/*** ADD NEW SERVICES HERE UNTIL ALL VALUES UP TO 128 ARE USED ***/
+    WMI_MAX_SERVICE=128, /* max service */
 
-	WMI_MAX_SERVICE = 128, /* max service */
+    /* NOTE:
+     * The above service flags are delivered in the wmi_service_bitmap field
+     * of the WMI_SERVICE_READY_EVENT message.
+     * The below service flags are delivered in a WMI_SERVICE_AVAILABLE_EVENT
+     * message rather than in the WMI_SERVICE_READY_EVENT message's
+     * wmi_service_bitmap field.
+     * The WMI_SERVICE_AVAILABLE_EVENT message immediately precedes the
+     * WMI_SERVICE_READY_EVENT message.
+     */
 
-	/**
-	 * NOTE:
-	 * The above service flags are delivered in the wmi_service_bitmap
-	 * field of the WMI_SERVICE_READY_EVENT message.
-	 * The below service flags are delivered in a
-	 * WMI_SERVICE_AVAILABLE_EVENT message rather than in the
-	 * WMI_SERVICE_READY_EVENT message's wmi_service_bitmap field.
-	 * The WMI_SERVICE_AVAILABLE_EVENT message immediately precedes the
-	 * WMI_SERVICE_READY_EVENT message.
-	 */
+    /*PUT 1ST EXT SERVICE HERE:*//*WMI_SERVICE_xxxxxxxx=128,*/
+    /*PUT 2ND EXT SERVICE HERE:*//*WMI_SERVICE_yyyyyyyy=129,*/
 
-	/*PUT 1ST EXT SERVICE HERE:*//*WMI_SERVICE_xxxxxxxx=128,*/
-	/*PUT 2ND EXT SERVICE HERE:*//*WMI_SERVICE_yyyyyyyy=129,*/
-
-	WMI_MAX_EXT_SERVICE
+    WMI_MAX_EXT_SERVICE
 
 } WMI_SERVICE;
 
@@ -300,61 +213,59 @@ typedef enum {
 #define WMI_NUM_EXT_SERVICES (WMI_MAX_EXT_SERVICE - WMI_MAX_SERVICE)
 #define WMI_SERVICE_EXT_BM_SIZE32 ((WMI_NUM_EXT_SERVICES + 31) / 32)
 
-/**
- * depreciated the name WMI_SERVICE_ROAM_OFFLOAD, but here to help
- * compiling with old host driver
- */
-#define WMI_SERVICE_ROAM_OFFLOAD WMI_SERVICE_ROAM_SCAN_OFFLOAD
+#define WMI_SERVICE_ROAM_OFFLOAD WMI_SERVICE_ROAM_SCAN_OFFLOAD /* depreciated the name WMI_SERVICE_ROAM_OFFLOAD, but here to help compiling with old host driver */
 
 /*
  * turn on the WMI service bit corresponding to  the WMI service.
  */
 #define WMI_SERVICE_ENABLE(pwmi_svc_bmap,svc_id) \
-	( (pwmi_svc_bmap)[(svc_id)/(sizeof(A_UINT32))] |= \
-		  (1 << ((svc_id)%(sizeof(A_UINT32)))) )
+    ( (pwmi_svc_bmap)[(svc_id)/(sizeof(A_UINT32))] |= \
+         (1 << ((svc_id)%(sizeof(A_UINT32)))) )
 
 #define WMI_SERVICE_DISABLE(pwmi_svc_bmap,svc_id) \
-	( (pwmi_svc_bmap)[(svc_id)/(sizeof(A_UINT32))] &=  \
-		  ( ~(1 << ((svc_id)%(sizeof(A_UINT32)))) ) )
+    ( (pwmi_svc_bmap)[(svc_id)/(sizeof(A_UINT32))] &=  \
+      ( ~(1 << ((svc_id)%(sizeof(A_UINT32)))) ) )
 
 #define WMI_SERVICE_IS_ENABLED(pwmi_svc_bmap,svc_id) \
-	( ((pwmi_svc_bmap)[(svc_id)/(sizeof(A_UINT32))] &  \
-	   (1 << ((svc_id)%(sizeof(A_UINT32)))) ) != 0)
+    ( ((pwmi_svc_bmap)[(svc_id)/(sizeof(A_UINT32))] &  \
+       (1 << ((svc_id)%(sizeof(A_UINT32)))) ) != 0)
+
 
 #define WMI_SERVICE_EXT_ENABLE(pwmi_svc_bmap, pwmi_svc_ext_bmap, svc_id) \
-	do { \
-		if (svc_id < WMI_MAX_SERVICE) { \
-			WMI_SERVICE_ENABLE(pwmi_svc_bmap, svc_id); \
-		} else { \
-			int word = ((svc_id) - WMI_MAX_SERVICE) / 32; \
-			int bit = (svc_id) & 0x1f; /* svc_id mod 32 */ \
-			(pwmi_svc_ext_bmap)[word] |= (1 << bit); \
-		} \
-	} while (0)
+    do { \
+        if (svc_id < WMI_MAX_SERVICE) { \
+            WMI_SERVICE_ENABLE(pwmi_svc_bmap, svc_id); \
+        } else { \
+            int word = ((svc_id) - WMI_MAX_SERVICE) / 32; \
+            int bit = (svc_id) & 0x1f; /* svc_id mod 32 */ \
+            (pwmi_svc_ext_bmap)[word] |= (1 << bit); \
+        } \
+    } while (0)
 
 #define WMI_SERVICE_EXT_DISABLE(pwmi_svc_bmap, pwmi_svc_ext_bmap, svc_id) \
-	do { \
-		if (svc_id < WMI_MAX_SERVICE) { \
-			WMI_SERVICE_DISABLE(pwmi_svc_bmap, svc_id); \
-		} else { \
-			int word = ((svc_id) - WMI_MAX_SERVICE) / 32; \
-			int bit = (svc_id) & 0x1f; /* svc_id mod 32 */ \
-			(pwmi_svc_ext_bmap)[word] &= ~(1 << bit); \
-		} \
-	} while (0)
+    do { \
+        if (svc_id < WMI_MAX_SERVICE) { \
+            WMI_SERVICE_DISABLE(pwmi_svc_bmap, svc_id); \
+        } else { \
+            int word = ((svc_id) - WMI_MAX_SERVICE) / 32; \
+            int bit = (svc_id) & 0x1f; /* svc_id mod 32 */ \
+            (pwmi_svc_ext_bmap)[word] &= ~(1 << bit); \
+        } \
+    } while (0)
 
 #define WMI_SERVICE_EXT_IS_ENABLED(pwmi_svc_bmap, pwmi_svc_ext_bmap, svc_id) \
-	/* If the service ID is beyond the known limit, treat it as disabled */ \
-	((svc_id) >= WMI_MAX_EXT_SERVICE ? 0 : \
-		/* If service ID is in the non-extension range, use the old check */ \
-		(svc_id) < WMI_MAX_SERVICE ? \
-			WMI_SERVICE_IS_ENABLED(pwmi_svc_bmap, svc_id) : \
-			/* If service ID is in the extended range, check ext_bmap */ \
-			(pwmi_svc_ext_bmap)[((svc_id) - WMI_MAX_SERVICE) / 32] >> \
-				((svc_id) & 0x1f))
+    /* If the service ID is beyond the known limit, treat it as disabled */ \
+    ((svc_id) >= WMI_MAX_EXT_SERVICE ? 0 : \
+        /* If service ID is in the non-extension range, use the old check */ \
+        (svc_id) < WMI_MAX_SERVICE ? \
+            WMI_SERVICE_IS_ENABLED(pwmi_svc_bmap, svc_id) : \
+            /* If service ID is in the extended range, check ext_bmap */ \
+            (pwmi_svc_ext_bmap)[((svc_id) - WMI_MAX_SERVICE) / 32] >> \
+                ((svc_id) & 0x1f))
 
 
 #ifdef __cplusplus
 }
 #endif
+
 #endif /*_WMI_SERVICES_H_*/

File diff suppressed because it is too large
+ 1544 - 1506
fw/wmi_tlv_defs.h


+ 39 - 43
fw/wmi_tlv_helper.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2014 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -24,7 +24,6 @@
  * under proprietary terms before Copyright ownership was assigned
  * to the Linux Foundation.
  */
-
 #ifndef _WMI_TLV_HELPER_H_
 #define _WMI_TLV_HELPER_H_
 
@@ -43,7 +42,7 @@
  * (5) Either WMITLV_SIZE_FIX or WMITLV_SIZE_VAR to indicate if this TLV is variable size.
  *
  * Note: It is important that the last TLV_ELEM does not have the "\" character.
- */
+*/
 
 /* Size of the TLV Header which is the Tag and Length fields */
 #define WMI_TLV_HDR_SIZE   (1 * sizeof(A_UINT32))
@@ -76,19 +75,20 @@ typedef struct {
 	A_UINT32 tag_struct_size;
 	A_UINT32 tag_varied_size;
 	A_UINT32 tag_array_size;
-	A_UINT32 cmd_num_tlv;
+    A_UINT32 cmd_num_tlv;
 } wmitlv_attributes_struc;
 
+
 /* Template structure definition for a variable size array of UINT32 */
 typedef struct {
-	A_UINT32 tlv_header;    /* TLV tag and len; tag equals WMI_TLVTAG_ARRAY_UINT32 */
-	A_UINT32 uint32_array[1];       /* variable length Array of UINT32 */
+    A_UINT32    tlv_header;     /* TLV tag and len; tag equals WMI_TLVTAG_ARRAY_UINT32 */
+    A_UINT32    uint32_array[1]; /* variable length Array of UINT32 */
 } wmitlv_array_uint32;
 
 /* Template structure definition for a variable size array of unknown structure */
 typedef struct {
-	A_UINT32 tlv_header;    /* TLV tag and len; tag equals WMI_TLVTAG_ARRAY_STRUC */
-	A_UINT32 struc_array[1];        /* variable length Array of structures */
+    A_UINT32    tlv_header;     /* TLV tag and len; tag equals WMI_TLVTAG_ARRAY_STRUC */
+    A_UINT32    struc_array[1]; /* variable length Array of structures */
 } wmitlv_array_struc;
 
 /*
@@ -97,64 +97,60 @@ typedef struct {
  */
 #define WMITLV_ARR_SIZE_INVALID  0x1FE
 
-#define WMITLV_GET_TAG_NUM_TLV_ATTRIB(wmi_cmd_event_id)	     \
-	WMI_TLV_HLPR_NUM_TLVS_FOR_ ## wmi_cmd_event_id
+#define WMITLV_GET_TAG_NUM_TLV_ATTRIB(wmi_cmd_event_id)      \
+       WMI_TLV_HLPR_NUM_TLVS_FOR_##wmi_cmd_event_id
+
 
 void
-wmitlv_set_static_param_tlv_buf(void *param_tlv_buf,
-				A_UINT32 max_tlvs_accomodated);
+wmitlv_set_static_param_tlv_buf(void *param_tlv_buf, A_UINT32 max_tlvs_accomodated);
 
 void
-wmitlv_free_allocated_command_tlvs(A_UINT32 cmd_id, void **wmi_cmd_struct_ptr);
+wmitlv_free_allocated_command_tlvs(
+    A_UINT32 cmd_id,
+    void **wmi_cmd_struct_ptr);
 
 void
-wmitlv_free_allocated_event_tlvs(A_UINT32 event_id, void **wmi_cmd_struct_ptr);
+wmitlv_free_allocated_event_tlvs(
+    A_UINT32 event_id,
+    void **wmi_cmd_struct_ptr);
 
 int
-wmitlv_check_command_tlv_params(void *os_ctx, void *param_struc_ptr,
-				A_UINT32 param_buf_len,
-				A_UINT32 wmi_cmd_event_id);
+wmitlv_check_command_tlv_params(
+    void *os_ctx, void *param_struc_ptr, A_UINT32 param_buf_len, A_UINT32 wmi_cmd_event_id);
 
 int
-wmitlv_check_event_tlv_params(void *os_ctx, void *param_struc_ptr,
-			      A_UINT32 param_buf_len,
-			      A_UINT32 wmi_cmd_event_id);
+wmitlv_check_event_tlv_params(
+    void *os_ctx, void *param_struc_ptr, A_UINT32 param_buf_len, A_UINT32 wmi_cmd_event_id);
 
 int
-wmitlv_check_and_pad_command_tlvs(void *os_ctx, void *param_struc_ptr,
-				  A_UINT32 param_buf_len,
-				  A_UINT32 wmi_cmd_event_id,
-				  void **wmi_cmd_struct_ptr);
+wmitlv_check_and_pad_command_tlvs(
+    void *os_ctx, void *param_struc_ptr, A_UINT32 param_buf_len, A_UINT32 wmi_cmd_event_id, void **wmi_cmd_struct_ptr);
 
 int
-wmitlv_check_and_pad_event_tlvs(void *os_ctx, void *param_struc_ptr,
-				A_UINT32 param_buf_len,
-				A_UINT32 wmi_cmd_event_id,
-				void **wmi_cmd_struct_ptr);
+wmitlv_check_and_pad_event_tlvs(
+    void *os_ctx, void *param_struc_ptr, A_UINT32 param_buf_len, A_UINT32 wmi_cmd_event_id, void **wmi_cmd_struct_ptr);
 
 /** This structure is the element for the Version WhiteList
  *  table. */
 typedef struct {
-	A_UINT32 major;
-	A_UINT32 minor;
-	A_UINT32 namespace_0;
-	A_UINT32 namespace_1;
-	A_UINT32 namespace_2;
-	A_UINT32 namespace_3;
+    A_UINT32      major;
+    A_UINT32      minor;
+    A_UINT32      namespace_0;
+    A_UINT32      namespace_1;
+    A_UINT32      namespace_2;
+    A_UINT32      namespace_3;
 } wmi_whitelist_version_info;
 
-struct _wmi_abi_version;        /* Forward declaration to make the ARM compiler happy */
+struct _wmi_abi_version;   /* Forward declaration to make the ARM compiler happy */
 
 int
-wmi_cmp_and_set_abi_version(int num_whitelist,
-			    wmi_whitelist_version_info *
-			    version_whitelist_table,
-			    struct _wmi_abi_version *my_vers,
-			    struct _wmi_abi_version *opp_vers,
-			    struct _wmi_abi_version *out_vers);
+wmi_cmp_and_set_abi_version(int num_whitelist, wmi_whitelist_version_info *version_whitelist_table,
+                            struct _wmi_abi_version *my_vers,
+                            struct _wmi_abi_version *opp_vers,
+                            struct _wmi_abi_version *out_vers);
 
 int
-wmi_versions_are_compatible(struct _wmi_abi_version *vers1,
-			    struct _wmi_abi_version *vers2);
+wmi_versions_are_compatible(struct _wmi_abi_version *vers1, struct _wmi_abi_version *vers2);
 
 #endif /*_WMI_TLV_HELPER_H_*/
+

File diff suppressed because it is too large
+ 1333 - 1351
fw/wmi_unified.h


+ 3 - 2
fw/wmi_version.h

@@ -35,8 +35,8 @@
  *  compatibility. */
 #define __WMI_VER_MINOR_    0
 /** WMI revision number has to be incremented when there is a
- *  change that may or may not break compatibility */
-#define __WMI_REVISION_ 320
+ *  change that may or may not break compatibility. */
+#define __WMI_REVISION_ 329
 
 /** The Version Namespace should not be normally changed. Only
  *  host and firmware of the same WMI namespace will work
@@ -78,3 +78,4 @@
 #define WMI_ABI_VERSION_NS_1 __NAMESPACE_1_
 #define WMI_ABI_VERSION_NS_2 __NAMESPACE_2_
 #define WMI_ABI_VERSION_NS_3 __NAMESPACE_3_
+

+ 58 - 55
fw/wmix.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2014 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -53,29 +53,29 @@ extern "C" {
  * WMI_EVENT_ID=WMI_EXTENSION_EVENTID.
  */
 typedef struct {
-	A_UINT32 commandId;
+    A_UINT32    commandId;
 } POSTPACK WMIX_CMD_HDR;
 
 typedef enum {
-	WMIX_DSETOPEN_REPLY_CMDID = 0x2001,
-	WMIX_DSETDATA_REPLY_CMDID,
-	WMIX_HB_CHALLENGE_RESP_CMDID,
-	WMIX_DBGLOG_CFG_MODULE_CMDID,
-	WMIX_PROF_CFG_CMDID,            /* 0x200a */
-	WMIX_PROF_ADDR_SET_CMDID,
-	WMIX_PROF_START_CMDID,
-	WMIX_PROF_STOP_CMDID,
-	WMIX_PROF_COUNT_GET_CMDID,
+    WMIX_DSETOPEN_REPLY_CMDID           = 0x2001,
+    WMIX_DSETDATA_REPLY_CMDID,
+    WMIX_HB_CHALLENGE_RESP_CMDID,
+    WMIX_DBGLOG_CFG_MODULE_CMDID,
+    WMIX_PROF_CFG_CMDID,                 /* 0x200a */
+    WMIX_PROF_ADDR_SET_CMDID,
+    WMIX_PROF_START_CMDID,
+    WMIX_PROF_STOP_CMDID,
+    WMIX_PROF_COUNT_GET_CMDID,
 } WMIX_COMMAND_ID;
 
 typedef enum {
-	WMIX_DSETOPENREQ_EVENTID = 0x3001,
-	WMIX_DSETCLOSE_EVENTID,
-	WMIX_DSETDATAREQ_EVENTID,
-	WMIX_HB_CHALLENGE_RESP_EVENTID,
-	WMIX_DBGLOG_EVENTID,
-	WMIX_PROF_COUNT_EVENTID,
-	WMIX_PKTLOG_EVENTID,
+    WMIX_DSETOPENREQ_EVENTID            = 0x3001,
+    WMIX_DSETCLOSE_EVENTID,
+    WMIX_DSETDATAREQ_EVENTID,
+    WMIX_HB_CHALLENGE_RESP_EVENTID,
+    WMIX_DBGLOG_EVENTID,
+    WMIX_PROF_COUNT_EVENTID,
+    WMIX_PKTLOG_EVENTID,
 } WMIX_EVENT_ID;
 
 /*
@@ -87,10 +87,10 @@ typedef enum {
  * DataSet Open Request Event
  */
 typedef struct {
-	A_UINT32 dset_id;
-	A_UINT32 targ_dset_handle;              /* echo'ed, not used by Host, */
-	A_UINT32 targ_reply_fn;         /* echo'ed, not used by Host, */
-	A_UINT32 targ_reply_arg;                /* echo'ed, not used by Host, */
+    A_UINT32 dset_id;
+    A_UINT32 targ_dset_handle;  /* echo'ed, not used by Host, */
+    A_UINT32 targ_reply_fn;     /* echo'ed, not used by Host, */
+    A_UINT32 targ_reply_arg;    /* echo'ed, not used by Host, */
 } POSTPACK WMIX_DSETOPENREQ_EVENT;
 
 /*
@@ -98,7 +98,7 @@ typedef struct {
  * DataSet Close Event
  */
 typedef struct {
-	A_UINT32 access_cookie;
+    A_UINT32 access_cookie;
 } POSTPACK WMIX_DSETCLOSE_EVENT;
 
 /*
@@ -106,32 +106,33 @@ typedef struct {
  * DataSet Data Request Event
  */
 typedef struct {
-	A_UINT32 access_cookie;
-	A_UINT32 offset;
-	A_UINT32 length;
-	A_UINT32 targ_buf;              /* echo'ed, not used by Host, */
-	A_UINT32 targ_reply_fn;         /* echo'ed, not used by Host, */
-	A_UINT32 targ_reply_arg;                /* echo'ed, not used by Host, */
+    A_UINT32 access_cookie;
+    A_UINT32 offset;
+    A_UINT32 length;
+    A_UINT32 targ_buf;         /* echo'ed, not used by Host, */
+    A_UINT32 targ_reply_fn;    /* echo'ed, not used by Host, */
+    A_UINT32 targ_reply_arg;   /* echo'ed, not used by Host, */
 } WMIX_DSETDATAREQ_EVENT;
 
 typedef struct {
-	A_UINT32 status;
-	A_UINT32 targ_dset_handle;
-	A_UINT32 targ_reply_fn;
-	A_UINT32 targ_reply_arg;
-	A_UINT32 access_cookie;
-	A_UINT32 size;
-	A_UINT32 version;
-} WMIX_DSETOPEN_REPLY_CMD;
+    A_UINT32              status;
+    A_UINT32              targ_dset_handle;
+    A_UINT32              targ_reply_fn;
+    A_UINT32              targ_reply_arg;
+    A_UINT32              access_cookie;
+    A_UINT32              size;
+    A_UINT32              version;
+}  WMIX_DSETOPEN_REPLY_CMD;
 
 typedef struct {
-	A_UINT32 status;
-	A_UINT32 targ_buf;
-	A_UINT32 targ_reply_fn;
-	A_UINT32 targ_reply_arg;
-	A_UINT32 length;
-	A_UINT8 buf[1];
-} WMIX_DSETDATA_REPLY_CMD;
+    A_UINT32              status;
+    A_UINT32              targ_buf;
+    A_UINT32              targ_reply_fn;
+    A_UINT32              targ_reply_arg;
+    A_UINT32              length;
+    A_UINT8               buf[1];
+}  WMIX_DSETDATA_REPLY_CMD;
+
 
 /*
  * =============Error Detection support=================
@@ -142,9 +143,9 @@ typedef struct {
  * Heartbeat Challenge Response command
  */
 typedef struct {
-	A_UINT32 cookie;
-	A_UINT32 source;
-} WMIX_HB_CHALLENGE_RESP_CMD;
+    A_UINT32              cookie;
+    A_UINT32              source;
+}  WMIX_HB_CHALLENGE_RESP_CMD;
 
 /*
  * WMIX_HB_CHALLENGE_RESP_EVENTID
@@ -157,13 +158,13 @@ typedef struct {
  */
 
 typedef struct {
-	A_UINT32 period;                /* Time (in 30.5us ticks) between samples */
-	A_UINT32 nbins;
-} WMIX_PROF_CFG_CMD;
+    A_UINT32 period; /* Time (in 30.5us ticks) between samples */
+    A_UINT32 nbins;
+}  WMIX_PROF_CFG_CMD;
 
 typedef struct {
-	A_UINT32 addr;
-} WMIX_PROF_ADDR_SET_CMD;
+    A_UINT32 addr;
+}  WMIX_PROF_ADDR_SET_CMD;
 
 /*
  * Target responds to Hosts's earlier WMIX_PROF_COUNT_GET_CMDID request
@@ -172,11 +173,13 @@ typedef struct {
  *   count set to the corresponding count
  */
 typedef struct {
-	A_UINT32 addr;
-	A_UINT32 count;
-} WMIX_PROF_COUNT_EVENT;
+    A_UINT32              addr;
+    A_UINT32              count;
+}  WMIX_PROF_COUNT_EVENT;
+
 
 #ifdef __cplusplus
 }
 #endif
+
 #endif /* _WMIX_H_ */

Some files were not shown because too many files changed in this diff