qcacld-3.0: Initial snapshot of ihelium wlan driver to match code-scanned SU Release 5.0.0.139. This is open-source version of wlan for next Android release. Change-Id: Icf598ca97da74f84bea607e4e902d1889806f507
163 lines
8.0 KiB
C
163 lines
8.0 KiB
C
/*
|
|
* Copyright (c) 2011-2015 The Linux Foundation. All rights reserved.
|
|
*
|
|
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
|
*
|
|
*
|
|
* Permission to use, copy, modify, and/or distribute this software for
|
|
* any purpose with or without fee is hereby granted, provided that the
|
|
* above copyright notice and this permission notice appear in all
|
|
* copies.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
|
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
|
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
|
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
|
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
|
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
* PERFORMANCE OF THIS SOFTWARE.
|
|
*/
|
|
|
|
/*
|
|
* This file was originally distributed by Qualcomm Atheros, Inc.
|
|
* under proprietary terms before Copyright ownership was assigned
|
|
* 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, /* scan offload */
|
|
WMI_SERVICE_ROAM_SCAN_OFFLOAD, /* roam scan offload */
|
|
WMI_SERVICE_BCN_MISS_OFFLOAD, /* beacon miss offload */
|
|
WMI_SERVICE_STA_PWRSAVE, /* fake sleep + basic power save */
|
|
WMI_SERVICE_STA_ADVANCED_PWRSAVE, /* uapsd, pspoll, force sleep */
|
|
WMI_SERVICE_AP_UAPSD, /* uapsd on AP */
|
|
WMI_SERVICE_AP_DFS, /* DFS on AP */
|
|
WMI_SERVICE_11AC, /* supports 11ac */
|
|
WMI_SERVICE_BLOCKACK, /* Supports triggering ADDBA/DELBA from host */
|
|
WMI_SERVICE_PHYERR, /* PHY error */
|
|
WMI_SERVICE_BCN_FILTER, /* Beacon filter support */
|
|
WMI_SERVICE_RTT, /* RTT (round trip time) support */
|
|
WMI_SERVICE_WOW, /* WOW Support */
|
|
WMI_SERVICE_RATECTRL_CACHE, /* Rate-control caching */
|
|
WMI_SERVICE_IRAM_TIDS, /* TIDs in IRAM */
|
|
WMI_SERVICE_ARPNS_OFFLOAD, /* ARP NS Offload support for STA vdev*/
|
|
WMI_SERVICE_NLO, /* Network list offload service */
|
|
WMI_SERVICE_GTK_OFFLOAD, /* GTK offload */
|
|
WMI_SERVICE_SCAN_SCH, /* Scan Scheduler Service */
|
|
WMI_SERVICE_CSA_OFFLOAD, /* CSA offload service */
|
|
WMI_SERVICE_CHATTER, /* Chatter service */
|
|
WMI_SERVICE_COEX_FREQAVOID, /* FW report freq range to avoid */
|
|
WMI_SERVICE_PACKET_POWER_SAVE, /* packet power save service */
|
|
WMI_SERVICE_FORCE_FW_HANG, /* Service to test the firmware recovery mechanism */
|
|
WMI_SERVICE_GPIO, /* GPIO service */
|
|
WMI_SERVICE_STA_DTIM_PS_MODULATED_DTIM, /* Modulated DTIM support */
|
|
WMI_STA_UAPSD_BASIC_AUTO_TRIG, /* Basic version of station UAPSD AC Trigger Generation Method with
|
|
* variable tigger periods (service, delay, and suspend intervals) */
|
|
WMI_STA_UAPSD_VAR_AUTO_TRIG, /* Station UAPSD AC Trigger Generation Method with variable
|
|
* trigger periods (service, delay, and suspend intervals) */
|
|
WMI_SERVICE_STA_KEEP_ALIVE, /* Serivce to support the STA KEEP ALIVE mechanism */
|
|
WMI_SERVICE_TX_ENCAP, /* Packet type for TX encapsulation */
|
|
WMI_SERVICE_AP_PS_DETECT_OUT_OF_SYNC, /* detect out-of-sync sleeping stations */
|
|
WMI_SERVICE_EARLY_RX, /* adaptive early-rx feature */
|
|
WMI_SERVICE_STA_SMPS, /* STA MIMO-PS */
|
|
WMI_SERVICE_FWTEST, /* Firmware test service */
|
|
WMI_SERVICE_STA_WMMAC, /* STA WMMAC */
|
|
WMI_SERVICE_TDLS, /* TDLS support */
|
|
WMI_SERVICE_BURST, /* SIFS spaced burst support */
|
|
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 */
|
|
WMI_SERVICE_BA_SSN_SUPPORT, /* target will provide Sequence number for the peer/tid combo */
|
|
WMI_SERVICE_FILTER_IPSEC_NATKEEPALIVE,
|
|
WMI_SERVICE_WLAN_HB, /* wlan HB service */
|
|
WMI_SERVICE_LTE_ANT_SHARE_SUPPORT, /* support LTE/WLAN antenna sharing */
|
|
WMI_SERVICE_BATCH_SCAN, /*Service to support batch scan */
|
|
WMI_SERVICE_QPOWER, /* QPower service */
|
|
WMI_SERVICE_PLMREQ,
|
|
WMI_SERVICE_THERMAL_MGMT,
|
|
WMI_SERVICE_RMC, /* RMC support */
|
|
WMI_SERVICE_MHF_OFFLOAD, /* multi-hop forwarding offload */
|
|
WMI_SERVICE_COEX_SAR, /* target support SAR tx limit from WMI_PDEV_PARAM_TXPOWER_LIMITxG */
|
|
WMI_SERVICE_BCN_TXRATE_OVERRIDE, /* Will support the bcn/prb rsp rate override */
|
|
WMI_SERVICE_NAN, /* Neighbor Awareness Network */
|
|
WMI_SERVICE_L1SS_STAT, /* L1SS statistics counter report */
|
|
WMI_SERVICE_ESTIMATE_LINKSPEED, /* Linkspeed Estimation per peer */
|
|
WMI_SERVICE_OBSS_SCAN, /* Service to support OBSS scan */
|
|
WMI_SERVICE_TDLS_OFFCHAN, /* TDLS off channel support */
|
|
WMI_SERVICE_TDLS_UAPSD_BUFFER_STA, /* TDLS UAPSD Buffer STA support */
|
|
WMI_SERVICE_TDLS_UAPSD_SLEEP_STA, /* TDLS UAPSD Sleep STA support */
|
|
WMI_SERVICE_IBSS_PWRSAVE, /* IBSS power save support */
|
|
WMI_SERVICE_LPASS, /*Service to support LPASS */
|
|
WMI_SERVICE_EXTSCAN, /* Extended Scans */
|
|
WMI_SERVICE_D0WOW, /* D0-WOW Support */
|
|
WMI_SERVICE_HSOFFLOAD, /* Hotspot offload feature Support */
|
|
WMI_SERVICE_ROAM_HO_OFFLOAD, /* roam handover offload */
|
|
WMI_SERVICE_RX_FULL_REORDER, /* target-based Rx full reorder */
|
|
WMI_SERVICE_DHCP_OFFLOAD, /* DHCP offload support */
|
|
WMI_SERVICE_STA_RX_IPA_OFFLOAD_SUPPORT, /* STA RX DATA offload to IPA support */
|
|
WMI_SERVICE_MDNS_OFFLOAD, /* mDNS responder offload support */
|
|
WMI_SERVICE_SAP_AUTH_OFFLOAD, /* softap auth offload */
|
|
WMI_SERVICE_DUAL_BAND_SIMULTANEOUS_SUPPORT, /* Dual Band Simultaneous support */
|
|
WMI_SERVICE_OCB, /* OCB mode support */
|
|
WMI_SERVICE_AP_ARPNS_OFFLOAD, /* arp offload support for ap mode vdev */
|
|
WMI_SERVICE_PER_BAND_CHAINMASK_SUPPORT, /* Per band chainmask support */
|
|
WMI_SERVICE_PACKET_FILTER_OFFLOAD, /* Per vdev packet filters */
|
|
WMI_SERVICE_MGMT_TX_HTT, /* Mgmt Tx via HTT interface */
|
|
WMI_SERVICE_MGMT_TX_WMI, /* Mgmt Tx via WMI interface */
|
|
WMI_SERVICE_EXT_MSG, /* WMI_SERVICE_READY_EXT msg follows */
|
|
WMI_SERVICE_MAWC, /* Motion Aided WiFi Connectivity (MAWC)*/
|
|
|
|
/* target will send ASSOC_CONF after ASSOC_CMD is processed */
|
|
WMI_SERVICE_PEER_ASSOC_CONF,
|
|
|
|
/* enhanced green ap support */
|
|
WMI_SERVICE_EGAP,
|
|
/* FW supports 11W PMF Offload for STA */
|
|
WMI_SERVICE_STA_PMF_OFFLOAD,
|
|
|
|
WMI_MAX_SERVICE = 128 /* max service */
|
|
} WMI_SERVICE;
|
|
|
|
#define WMI_SERVICE_BM_SIZE ((WMI_MAX_SERVICE + sizeof(A_UINT32)- 1)/sizeof(A_UINT32))
|
|
|
|
/*
|
|
* 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
|
|
|
|
/*
|
|
* 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)))) )
|
|
|
|
#define WMI_SERVICE_DISABLE(pwmi_svc_bmap,svc_id) \
|
|
( (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)
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /*_WMI_SERVICES_H_*/
|