qcacld-3.0: CL 1594228 - update fw common interface files

Propagation from qcacld-2.0 to qcacld-3.0

Define mechanism for WMI_SERVICE flags beyond 128.

Change-Id: I0832f646e76d3e883a36ce3d5d6a63ad7bf83a4c
CRs-fixed: 865207
这个提交包含在:
Nitesh Shah
2016-07-21 12:59:24 +05:30
提交者 Vishwajith Upendra
父节点 a43b09df1e
当前提交 ca1b2d06e2
修改 4 个文件,包含 283 行新增133 行删除

查看文件

@@ -39,157 +39,217 @@
extern "C" { extern "C" {
#endif #endif
typedef enum { typedef enum {
WMI_SERVICE_BEACON_OFFLOAD = 0, /* beacon offload */ WMI_SERVICE_BEACON_OFFLOAD = 0, /* beacon offload */
WMI_SERVICE_SCAN_OFFLOAD, /* scan offload */ WMI_SERVICE_SCAN_OFFLOAD = 1, /* scan offload */
WMI_SERVICE_ROAM_SCAN_OFFLOAD, /* roam scan offload */ WMI_SERVICE_ROAM_SCAN_OFFLOAD = 2, /* roam scan offload */
WMI_SERVICE_BCN_MISS_OFFLOAD, /* beacon miss offload */ WMI_SERVICE_BCN_MISS_OFFLOAD = 3, /* beacon miss offload */
WMI_SERVICE_STA_PWRSAVE, /* fake sleep + basic power save */ /* fake sleep + basic power save */
WMI_SERVICE_STA_ADVANCED_PWRSAVE, /* uapsd, pspoll, force sleep */ WMI_SERVICE_STA_PWRSAVE = 4,
WMI_SERVICE_AP_UAPSD, /* uapsd on AP */ WMI_SERVICE_STA_ADVANCED_PWRSAVE = 5, /* uapsd, pspoll, force sleep */
WMI_SERVICE_AP_DFS, /* DFS on AP */ WMI_SERVICE_AP_UAPSD = 6, /* uapsd on AP */
WMI_SERVICE_11AC, /* supports 11ac */ WMI_SERVICE_AP_DFS = 7, /* DFS on AP */
WMI_SERVICE_BLOCKACK, /* Supports triggering ADDBA/DELBA from host */ WMI_SERVICE_11AC = 8, /* supports 11ac */
WMI_SERVICE_PHYERR, /* PHY error */ /* Supports triggering ADDBA/DELBA from host*/
WMI_SERVICE_BCN_FILTER, /* Beacon filter support */ WMI_SERVICE_BLOCKACK = 9,
WMI_SERVICE_RTT, /* RTT (round trip time) support */ WMI_SERVICE_PHYERR = 10, /* PHY error */
WMI_SERVICE_WOW, /* WOW Support */ WMI_SERVICE_BCN_FILTER = 11, /* Beacon filter support */
WMI_SERVICE_RATECTRL_CACHE, /* Rate-control caching */ /* RTT (round trip time) support */
WMI_SERVICE_IRAM_TIDS, /* TIDs in IRAM */ WMI_SERVICE_RTT = 12,
WMI_SERVICE_ARPNS_OFFLOAD, /* ARP NS Offload support for STA vdev*/ WMI_SERVICE_WOW = 13, /* WOW Support */
WMI_SERVICE_NLO, /* Network list offload service */ WMI_SERVICE_RATECTRL_CACHE = 14, /* Rate-control caching */
WMI_SERVICE_GTK_OFFLOAD, /* GTK offload */ WMI_SERVICE_IRAM_TIDS = 15, /* TIDs in IRAM */
WMI_SERVICE_SCAN_SCH, /* Scan Scheduler Service */ /* ARP NS Offload support for STA vdev */
WMI_SERVICE_CSA_OFFLOAD, /* CSA offload service */ WMI_SERVICE_ARPNS_OFFLOAD = 16,
WMI_SERVICE_CHATTER, /* Chatter service */ /* Network list offload service */
WMI_SERVICE_COEX_FREQAVOID, /* FW report freq range to avoid */ WMI_SERVICE_NLO = 17,
WMI_SERVICE_PACKET_POWER_SAVE, /* packet power save service */ WMI_SERVICE_GTK_OFFLOAD = 18, /* GTK offload */
WMI_SERVICE_FORCE_FW_HANG, /* Service to test the firmware recovery mechanism */ WMI_SERVICE_SCAN_SCH = 19, /* Scan Scheduler Service */
WMI_SERVICE_GPIO, /* GPIO service */ WMI_SERVICE_CSA_OFFLOAD = 20, /* CSA offload service */
WMI_SERVICE_STA_DTIM_PS_MODULATED_DTIM, /* Modulated DTIM support */ WMI_SERVICE_CHATTER = 21, /* Chatter service */
WMI_STA_UAPSD_BASIC_AUTO_TRIG, /* Basic version of station UAPSD AC Trigger Generation Method with /* FW report freq range to avoid */
* variable tigger periods (service, delay, and suspend intervals) */ WMI_SERVICE_COEX_FREQAVOID = 22,
WMI_STA_UAPSD_VAR_AUTO_TRIG, /* Station UAPSD AC Trigger Generation Method with variable WMI_SERVICE_PACKET_POWER_SAVE = 23, /* packet power save service */
* trigger periods (service, delay, and suspend intervals) */ /* Service to test the firmware recovery mechanism */
WMI_SERVICE_STA_KEEP_ALIVE, /* Serivce to support the STA KEEP ALIVE mechanism */ WMI_SERVICE_FORCE_FW_HANG = 24,
WMI_SERVICE_TX_ENCAP, /* Packet type for TX encapsulation */ WMI_SERVICE_GPIO = 25, /* GPIO service */
WMI_SERVICE_AP_PS_DETECT_OUT_OF_SYNC, /* detect out-of-sync sleeping stations */ /* Modulated DTIM support */
WMI_SERVICE_EARLY_RX, /* adaptive early-rx feature */ WMI_SERVICE_STA_DTIM_PS_MODULATED_DTIM = 26,
WMI_SERVICE_STA_SMPS, /* STA MIMO-PS */ /**
WMI_SERVICE_FWTEST, /* Firmware test service */ * Basic version of station UAPSD AC Trigger Generation Method with
WMI_SERVICE_STA_WMMAC, /* STA WMMAC */ * variable tigger periods (service, delay, and suspend intervals)
WMI_SERVICE_TDLS, /* TDLS support */ */
WMI_SERVICE_BURST, /* SIFS spaced burst support */ WMI_STA_UAPSD_BASIC_AUTO_TRIG = 27,
WMI_SERVICE_MCC_BCN_INTERVAL_CHANGE, /* Dynamic beaocn interval change for SAP/P2p GO in MCC scenario */ /**
WMI_SERVICE_ADAPTIVE_OCS, /* Service to support adaptive off-channel scheduler */ * Station UAPSD AC Trigger Generation Method with variable
WMI_SERVICE_BA_SSN_SUPPORT, /* target will provide Sequence number for the peer/tid combo */ * trigger periods (service, delay, and suspend intervals)
WMI_SERVICE_FILTER_IPSEC_NATKEEPALIVE, */
WMI_SERVICE_WLAN_HB, /* wlan HB service */ WMI_STA_UAPSD_VAR_AUTO_TRIG = 28,
WMI_SERVICE_LTE_ANT_SHARE_SUPPORT, /* support LTE/WLAN antenna sharing */ /* Serivce to support the STA KEEP ALIVE mechanism */
WMI_SERVICE_BATCH_SCAN, /*Service to support batch scan */ WMI_SERVICE_STA_KEEP_ALIVE = 29,
WMI_SERVICE_QPOWER, /* QPower service */ /* Packet type for TX encapsulation */
WMI_SERVICE_PLMREQ, WMI_SERVICE_TX_ENCAP = 30,
WMI_SERVICE_THERMAL_MGMT, /* thermal throttling support */ /* detect out-of-sync sleeping stations */
WMI_SERVICE_RMC, /* RMC support */ WMI_SERVICE_AP_PS_DETECT_OUT_OF_SYNC = 31,
WMI_SERVICE_MHF_OFFLOAD, /* multi-hop forwarding offload */ WMI_SERVICE_EARLY_RX = 32, /* adaptive early-rx feature */
WMI_SERVICE_COEX_SAR, /* target support SAR tx limit from WMI_PDEV_PARAM_TXPOWER_LIMITxG */ WMI_SERVICE_STA_SMPS = 33, /* STA MIMO-PS */
WMI_SERVICE_BCN_TXRATE_OVERRIDE, /* Will support the bcn/prb rsp rate override */ WMI_SERVICE_FWTEST = 34, /* Firmware test service */
WMI_SERVICE_NAN, /* Neighbor Awareness Network */ WMI_SERVICE_STA_WMMAC = 35, /* STA WMMAC */
WMI_SERVICE_L1SS_STAT, /* L1SS statistics counter report */ WMI_SERVICE_TDLS = 36, /* TDLS support */
WMI_SERVICE_ESTIMATE_LINKSPEED, /* Linkspeed Estimation per peer */ WMI_SERVICE_BURST = 37, /* SIFS spaced burst support */
WMI_SERVICE_OBSS_SCAN, /* Service to support OBSS scan */ /* Dynamic beaocn interval change for SAP/P2p GO in MCC scenario */
WMI_SERVICE_TDLS_OFFCHAN, /* TDLS off channel support */ WMI_SERVICE_MCC_BCN_INTERVAL_CHANGE = 38,
WMI_SERVICE_TDLS_UAPSD_BUFFER_STA, /* TDLS UAPSD Buffer STA support */ /* Service to support adaptive off-channel scheduler */
WMI_SERVICE_TDLS_UAPSD_SLEEP_STA, /* TDLS UAPSD Sleep STA support */ WMI_SERVICE_ADAPTIVE_OCS = 39,
WMI_SERVICE_IBSS_PWRSAVE, /* IBSS power save support */ /* target will provide Sequence number for the peer/tid combo */
WMI_SERVICE_LPASS, /*Service to support LPASS */ WMI_SERVICE_BA_SSN_SUPPORT = 40,
WMI_SERVICE_EXTSCAN, /* Extended Scans */ WMI_SERVICE_FILTER_IPSEC_NATKEEPALIVE = 41,
WMI_SERVICE_D0WOW, /* D0-WOW Support */ WMI_SERVICE_WLAN_HB = 42, /* wlan HB service */
WMI_SERVICE_HSOFFLOAD, /* Hotspot offload feature Support */ /* support LTE/WLAN antenna sharing */
WMI_SERVICE_ROAM_HO_OFFLOAD, /* roam handover offload */ WMI_SERVICE_LTE_ANT_SHARE_SUPPORT = 43,
WMI_SERVICE_RX_FULL_REORDER, /* target-based Rx full reorder */ WMI_SERVICE_BATCH_SCAN = 44, /*Service to support batch scan*/
WMI_SERVICE_DHCP_OFFLOAD, /* DHCP offload support */ WMI_SERVICE_QPOWER = 45, /* QPower service */
WMI_SERVICE_STA_RX_IPA_OFFLOAD_SUPPORT, /* STA RX DATA offload to IPA support */ WMI_SERVICE_PLMREQ = 46,
WMI_SERVICE_MDNS_OFFLOAD, /* mDNS responder offload support */ WMI_SERVICE_THERMAL_MGMT = 47, /* thermal throttling support */
WMI_SERVICE_SAP_AUTH_OFFLOAD, /* softap auth offload */ WMI_SERVICE_RMC = 48, /* RMC support */
WMI_SERVICE_DUAL_BAND_SIMULTANEOUS_SUPPORT, /* Dual Band Simultaneous support */ /* multi-hop forwarding offload */
WMI_SERVICE_OCB, /* OCB mode support */ WMI_SERVICE_MHF_OFFLOAD = 49,
WMI_SERVICE_AP_ARPNS_OFFLOAD, /* arp offload support for ap mode vdev */ /* target support SAR tx limit from WMI_PDEV_PARAM_TXPOWER_LIMITxG */
WMI_SERVICE_PER_BAND_CHAINMASK_SUPPORT, /* Per band chainmask support */ WMI_SERVICE_COEX_SAR = 50,
WMI_SERVICE_PACKET_FILTER_OFFLOAD, /* Per vdev packet filters */ /* Will support the bcn/prb rsp rate override */
WMI_SERVICE_MGMT_TX_HTT, /* Mgmt Tx via HTT interface */ WMI_SERVICE_BCN_TXRATE_OVERRIDE = 51,
WMI_SERVICE_MGMT_TX_WMI, /* Mgmt Tx via WMI interface */ WMI_SERVICE_NAN = 52, /* Neighbor Awareness Network */
WMI_SERVICE_EXT_MSG, /* WMI_SERVICE_READY_EXT msg follows */ /* L1SS statistics counter report */
WMI_SERVICE_MAWC, /* Motion Aided WiFi Connectivity (MAWC)*/ 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 */ /* target will send ASSOC_CONF after ASSOC_CMD is processed */
WMI_SERVICE_PEER_ASSOC_CONF, WMI_SERVICE_PEER_ASSOC_CONF = 79,
WMI_SERVICE_EGAP = 80, /* enhanced green ap support */
/* enhanced green ap support */
WMI_SERVICE_EGAP,
/* FW supports 11W PMF Offload for STA */ /* FW supports 11W PMF Offload for STA */
WMI_SERVICE_STA_PMF_OFFLOAD, WMI_SERVICE_STA_PMF_OFFLOAD = 81,
/* FW supports unified D0 and D3 wow */ /* FW supports unified D0 and D3 wow */
WMI_SERVICE_UNIFIED_WOW_CAPABILITY, WMI_SERVICE_UNIFIED_WOW_CAPABILITY = 82,
WMI_SERVICE_ENHANCED_PROXY_STA, /* Enhanced ProxySTA mode support */ /* Enhanced ProxySTA mode support */
WMI_SERVICE_ATF, /* Air Time Fairness support */ WMI_SERVICE_ENHANCED_PROXY_STA = 83,
WMI_SERVICE_COEX_GPIO, /* BTCOEX GPIO support */ WMI_SERVICE_ATF = 84, /* Air Time Fairness support */
WMI_SERVICE_AUX_SPECTRAL_INTF, /* Aux Radio enhancement support for ignoring spectral scan intf from main radios */ WMI_SERVICE_COEX_GPIO = 85, /* BTCOEX GPIO support */
WMI_SERVICE_AUX_CHAN_LOAD_INTF, /* Aux Radio enhancement support for ignoring chan load intf from main radios*/ /**
WMI_SERVICE_BSS_CHANNEL_INFO_64, /* BSS channel info (freq, noise floor, 64-bit counters) event support */ * Aux Radio enhancement support for ignoring spectral scan intf
WMI_SERVICE_ENTERPRISE_MESH, /* Enterprise MESH Service Support */ * from main radios
WMI_SERVICE_RESTRT_CHNL_SUPPORT, /* Restricted Channel Support */ */
WMI_SERVICE_BPF_OFFLOAD, /* FW supports bpf offload */ WMI_SERVICE_AUX_SPECTRAL_INTF = 86,
WMI_SERVICE_SYNC_DELETE_CMDS, /* FW sends response event for Peer, Vdev delete commands */ /**
WMI_SERVICE_SMART_ANTENNA_SW_SUPPORT, * Aux Radio enhancement support for ignoring chan load intf
WMI_SERVICE_SMART_ANTENNA_HW_SUPPORT, * 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 */ /* allow per-peer tx MCS min/max limits by host */
WMI_SERVICE_RATECTRL_LIMIT_MAX_MIN_RATES, WMI_SERVICE_RATECTRL_LIMIT_MAX_MIN_RATES = 95,
WMI_SERVICE_NAN_DATA, /* FW supports NAN data */ WMI_SERVICE_NAN_DATA = 96, /* FW supports NAN data */
WMI_SERVICE_NAN_RTT, /* FW supports NAN RTT */ WMI_SERVICE_NAN_RTT = 97, /* FW supports NAN RTT */
WMI_SERVICE_11AX, /* FW supports 802.11ax */ WMI_SERVICE_11AX = 98, /* FW supports 802.11ax */
/* WMI_SERVICE_DEPRECATED_REPLACE /* WMI_SERVICE_DEPRECATED_REPLACE
* FW supports these new WMI commands, to be used rather than * FW supports these new WMI commands, to be used rather than
* deprecated matching commands: * deprecated matching commands:
* - WMI_PDEV_SET_PCL_CMDID (vs. WMI_SOC_SET_PCL_CMDID) * - 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_HW_MODE_CMDID
* (vs. WMI_SOC_SET_HW_MODE_CMDID)
* - WMI_PDEV_SET_MAC_CONFIG_CMDID * - WMI_PDEV_SET_MAC_CONFIG_CMDID
* (vs. WMI_SOC_SET_DUAL_MAC_CONFIG_CMDID) * (vs. WMI_SOC_SET_DUAL_MAC_CONFIG_CMDID)
* - WMI_PDEV_SET_ANTENNA_MODE_CMDID * - WMI_PDEV_SET_ANTENNA_MODE_CMDID
* (vs. WMI_SOC_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_VDEV_SET_DSCP_TID_MAP_CMDID
* (vs. WMI_VDEV_SET_WMM_PARAMS_CMDID)
*/ */
WMI_SERVICE_DEPRECATED_REPLACE, WMI_SERVICE_DEPRECATED_REPLACE = 99,
WMI_SERVICE_TDLS_CONN_TRACKER_IN_HOST_MODE, /* FW supports a new mode that allows to run connection tracker in host */ /**
WMI_SERVICE_ENHANCED_MCAST_FILTER,/* FW supports enhanced multicast filtering (of mcast IP inside ucast WLAN) */ * 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 */ /* periodic channel stats service */
WMI_SERVICE_PERIODIC_CHAN_STAT_SUPPORT, WMI_SERVICE_PERIODIC_CHAN_STAT_SUPPORT = 102,
WMI_SERVICE_MESH_11S, /* 11s mesh service support */ WMI_SERVICE_MESH_11S = 103,
/* /**
* FW+HW supports 10 MHz(half rate) and 5 MHz(quarter rate) channel * FW+HW supports 10 MHz (half rate) and 5 MHz (quarter rate)
* bandwidth * channel bandwidth
*/ */
WMI_SERVICE_HALF_RATE_QUARTER_RATE_SUPPORT, WMI_SERVICE_HALF_RATE_QUARTER_RATE_SUPPORT = 104,
/* /* Support per-vdev specs of which rx frames to filter out */
* Support per-vdev specs of which rx frames WMI_SERVICE_VDEV_RX_FILTER = 105,
* to filter out WMI_SERVICE_P2P_LISTEN_OFFLOAD_SUPPORT = 106,
*/ /**
WMI_SERVICE_VDEV_RX_FILTER,
WMI_SERVICE_P2P_LISTEN_OFFLOAD_SUPPORT,
/*
* FW supports marking the first data packet which wakes * FW supports marking the first data packet which wakes
* the host from suspend * the host from suspend
*/ */
WMI_SERVICE_MARK_FIRST_WAKEUP_PACKET, WMI_SERVICE_MARK_FIRST_WAKEUP_PACKET = 107,
/* FW supports command that can add/delete multiple mcast filters */ /* FW supports command that can add/delete multiple mcast filters */
WMI_SERVICE_MULTIPLE_MCAST_FILTER_SET, WMI_SERVICE_MULTIPLE_MCAST_FILTER_SET = 108,
/* WMI_SERVICE_HOST_MANAGED_RX_REORDER - /* WMI_SERVICE_HOST_MANAGED_RX_REORDER -
* FW supports host-managed RX reorder. * FW supports host-managed RX reorder.
* Host managed RX reorder involves RX BA state machine handling * Host managed RX reorder involves RX BA state machine handling
* on peer/TID basis, REO configuration for HW based reordering/PN * on peer/TID basis, REO configuration for HW based reordering/PN
* check and processing reorder exceptions generated by HW. * check and processing reorder exceptions generated by HW.
*/ */
WMI_SERVICE_HOST_MANAGED_RX_REORDER, WMI_SERVICE_HOST_MANAGED_RX_REORDER = 109,
/* Specify whether the target supports the following WMI messages /* Specify whether the target supports the following WMI messages
* for reading / writing its flash memory: * for reading / writing its flash memory:
* WMI_READ_DATA_FROM_FLASH_CMDID, * WMI_READ_DATA_FROM_FLASH_CMDID,
@@ -197,16 +257,39 @@ typedef enum {
* WMI_TRANSFER_DATA_TO_FLASH_CMDID, * WMI_TRANSFER_DATA_TO_FLASH_CMDID,
* WMI_TRANSFER_DATA_TO_FLASH_COMPLETE_EVENTID, * WMI_TRANSFER_DATA_TO_FLASH_COMPLETE_EVENTID,
*/ */
WMI_SERVICE_FLASH_RDWR_SUPPORT, WMI_SERVICE_FLASH_RDWR_SUPPORT = 110,
/*** ADD NEW SERVICES HERE UNTIL ALL VALUES UP TO 128 ARE USED ***/
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.
*/
/*PUT 1ST EXT SERVICE HERE:*//*WMI_SERVICE_xxxxxxxx=128,*/
/*PUT 2ND EXT SERVICE HERE:*//*WMI_SERVICE_yyyyyyyy=129,*/
WMI_MAX_EXT_SERVICE
WMI_MAX_SERVICE = 128 /* max service */
} WMI_SERVICE; } WMI_SERVICE;
#define WMI_SERVICE_BM_SIZE ((WMI_MAX_SERVICE + sizeof(A_UINT32)- 1)/sizeof(A_UINT32)) #define WMI_SERVICE_BM_SIZE ((WMI_MAX_SERVICE + sizeof(A_UINT32)- 1)/sizeof(A_UINT32))
/* #define WMI_NUM_EXT_SERVICES (WMI_MAX_EXT_SERVICE - WMI_MAX_SERVICE)
* depreciated the name WMI_SERVICE_ROAM_OFFLOAD, but here to help compiling #define WMI_SERVICE_EXT_BM_SIZE32 ((WMI_NUM_EXT_SERVICES + 31) / 32)
* with old host driver
/**
* 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
@@ -225,6 +308,39 @@ typedef enum {
( ((pwmi_svc_bmap)[(svc_id)/(sizeof(A_UINT32))] & \ ( ((pwmi_svc_bmap)[(svc_id)/(sizeof(A_UINT32))] & \
(1 << ((svc_id)%(sizeof(A_UINT32)))) ) != 0) (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)
#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)
#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))
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

查看文件

@@ -724,6 +724,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_peer_set_rx_blocksize_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_peer_set_rx_blocksize_cmd_fixed_param,
WMITLV_TAG_STRUC_WMI_PDEV_SET_WAKEUP_CONFIG_CMDID_fixed_param, WMITLV_TAG_STRUC_WMI_PDEV_SET_WAKEUP_CONFIG_CMDID_fixed_param,
WMITLV_TAG_STRUC_wmi_tlv_buf_len_param, WMITLV_TAG_STRUC_wmi_tlv_buf_len_param,
WMITLV_TAG_STRUC_wmi_service_available_event_fixed_param,
} WMITLV_TAG_ID; } WMITLV_TAG_ID;
/* /*
@@ -1173,6 +1174,7 @@ typedef enum {
OP(WMI_P2P_LISTEN_OFFLOAD_STOPPED_EVENTID) \ OP(WMI_P2P_LISTEN_OFFLOAD_STOPPED_EVENTID) \
OP(WMI_MGMT_TX_BUNDLE_COMPLETION_EVENTID) \ OP(WMI_MGMT_TX_BUNDLE_COMPLETION_EVENTID) \
OP(WMI_READ_DATA_FROM_FLASH_EVENTID) \ OP(WMI_READ_DATA_FROM_FLASH_EVENTID) \
OP(WMI_SERVICE_AVAILABLE_EVENTID) \
/* add new EVT_LIST elements above this line */ /* add new EVT_LIST elements above this line */
/* TLV definitions of WMI commands */ /* TLV definitions of WMI commands */
@@ -2945,6 +2947,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_REORDER_QUEUE_REMOVE_CMDID);
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, wlan_dbs_hw_mode_list, WMITLV_SIZE_VAR) WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, wlan_dbs_hw_mode_list, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EVENTID); WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EVENTID);
/* service available event */
#define WMITLV_TABLE_WMI_SERVICE_AVAILABLE_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_service_available_event_fixed_param, wmi_service_available_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_AVAILABLE_EVENTID);
/* Service Ready Extension event */ /* Service Ready Extension event */
#define WMITLV_TABLE_WMI_SERVICE_READY_EXT_EVENTID(id, op, buf, len) \ #define WMITLV_TABLE_WMI_SERVICE_READY_EXT_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_service_ready_ext_event_fixed_param, wmi_service_ready_ext_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_service_ready_ext_event_fixed_param, wmi_service_ready_ext_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \

