wlan: Changes for supporting RSSI Monitoring feature
Framework should get a indication whenever AP breaches rssi range.
Add support to set the rssi range in FW and forward the breach
event from FW to framework.
Change-Id: I08248d15fde966aad2ba54614d444b7310b3775a
CRs-Fixed: 916888
diff --git a/CORE/WDI/CP/inc/wlan_qct_wdi.h b/CORE/WDI/CP/inc/wlan_qct_wdi.h
index 20ee417..c89f731 100644
--- a/CORE/WDI/CP/inc/wlan_qct_wdi.h
+++ b/CORE/WDI/CP/inc/wlan_qct_wdi.h
@@ -419,6 +419,7 @@
WDI_DEL_BA_IND,
WDI_NAN_EVENT_IND,
WDI_LOST_LINK_PARAMS_IND,
+ WDI_RSSI_BREACHED_IND,
WDI_MAX_IND
}WDI_LowLevelIndEnumType;
@@ -749,6 +750,13 @@
}WDI_LostLinkParamsIndType;
+typedef struct
+{
+ wpt_uint32 request_id;
+ wpt_uint8 bssId[WDI_MAC_ADDR_LEN];
+ wpt_int8 rssi;
+}WDI_RssiBreachedIndType;
+
/*---------------------------------------------------------------------------
WDI_IbssPeerInactivityIndType
-----------------------------------------------------------------------------*/
@@ -980,6 +988,7 @@
WDI_TxBDStatus wdiTxBdInd;
WDI_LostLinkParamsIndType wdiLostLinkParamsInd;
+ WDI_RssiBreachedIndType wdiRssiBreachedInd;
} wdiIndicationData;
}WDI_LowLevelIndType;
@@ -2710,7 +2719,17 @@
wpt_uint32 reserved2;
}WDI_FWLoggingInitRspParamType;
+typedef struct
+{
+ /* wdi status */
+ wpt_uint32 status;
+}WDI_RssiMonitorStartRspParamType;
+typedef struct
+{
+ /* wdi status */
+ wpt_uint32 status;
+}WDI_RssiMonitorStopRspParamType;
/*---------------------------------------------------------------------------
WDI_FatalEventLogsRspParamType
---------------------------------------------------------------------------*/
@@ -4105,6 +4124,14 @@
typedef struct
{
+ wpt_uint32 requestId;
+ wpt_uint8 minRssi;
+ wpt_uint8 maxRssi;
+ wpt_macAddr currentBssId;
+}WDI_RssiMonitorReqInfoType;
+
+typedef struct
+{
wpt_uint32 reason_code;
}WDI_FatalEventLogsReqInfoType;
@@ -8113,6 +8140,8 @@
WDI_FatalEventLogsRspParamType *wdiRsp, void *pUserData);
typedef void (*WDI_MonModeRspCb)(void *pEventData,void *pUserData);
+typedef void (*WDI_RssiMonitorStartRspCb)(void *pEventData,void *pUserData);
+typedef void (*WDI_RssiMonitorStopRspCb)(void *pEventData,void *pUserData);
typedef void (*WDI_FwrMemDumpRspCb)(WDI_FwrMemDumpRsp *wdiRsp, void *pUserData);
@@ -9640,6 +9669,69 @@
);
/**
+ @brief WDI_StartRssiMonitorReq will be called when the upper
+ MAC wants to initialize Rssi Monitor on a bssid.
+ Upon the call of this API the WLAN DAL will pack and
+ send a HAL Rssi Monitor init request message to
+ the lower RIVA sub-system.
+
+ In state BUSY this request will be queued. Request won't
+ be allowed in any other state.
+
+
+ @param pwdiRssiMonitorInfo: the Rssi Monitor params
+ as specified by the Device Interface
+
+ wdiRssiMonitorStartRspCb: callback for passing back the
+ response of the rssi monitor operation received
+ from the device
+
+ pUserData: user data will be passed back with the
+ callback
+
+ @return Result of the function call
+*/
+WDI_Status
+WDI_StartRssiMonitorReq
+(
+ WDI_RssiMonitorReqInfoType *pwdiRssiMonitorInfo,
+ WDI_RssiMonitorStartRspCb wdiRssiMonitorStartRspCb,
+ void* pUserData
+);
+
+
+/**
+ @brief WDI_StopRssiMonitorReq will be called when the upper
+ MAC wants to stop Rssi Monitor on a bssid.
+ Upon the call of this API the WLAN DAL will pack and
+ send a HAL Rssi Monitor stop request message to
+ the lower RIVA sub-system.
+
+ In state BUSY this request will be queued. Request won't
+ be allowed in any other state.
+
+
+ @param pwdiRssiMonitorInfo: the Rssi Monitor params
+ as specified by the Device Interface
+
+ wdiRssiMonitorStopRspCb: callback for passing back the
+ response of the rssi monitor operation received
+ from the device
+
+ pUserData: user data will be passed back with the
+ callback
+
+ @return Result of the function call
+*/
+WDI_Status
+WDI_StopRssiMonitorReq
+(
+ WDI_RssiMonitorReqInfoType *pwdiRssiMonitorInfo,
+ WDI_RssiMonitorStopRspCb wdiRssiMonitorStopRspCb,
+ void* pUserData
+);
+
+/**
@brief WDI_ConfigureRxpFilterReq will be called when the upper
MAC wants to set/reset the RXP filters for received pkts
(MC, BC etc.). Upon the call of this API the WLAN DAL will pack