wlan: Clean up API files
No real interface change. Align with P4 copy.
Change-Id: I707fc38c725a7e97f76cb9290f3f5e3658a696b7
CRs-fixed: 551945
diff --git a/riva/inc/wlan_hal_cfg.h b/riva/inc/wlan_hal_cfg.h
index 7cc0aa7..6d2012b 100644
--- a/riva/inc/wlan_hal_cfg.h
+++ b/riva/inc/wlan_hal_cfg.h
@@ -216,12 +216,15 @@
#define QWLAN_HAL_CFG_MWS_COEX_CONFIG6 163
#define QWLAN_HAL_CFG_SAR_POWER_BACKOFF 164
#define QWLAN_HAL_CFG_GO_LINK_MONITOR_TIMEOUT 165
-#define QWLAN_HAL_CFG_MAX_PARAMS 166
+#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN 166
+#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_BT_LEN 167
+#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN 168
+#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_BT_LEN 169
+#define QWLAN_HAL_CFG_MAX_PARAMS 170
/* Total number of Integer CFGs. This is used while allocating the memory for TLV */
-#define QWLAN_HAL_CFG_INTEGER_PARAM 166
-
+#define QWLAN_HAL_CFG_INTEGER_PARAM 170
/*-------------------------------------------------------------------------
Configuration Parameter min, max, defaults
@@ -332,13 +335,6 @@
#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_TWO_STAMAX 255
#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_TWO_STADEF 15
-/* QWLAN_HAL_CFG_FIXED_RATE
- * Follwing rates in user configuration are mapped to TPE rates
- * Mapping is defined in the gHalUserFixedRateCfgToTpeRateTable
- */
-#define QWLAN_HAL_CFG_FIXED_RATE_STAMIN 0
-#define QWLAN_HAL_CFG_FIXED_RATE_STAMAX 226
-#define QWLAN_HAL_CFG_FIXED_RATE_STADEF 0
#define QWLAN_HAL_CFG_FIXED_RATE_AUTO 0
#define QWLAN_HAL_CFG_FIXED_RATE_1MBPS 1
#define QWLAN_HAL_CFG_FIXED_RATE_2MBPS 2
@@ -385,6 +381,14 @@
#define QWLAN_HAL_CFG_FIXED_RATE_135MBPS_MCS6_40MHZ_SIMO_SGI 43
#define QWLAN_HAL_CFG_FIXED_RATE_150MBPS_MCS7_40MHZ_SIMO_SGI 44
+/* QWLAN_HAL_CFG_FIXED_RATE
+ * Follwing rates in user configuration are mapped to TPE rates
+ * Mapping is defined in the gHalUserFixedRateCfgToTpeRateTable
+ */
+#define QWLAN_HAL_CFG_FIXED_RATE_STAMIN 0
+#define QWLAN_HAL_CFG_FIXED_RATE_STAMAX 226
+#define QWLAN_HAL_CFG_FIXED_RATE_STADEF QWLAN_HAL_CFG_FIXED_RATE_AUTO
+
/* QWLAN_HAL_CFG_RETRYRATE_POLICY */
#define QWLAN_HAL_CFG_RETRYRATE_POLICY_STAMIN 0
#define QWLAN_HAL_CFG_RETRYRATE_POLICY_STAMAX 255
@@ -700,14 +704,14 @@
#define QWLAN_HAL_CFG_WCNSS_API_VERSION_DEF 0 /* equivalent to 0.0.0.0 */
/* QWLAN_HAL_CFG_AP_KEEPALIVE_TIMEOUT */
-#define QWLAN_HAL_CFG_AP_KEEPALIVE_TIMEOUT_MIN 3
-#define QWLAN_HAL_CFG_AP_KEEPALIVE_TIMEOUT_MAX 20
-#define QWLAN_HAL_CFG_AP_KEEPALIVE_TIMEOUT_DEF 5
+#define QWLAN_HAL_CFG_AP_KEEPALIVE_TIMEOUT_MIN 1
+#define QWLAN_HAL_CFG_AP_KEEPALIVE_TIMEOUT_MAX 255
+#define QWLAN_HAL_CFG_AP_KEEPALIVE_TIMEOUT_DEF 20
/* QWLAN_HAL_CFG_GO_KEEPALIVE_TIMEOUT */
-#define QWLAN_HAL_CFG_GO_KEEPALIVE_TIMEOUT_MIN 3
-#define QWLAN_HAL_CFG_GO_KEEPALIVE_TIMEOUT_MAX 20
-#define QWLAN_HAL_CFG_GO_KEEPALIVE_TIMEOUT_DEF 5
+#define QWLAN_HAL_CFG_GO_KEEPALIVE_TIMEOUT_MIN 1
+#define QWLAN_HAL_CFG_GO_KEEPALIVE_TIMEOUT_MAX 255
+#define QWLAN_HAL_CFG_GO_KEEPALIVE_TIMEOUT_DEF 20
/* QWLAN_HAL_CFG_ENABLE_MC_ADDR_LIST */
#define QWLAN_HAL_CFG_ENABLE_MC_ADDR_LIST_MIN 0
@@ -806,12 +810,12 @@
/* QWLAN_HAL_CFG_AP_LINK_MONITOR_TIMEOUT */
#define QWLAN_HAL_CFG_AP_LINK_MONITOR_TIMEOUT_MIN 3
-#define QWLAN_HAL_CFG_AP_LINK_MONITOR_TIMEOUT_MAX 50
+#define QWLAN_HAL_CFG_AP_LINK_MONITOR_TIMEOUT_MAX 30
#define QWLAN_HAL_CFG_AP_LINK_MONITOR_TIMEOUT_DEF 10
/* QWLAN_HAL_CFG_GO_LINK_MONITOR_TIMEOUT */
#define QWLAN_HAL_CFG_GO_LINK_MONITOR_TIMEOUT_MIN 3
-#define QWLAN_HAL_CFG_GO_LINK_MONITOR_TIMEOUT_MAX 50
+#define QWLAN_HAL_CFG_GO_LINK_MONITOR_TIMEOUT_MAX 30
#define QWLAN_HAL_CFG_GO_LINK_MONITOR_TIMEOUT_DEF 10
/*QWLAN_HAL_CFG_BTC_DWELL_TIME_MULTIPLIER*/
@@ -861,6 +865,22 @@
#define QWLAN_HAL_CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_IN_SP_MAX 20
#define QWLAN_HAL_CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_IN_SP_DEF 10
+#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN_MIN 0
+#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN_MAX 250000
+#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN_DEF 60000
+
+#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_BT_LEN_MIN 0
+#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_BT_LEN_MAX 250000
+#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_BT_LEN_DEF 90000
+
+#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN_MIN 0
+#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN_MAX 250000
+#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN_DEF 60000
+
+#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_BT_LEN_MIN 0
+#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_BT_LEN_MAX 250000
+#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_BT_LEN_DEF 90000
+
/* QWLAN_HAL_CFG_ANTENNA_DIVERSITY */
#define QWLAN_HAL_CFG_ANTENNA_DIVERSITY_DEF 0
#define QWLAN_HAL_CFG_ANTENNA_DIVERSITY_MIN 0
@@ -875,6 +895,16 @@
#define QWLAN_HAL_CFG_FLEXCONNECT_POWER_FACTOR_MIN 0
#define QWLAN_HAL_CFG_FLEXCONNECT_POWER_FACTOR_MAX 9
+/* QWLAN_HAL_CFG_ENABLE_MCC_ADAPTIVE_RX_DRAIN_FEATURE */
+#define QWLAN_HAL_CFG_ENABLE_ADAPTIVE_RX_DRAIN_FEATURE_MIN 0
+#define QWLAN_HAL_CFG_ENABLE_ADAPTIVE_RX_DRAIN_FEATURE_MAX 1
+#define QWLAN_HAL_CFG_ENABLE_ADAPTIVE_RX_DRAIN_FEATURE_DEF 1
+
+/* QWLAN_HAL_CFG_TDLS_OFF_CHANNEL_CAPABLE */
+#define QWLAN_HAL_CFG_TDLS_OFF_CHANNEL_CAPABLE_MIN 0
+#define QWLAN_HAL_CFG_TDLS_OFF_CHANNEL_CAPABLE_MAX 1
+#define QWLAN_HAL_CFG_TDLS_OFF_CHANNEL_CAPABLE_DEF 0
+
/* QWLAN_HAL_CFG_MWS_COEX_XXXX */
#define QWLAN_HAL_CFG_MWS_COEX_DEF 0
#define QWLAN_HAL_CFG_MWS_COEX_MIN 0
@@ -886,6 +916,7 @@
#define QWLAN_HAL_CFG_SAR_POWER_BACKOFF_DEF 13
#define QWLAN_HAL_CFG_SAR_POWER_BACKOFF_MIN 1
#define QWLAN_HAL_CFG_SAR_POWER_BACKOFF_MAX 21
+
#endif //__WLAN_HAL_CFG_H__
diff --git a/riva/inc/wlan_hal_msg.h b/riva/inc/wlan_hal_msg.h
index 8a5e8dd..64fe762 100644
--- a/riva/inc/wlan_hal_msg.h
+++ b/riva/inc/wlan_hal_msg.h
@@ -55,7 +55,7 @@
All values are in the range 0..255 (ie they are 8-bit values)
---------------------------------------------------------------------------*/
#define WLAN_HAL_VER_MAJOR 1
-#define WLAN_HAL_VER_MINOR 4
+#define WLAN_HAL_VER_MINOR 5
#define WLAN_HAL_VER_VERSION 1
#define WLAN_HAL_VER_REVISION 2
@@ -85,6 +85,12 @@
//Default Beacon template size
#define BEACON_TEMPLATE_SIZE 0x180
+
+//Max Tx Data Rate samples
+#define MAX_TX_RATE_SAMPLES 10
+//Max Beacon Rssi samples
+#define MAX_BCN_RSSI_SAMPLES 10
+
//Param Change Bitmap sent to HAL
#define PARAM_BCN_INTERVAL_CHANGED (1 << 0)
#define PARAM_SHORT_PREAMBLE_CHANGED (1 << 1)
@@ -106,18 +112,9 @@
/*Version string max length (including NUL) */
#define WLAN_HAL_VERSION_LENGTH 64
-#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
-#define CHANNEL_LIST_STATIC 1 /* Occupied channel list remains static */
-#define CHANNEL_LIST_DYNAMIC_INIT 2 /* Occupied channel list can be learnt after init */
-#define CHANNEL_LIST_DYNAMIC_FLUSH 3 /* Occupied channel list can be learnt after flush */
-#define CHANNEL_LIST_DYNAMIC_UPDATE 4 /* Occupied channel list can be learnt after update */
#define WLAN_HAL_ROAM_SCAN_MAX_PROBE_SIZE 450
#define WLAN_HAL_ROAM_SCAN_MAX_CHANNELS NUM_RF_CHANNELS
#define WLAN_HAL_ROAM_SCAN_RESERVED_BYTES 61
-#endif
-
-#define HAL_PERIODIC_TX_PTRN_MAX_SIZE 1536
-#define HAL_MAXNUM_PERIODIC_TX_PTRNS 6
/* Message types for messages exchanged between WDI and HAL */
typedef enum
@@ -3929,10 +3926,17 @@
/*---------------------------------------------------------------------------
* FEATURE_WLAN_LPHB IND
*--------------------------------------------------------------------------*/
-#define WIFI_LPHB_EVENT_REASON_TIMEOUT 0x01
-#define WIFI_LPHB_EVENT_REASON_FW_ON_MONITOR 0x02
+#define WIFI_HB_EVENT_TCP_RX_TIMEOUT 0x0001
+#define WIFI_HB_EVENT_UDP_RX_TIMEOUT 0x0002
+
+#define WIFI_LPHB_EVENT_REASON_TIMEOUT 0x01
+#define WIFI_LPHB_EVENT_REASON_FW_ON_MONITOR 0x02
#define WIFI_LPHB_EVENT_REASON_FW_OFF_MONITOR 0x03
+
+#define WIFI_LPHB_PROTO_UDP 0x01
+#define WIFI_LPHB_PROTO_TCP 0x02
+
typedef PACKED_PRE struct PACKED_POST
{
uint8 bssIdx;
@@ -4138,6 +4142,8 @@
tANI_U8 bssIdx;
} tHalExitUapsdReqMsg, *tpHalExitUapsdReqMsg;
+#define HAL_PERIODIC_TX_PTRN_MAX_SIZE 1536
+#define HAL_MAXNUM_PERIODIC_TX_PTRNS 6
/*---------------------------------------------------------------------------
* WLAN_HAL_ADD_PERIODIC_TX_PTRN_IND
*--------------------------------------------------------------------------*/
@@ -4509,7 +4515,8 @@
tANI_U32 bRssiThres3NegCross : 1;
tANI_U32 avgRssi : 8;
tANI_U32 uBssIdx : 8;
- tANI_U32 bReserved : 10;
+ tANI_U32 isBTCoexCompromise : 1;
+ tANI_U32 bReserved : 9;
} tHalRSSINotification, *tpHalRSSINotification;
typedef PACKED_PRE struct PACKED_POST
@@ -4762,6 +4769,7 @@
tSetMaxTxPwrRspParams setMaxTxPwrRspParams;
}tSetMaxTxPwrRspMsg, *tpSetMaxTxPwrRspMsg;
+
/*---------------------------------------------------------------------------
*WLAN_HAL_SET_MAX_TX_POWER_PER_BAND_REQ
*--------------------------------------------------------------------------*/
@@ -4780,9 +4788,10 @@
typedef PACKED_PRE struct PACKED_POST
{
tHalSetMaxTxPwrBandInfo bandInfo; // 2_4_GHZ or 5_0_GHZ
- tPowerdBm power; // In request, power == MaxTx power to be used.
+ tPowerdBm power; // In request, power == MaxTx power to be used.
}tSetMaxTxPwrPerBandParams, *tpSetMaxTxPwrPerBandParams;
+
typedef PACKED_PRE struct PACKED_POST
{
tHalMsgHeader header;
@@ -5545,50 +5554,6 @@
tPrefNetwListParamsNew prefNetwListParams;
} tSetPrefNetwListReqNew, *tpSetPrefNetwListReqNew;
-/*
- Preferred network list response
-*/
-typedef PACKED_PRE struct PACKED_POST
-{
- tHalMsgHeader header;
-
- /*status of the request - just to indicate that PNO has acknowledged
- the request and will start scanning*/
- tANI_U32 status;
-} tSetPrefNetwListResp, *tpSetPrefNetwListResp;
-
-/*
- Preferred network indication parameters
-*/
-typedef PACKED_PRE struct PACKED_POST {
-
- /*Network that was found with the highest RSSI*/
- tSirMacSSid ssId;
-
- /*Indicates the RSSI */
- tANI_U8 rssi;
-
- //The MPDU frame length of a beacon or probe rsp. data is the start of the frame
- tANI_U16 frameLength;
-
-} tPrefNetwFoundParams, * tpPrefNetwFoundParams;
-
-/*
- Preferred network found indication
-*/
-typedef PACKED_PRE struct PACKED_POST {
-
- tHalMsgHeader header;
- tPrefNetwFoundParams prefNetwFoundParams;
-} tPrefNetwFoundInd, *tpPrefNetwFoundInd;
-
-
-typedef PACKED_PRE struct PACKED_POST {
-
- /*RSSI Threshold*/
- tANI_U8 ucRssiThreshold;
-
-} tRssiFilterParams, * tpRssiFilterParams;
#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
typedef PACKED_PRE struct PACKED_POST
{
@@ -5637,19 +5602,65 @@
typedef PACKED_PRE struct PACKED_POST
{
- tHalMsgHeader header;
- tRoamCandidateListParams RoamScanOffloadNetwListParams;
+ tHalMsgHeader header;
+ tRoamCandidateListParams RoamScanOffloadNetwListParams;
} tSetRoamScanOffloadReq, *tpRoamScanOffloadReq;
typedef PACKED_PRE struct PACKED_POST
{
- tHalMsgHeader header;
+ tHalMsgHeader header;
- /*status of the request - just to indicate that PNO has acknowledged
- * the request and will start scanning*/
- tANI_U32 status;
+ /* status of the request - just to indicate that PNO has acknowledged
+ * the request and will start scanning */
+ tANI_U32 status;
} tSetRoamOffloadScanResp, *tpSetRoamOffloadScanResp;
#endif
+
+/*
+ Preferred network list response
+*/
+typedef PACKED_PRE struct PACKED_POST
+{
+ tHalMsgHeader header;
+
+ /* status of the request - just to indicate that PNO has acknowledged
+ * the request and will start scanning*/
+ tANI_U32 status;
+} tSetPrefNetwListResp, *tpSetPrefNetwListResp;
+
+/*
+ Preferred network indication parameters
+*/
+typedef PACKED_PRE struct PACKED_POST {
+
+ /*Network that was found with the highest RSSI*/
+ tSirMacSSid ssId;
+
+ /*Indicates the RSSI */
+ tANI_U8 rssi;
+
+ //The MPDU frame length of a beacon or probe rsp. data is the start of the frame
+ tANI_U16 frameLength;
+
+} tPrefNetwFoundParams, * tpPrefNetwFoundParams;
+
+/*
+ Preferred network found indication
+*/
+typedef PACKED_PRE struct PACKED_POST {
+
+ tHalMsgHeader header;
+ tPrefNetwFoundParams prefNetwFoundParams;
+} tPrefNetwFoundInd, *tpPrefNetwFoundInd;
+
+
+typedef PACKED_PRE struct PACKED_POST {
+
+ /*RSSI Threshold*/
+ tANI_U8 ucRssiThreshold;
+
+} tRssiFilterParams, * tpRssiFilterParams;
+
/*
RSSI Filter request
*/
@@ -6049,36 +6060,38 @@
*--------------------------------------------------------------------------*/
typedef enum {
- MCC = 0,
- P2P = 1,
- DOT11AC = 2,
- SLM_SESSIONIZATION = 3,
- DOT11AC_OPMODE = 4,
- SAP32STA = 5,
- TDLS = 6,
+ MCC = 0,
+ P2P = 1,
+ DOT11AC = 2,
+ SLM_SESSIONIZATION = 3,
+ DOT11AC_OPMODE = 4,
+ SAP32STA = 5,
+ TDLS = 6,
P2P_GO_NOA_DECOUPLE_INIT_SCAN = 7,
- WLANACTIVE_OFFLOAD = 8,
- BEACON_OFFLOAD = 9,
- SCAN_OFFLOAD = 10,
- ROAM_OFFLOAD = 11,
- BCN_MISS_OFFLOAD = 12,
- STA_POWERSAVE = 13,
- STA_ADVANCED_PWRSAVE = 14,
- AP_UAPSD = 15,
- AP_DFS = 16,
- BLOCKACK = 17,
- PHY_ERR = 18,
- BCN_FILTER = 19,
- RTT = 20,
- RATECTRL = 21,
- WOW = 22,
+ WLANACTIVE_OFFLOAD = 8,
+ BEACON_OFFLOAD = 9,
+ SCAN_OFFLOAD = 10,
+ ROAM_OFFLOAD = 11,
+ BCN_MISS_OFFLOAD = 12,
+ STA_POWERSAVE = 13,
+ STA_ADVANCED_PWRSAVE = 14,
+ AP_UAPSD = 15,
+ AP_DFS = 16,
+ BLOCKACK = 17,
+ PHY_ERR = 18,
+ BCN_FILTER = 19,
+ RTT = 20,
+ RATECTRL = 21,
+ WOW = 22,
WLAN_ROAM_SCAN_OFFLOAD = 23,
- SPECULATIVE_PS_POLL = 24,
- SCAN_SCH = 25,
+ SPECULATIVE_PS_POLL = 24,
+ SCAN_SCH = 25,
IBSS_HEARTBEAT_OFFLOAD = 26,
- WLAN_PERIODIC_TX_PTRN = 28,
- ADVANCE_TDLS = 29,
- MAX_FEATURE_SUPPORTED = 128,
+ WLAN_SCAN_OFFLOAD = 27,
+ WLAN_PERIODIC_TX_PTRN = 28,
+ ADVANCE_TDLS = 29,
+ BATCH_SCAN = 30,
+ MAX_FEATURE_SUPPORTED = 128,
} placeHolderInCapBitmap;
typedef PACKED_PRE struct PACKED_POST{
@@ -6097,10 +6110,9 @@
#define IS_SLM_SESSIONIZATION_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(SLM_SESSIONIZATION)))
#define IS_FEATURE_SUPPORTED_BY_HOST(featEnumValue) (!!halMsg_GetHostWlanFeatCaps(featEnumValue))
#define IS_WLANACTIVE_OFFLOAD_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(WLANACTIVE_OFFLOAD)))
-#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
-#define IS_ROAM_SCAN_OFFLOAD_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(WLAN_ROAM_SCAN_OFFLOAD)))
-#endif
+#define IS_WLAN_ROAM_SCAN_OFFLOAD_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(WLAN_ROAM_SCAN_OFFLOAD)))
#define IS_IBSS_HEARTBEAT_OFFLOAD_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(IBSS_HEARTBEAT_OFFLOAD)))
+#define IS_SCAN_OFFLOAD_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(WLAN_SCAN_OFFLOAD)))
tANI_U8 halMsg_GetHostWlanFeatCaps(tANI_U8 feat_enum_value);
@@ -6495,8 +6507,9 @@
/*TDLS Peer U-APSD Buffer STA Support*/
tANI_U8 TPUBufferStaSupport;
- /*TDLS Offchannel Support*/
- tANI_U8 tdlsOffchannelSupport;
+
+ /*TDLS off channel related params */
+ tANI_U8 tdlsOffChannelSupport;
tANI_U8 peerCurrOperClass;
tANI_U8 selfCurrOperClass;
tANI_U8 validChannelsLen;
@@ -6602,156 +6615,240 @@
}tIbssPeerInactivityIndMsg, *tpIbssPeerInactivityIndMsg;
-/*---------------------------------------------------------------------------
- * WLAN_HAL_LBP_LEADER_REQ
- *-------------------------------------------------------------------------*/
+/*********** Scan Offload Related Structures *************/
+#define HAL_NUM_SCAN_SSID 10
+#define HAL_NUM_SCAN_BSSID 4
-/* Maximum number of RMCAST sessions in each role (transmitter or Leader) */
-#define HAL_MAX_RMCAST_SESSIONS 2
-
-/* Maximum number of leaders in blacklist or candidate leader list */
-#define HAL_NUM_MAX_LEADERS 8
-
+/*
+ * Enumetation to indicate scan type (active/passive)
+ */
typedef enum
{
- WLAN_HAL_SUGGEST_LEADER,
- WLAN_HAL_BECOME_LEADER,
- WLAN_HAL_LEADER_CMD_MAX = WLAN_HAL_MAX_ENUM_SIZE
-}tLeaderReqCmdType, tLeaderRspCmdType;
+ eSIR_PASSIVE_SCAN,
+ eSIR_ACTIVE_SCAN = WLAN_HAL_MAX_ENUM_SIZE,
+} tSirScanType;
typedef PACKED_PRE struct PACKED_POST
{
- tLeaderReqCmdType cmd;
-
- /* MAC address of MCAST Transmitter (source) */
- tSirMacAddr mcastTransmitter;
-
- /* MAC Address of Multicast Group (01-00-5E-xx-xx-xx) */
- tSirMacAddr mcastGroup;
-
- /* Optional black list for cmd = WLAN_HAL_SUGGEST_LEADER */
- tSirMacAddr blacklist[HAL_NUM_MAX_LEADERS];
-} tHalLbpLeaderReqParams, *tpHalLbpLeaderReqParams;
-
-typedef PACKED_PRE struct PACKED_POST
-{
- tHalMsgHeader header;
- tHalLbpLeaderReqParams leaderReqParams;
-} tHalLbpLeaderReqMsg, *tpHalLbpLeaderReqMsg;
+ tANI_U8 numBssid;
+ tSirMacAddr bssid[HAL_NUM_SCAN_BSSID];
+ tANI_U8 numSsid;
+ tSirMacSSid ssid[HAL_NUM_SCAN_SSID];
+ tANI_BOOLEAN hiddenSsid;
+ tSirMacAddr selfMacAddr;
+ tSirBssType bssType;
+ tSirScanType scanType;
+ tANI_U32 minChannelTime;
+ tANI_U32 maxChannelTime;
+ tANI_BOOLEAN p2pSearch;
+ tANI_U8 channelCount;
+ tANI_U8 channels[WLAN_HAL_ROAM_SCAN_MAX_CHANNELS];
+ tANI_U16 ieFieldLen;
+ tANI_U8 ieField[1];
+}tScanOffloadReqType, *tpScanOffloadReqType;
/*---------------------------------------------------------------------------
- * WLAN_HAL_LBP_LEADER_RSP
+ * WLAN_HAL_START_SCAN_OFFLOAD_REQ
*-------------------------------------------------------------------------*/
typedef PACKED_PRE struct PACKED_POST
{
- /* success or failure */
- tANI_U32 status;
-
- /* Command Type */
- tLeaderRspCmdType cmd;
-
- /* MAC address of MCAST Transmitter (source) */
- tSirMacAddr mcastTransmitter;
-
- /* MAC Address of Multicast Group (01-00-5E-xx-xx-xx) */
- tSirMacAddr mcastGroup;
-
- /* List of candidates for cmd = WLAN_HAL_SUGGEST_LEADER*/
- tSirMacAddr leader[HAL_NUM_MAX_LEADERS];
-
-} tHalLbpLeaderRspParams, *tpHalLbpLeaderRspParams;
-
-typedef PACKED_PRE struct PACKED_POST
-{
tHalMsgHeader header;
- tHalLbpLeaderRspParams leaderRspParams;
-} tHalLbpLeaderRspMsg, *tpHalLbpLeaderRspMsg;
+ tScanOffloadReqType scanOffloadParams;
+} tHalStartScanOffloadReqMsg, *tpHalStartScanOffloadReqMsg;
/*---------------------------------------------------------------------------
- * WLAN_HAL_LBP_UPDATE_IND
+ * WLAN_HAL_START_SCAN_OFFLOAD_RSP
*-------------------------------------------------------------------------*/
+typedef PACKED_PRE struct PACKED_POST
+{
+ tHalMsgHeader header;
+
+ /*status of the request - just to indicate SO has acknowledged
+ * * the request and will start scanning*/
+ tANI_U32 status;
+} tHalStartScanOffloadRspMsg, *tpHalStartScanOffloadRspMsg;
+
+/*---------------------------------------------------------------------------
+ * WLAN_HAL_STOP_SCAN_OFFLOAD_REQ
+ *-------------------------------------------------------------------------*/
+typedef PACKED_PRE struct PACKED_POST
+{
+ tHalMsgHeader header;
+} tHalStopScanOffloadReqMsg, *tpHalStopScanOffloadReqMsg;
+
+/*---------------------------------------------------------------------------
+ * WLAN_HAL_STOP_SCAN_OFFLOAD_RSP
+ *-------------------------------------------------------------------------*/
+typedef PACKED_PRE struct PACKED_POST
+{
+ tHalMsgHeader header;
+
+ /*status of the request - just to indicate SO has acknowledged
+ the request and will start scanning*/
+ tANI_U32 status;
+} tHalStopScanOffloadRspMsg, *tpHalStopScanOffloadRspMsg;
+
+/*
+ * Enumetation of scan events indicated by firmware to the host
+ */
typedef enum
{
- WLAN_HAL_LEADER_ACCEPTED, //Host-->FW
- WLAN_HAL_LEADER_CANCELED, //Host-->FW
- WLAN_HAL_LEADER_PICK_NEW, //FW-->Host
- WLAN_HAL_LEADER_IND_MAX = WLAN_HAL_MAX_ENUM_SIZE
-}tLbpUpdateIndType;
-
-typedef enum
-{
- WLAN_HAL_LBP_LEADER_ROLE,
- WLAN_HAL_LBP_TRANSMITTER_ROLE,
- WLAN_HAL_LBP_ROLE_MAX = WLAN_HAL_MAX_ENUM_SIZE
-}tLbpRoleType;
+ WLAN_HAL_SCAN_EVENT_STARTED = 0x1, /* Scan command accepted by FW */
+ WLAN_HAL_SCAN_EVENT_COMPLETED = 0x2, /* Scan has been completed by FW */
+ WLAN_HAL_SCAN_EVENT_BSS_CHANNEL = 0x4, /* FW is going to move to HOME channel */
+ WLAN_HAL_SCAN_EVENT_FOREIGN_CHANNEL = 0x8,/* FW is going to move to FORIEGN channel */
+ WLAN_HAL_SCAN_EVENT_DEQUEUED = 0x10, /* scan request got dequeued */
+ WLAN_HAL_SCAN_EVENT_PREEMPTED = 0x20, /* preempted by other high priority scan */
+ WLAN_HAL_SCAN_EVENT_START_FAILED = 0x40, /* scan start failed */
+ WLAN_HAL_SCAN_EVENT_RESTARTED = 0x80, /*scan restarted*/
+ WLAN_HAL_SCAN_EVENT_MAX = WLAN_HAL_MAX_ENUM_SIZE
+} tScanEventType;
typedef PACKED_PRE struct PACKED_POST
{
- tLbpUpdateIndType indication;
+ tScanEventType event;
+ tANI_U32 channel;
+ tANI_U32 scanId;
+} tScanOffloadEventInfo;
- /* Role of the entity generating this indication */
- tLbpRoleType role;
+/*---------------------------------------------------------------------------
+ * WLAN_HAL_OFFLOAD_SCAN_EVENT_IND
+ *-------------------------------------------------------------------------*/
+typedef PACKED_PRE struct PACKED_POST
+{
+ tHalMsgHeader header;
+ tScanOffloadEventInfo scanOffloadInd;
+} tHalScanOffloadIndMsg, *tpHalScanOffloadIndMsg;
- /* MAC address of MCAST Transmitter (source) */
- tSirMacAddr mcastTransmitter;
+typedef PACKED_PRE struct PACKED_POST {
+ /** primary 20 MHz channel frequency in mhz */
+ tANI_U32 mhz;
+ /** Center frequency 1 in MHz*/
+ tANI_U32 band_center_freq1;
+ /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
+ tANI_U32 band_center_freq2;
+ /* The first 26 bits are a bit mask to indicate any channel flags,
+ (see WLAN_HAL_CHAN_FLAG*)
+ The last 6 bits indicate the mode (see tChannelPhyModeType)*/
+ tANI_U32 channel_info;
+ /** contains min power, max power, reg power and reg class id. */
+ tANI_U32 reg_info_1;
+ /** contains antennamax */
+ tANI_U32 reg_info_2;
+} tUpdateChannelParam;
- /* MAC Address of Multicast Group (01-00-5E-xx-xx-xx) */
- tSirMacAddr mcastGroup;
- /* MAC address of MCAST Receiver Leader */
- tSirMacAddr mcastLeader;
+typedef enum {
+ WLAN_HAL_MODE_11A = 0, /* 11a Mode */
+ WLAN_HAL_MODE_11G = 1, /* 11b/g Mode */
+ WLAN_HAL_MODE_11B = 2, /* 11b Mode */
+ WLAN_HAL_MODE_11GONLY = 3, /* 11g only Mode */
+ WLAN_HAL_MODE_11NA_HT20 = 4, /* 11a HT20 mode */
+ WLAN_HAL_MODE_11NG_HT20 = 5, /* 11g HT20 mode */
+ WLAN_HAL_MODE_11NA_HT40 = 6, /* 11a HT40 mode */
+ WLAN_HAL_MODE_11NG_HT40 = 7, /* 11g HT40 mode */
+ WLAN_HAL_MODE_11AC_VHT20 = 8,
+ WLAN_HAL_MODE_11AC_VHT40 = 9,
+ WLAN_HAL_MODE_11AC_VHT80 = 10,
+ WLAN_HAL_MODE_11AC_VHT20_2G = 11,
+ WLAN_HAL_MODE_11AC_VHT40_2G = 12,
+ WLAN_HAL_MODE_11AC_VHT80_2G = 13,
+ WLAN_HAL_MODE_UNKNOWN = 14,
- /* Candidate list for indication = WLAN_HAL_LEADER_PICK_NEW */
- tSirMacAddr leader[HAL_NUM_MAX_LEADERS];
-} tHalLbpUpdateIndParams, *tpHalLbpUpdateIndParams;
+} tChannelPhyModeType;
+
+#define WLAN_HAL_CHAN_FLAG_HT40_PLUS 6
+#define WLAN_HAL_CHAN_FLAG_PASSIVE 7
+#define WLAN_HAL_CHAN_ADHOC_ALLOWED 8
+#define WLAN_HAL_CHAN_AP_DISABLED 9
+#define WLAN_HAL_CHAN_FLAG_DFS 10
+#define WLAN_HAL_CHAN_FLAG_ALLOW_HT 11 /* HT is allowed on this channel */
+#define WLAN_HAL_CHAN_FLAG_ALLOW_VHT 12 /* VHT is allowed on this channel */
+
+typedef PACKED_PRE struct PACKED_POST
+{
+ tANI_U8 numChan;
+ tUpdateChannelParam chanParam[WLAN_HAL_ROAM_SCAN_MAX_CHANNELS];
+} tUpdateChannelReqType;
+
+/*---------------------------------------------------------------------------
+ * WLAN_HAL_UPDATE_CHANNEL_LIST_REQ
+ *-------------------------------------------------------------------------*/
+typedef PACKED_PRE struct PACKED_POST
+{
+ tHalMsgHeader header;
+ tUpdateChannelReqType updateChannelParams;
+} tHalUpdateChannelReqMsg, *tpHalUpdateChannelReqMsg;
+
+/*---------------------------------------------------------------------------
+ * WLAN_HAL_UPDATE_CHANNEL_LIST_RSP
+ *-------------------------------------------------------------------------*/
+typedef PACKED_PRE struct PACKED_POST
+{
+ tHalMsgHeader header;
+
+ /*status of the request - just to indicate SO has acknowledged
+ * * the request and will start scanning*/
+ tANI_U32 status;
+} tHalUpdateChannelRspMsg, *tpHalUpdateChannelRspMsg;
+
+
+/*---------------------------------------------------------------------------
+* WLAN_HAL_TX_FAIL_IND
+*--------------------------------------------------------------------------*/
+// Northbound indication from FW to host on weak link detection
+typedef PACKED_PRE struct PACKED_POST
+{
+ // Sequence number increases by 1 whenever the device driver
+ // sends a notification event. This is cleared as 0 when the
+ // JOIN IBSS commamd is issued
+ tANI_U16 seqNo;
+ tANI_U16 staId;
+ tANI_U8 macAddr[HAL_MAC_ADDR_LEN];
+} tHalTXFailIndParams, *tpHalTXFailIndParams;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+ tHalMsgHeader header;
+ tHalTXFailIndParams txFailIndParams;
+} tHalTXFailIndMsg, *tpHalTXFailIndMsg;
+
+/*---------------------------------------------------------------------------
+* WLAN_HAL_TX_FAIL_MONITOR_IND
+*--------------------------------------------------------------------------*/
+// Southbound message from Host to monitor the Tx failures
+typedef PACKED_PRE struct PACKED_POST
+{
+ // tx_fail_count = 0 should disable the TX Fail monitor, non-zero value should enable it.
+ tANI_U8 tx_fail_count;
+} tTXFailMonitorInfo, *tpTXFailMonitorInfo;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+ tHalMsgHeader header;
+ tTXFailMonitorInfo txFailMonitor;
+} tTXFailMonitorInd, *tpTXFailMonitorInd;
+
+/*---------------------------------------------------------------------------
+* WLAN_HAL_IP_FORWARD_TABLE_UPDATE_IND
+*--------------------------------------------------------------------------*/
+typedef PACKED_PRE struct PACKED_POST
+{
+ tANI_U8 destIpv4Addr[HAL_IPV4_ADDR_LEN];
+ tANI_U8 nextHopMacAddr[HAL_MAC_ADDR_LEN];
+} tDestIpNextHopMacPair;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+ tANI_U8 numEntries;
+ tDestIpNextHopMacPair destIpMacPair[1];
+} tWlanIpForwardTableUpdateIndParam;
typedef PACKED_PRE struct PACKED_POST
{
tHalMsgHeader header;
- tHalLbpUpdateIndParams leaderIndParams;
-} tHalLbpUpdateInd, *tpHalLbpUpdateInd;
-
-typedef PACKED_PRE struct PACKED_POST
-{
- tANI_U8 staIdx; // Station Idx;
- tANI_U32 txRate; // Legacy transmit rate, in units of 500 kbit/sec,
- // for the most recently transmitted frame
- tANI_U32 mcsIndex; // mcs index for HT20 and HT40 rates
- tANI_U32 txRateFlags; //to differentiate between HT20 and
- //HT40 rates; short and long guard interval
- tANI_S8 rssi; // RSSI of the last received beacon
-}tHalIbssPeerParams, *tpHalIbssPeerParams;
-
-typedef PACKED_PRE struct PACKED_POST
-{
- tANI_U32 status; // success or failure
- tANI_U8 numOfPeers; // Number of Peers for
- // which stats are being reported
- tHalIbssPeerParams ibssPeerParams[1]; // Stats of peer in IBSS
-}tHalIbssPeerInfoRspParams, *tpHalIbssPeerInfoRspParams;
-
-// WLAN_HAL_GET_IBSS_PEER_INFO_RSP
-typedef PACKED_PRE struct PACKED_POST
-{
- tHalMsgHeader header;
- tHalIbssPeerInfoRspParams ibssPeerInfoRspParams;
-}tHalIbssPeerInfoRsp, *tpHalIbssPeerInfoRsp;
-
-typedef PACKED_PRE struct PACKED_POST
-{
- tANI_U8 bssIdx; // Bss Index
- tANI_BOOLEAN allPeerInfoReqd; // If set,all IBSS peers stats are reported
- tANI_U8 staIdx; // If allPeerInfoReqd is not set,
- // only stats of peer with
- // staIdx is reported
-}tHalIbssPeerInfoReqParams, *tpHalIbssPeerInfoReqParams;
-
-// WLAN_HAL_GET_IBSS_PEER_INFO_REQ
-typedef PACKED_PRE struct PACKED_POST
-{
- tHalMsgHeader header;
- tHalIbssPeerInfoReqParams ibssPeerInfoReqParams;
-}tHalIbssPeerInfoReq, *tpHalIbssPeerInfoReq;
+ tWlanIpForwardTableUpdateIndParam ipForwardTableParams;
+} tWlanIpForwardTableUpdateInd;
/*---------------------------------------------------------------------------
*-------------------------------------------------------------------------*/