查看文件

@@ -1002,6 +1002,13 @@ typedef enum {
/** WMI is ready; after this event the wlan subsystem is initialized and can process commands. */ /** WMI is ready; after this event the wlan subsystem is initialized and can process commands. */
WMI_READY_EVENTID, WMI_READY_EVENTID,
/**
* Specify what WMI services the target supports
* (for services beyond what fits in the WMI_SERVICE_READY_EVENT
* message's wmi_service_bitmap)
*/
WMI_SERVICE_AVAILABLE_EVENTID,
/** Scan specific events */ /** Scan specific events */
WMI_SCAN_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_SCAN), WMI_SCAN_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_SCAN),
@@ -1898,6 +1905,26 @@ typedef struct {
*/ */
} wmi_service_ready_event_fixed_param; } wmi_service_ready_event_fixed_param;
#define WMI_SERVICE_SEGMENT_BM_SIZE32 4 /* 4x A_UINT32 = 128 bits */
typedef struct {
/**
* TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_service_available_event_fixed_param
*/
A_UINT32 tlv_header;
/**
* The wmi_service_segment offset field specifies the position
* within the logical bitmap of WMI service flags at which the
* WMI service flags specified within this message begin.
* Since the first 128 WMI service flags are specified within
* the wmi_service_bitmap field of the WMI_SERVICE_READY_EVENT
* message, the wmi_service_segment_offset value is expected to
* be 128 or more.
*/
A_UINT32 wmi_service_segment_offset;
A_UINT32 wmi_service_segment_bitmap[WMI_SERVICE_SEGMENT_BM_SIZE32];
} wmi_service_available_event_fixed_param;
typedef struct { typedef struct {
/* TLV tag and len; tag equals /* TLV tag and len; tag equals
*WMITLV_TAG_STRUC_WMI_SERVICE_EXT_READY_EVENT *WMITLV_TAG_STRUC_WMI_SERVICE_EXT_READY_EVENT

查看文件

@@ -36,7 +36,7 @@
#define __WMI_VER_MINOR_ 0 #define __WMI_VER_MINOR_ 0
/** WMI revision number has to be incremented when there is a /** WMI revision number has to be incremented when there is a
* change that may or may not break compatibility */ * change that may or may not break compatibility */
#define __WMI_REVISION_ 277 #define __WMI_REVISION_ 278
/** The Version Namespace should not be normally changed. Only /** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work * host and firmware of the same WMI namespace will work