TDLS : Host Changes supporting PUAPSD implementation.
This commit has the host changes to support the PUAPSD
implementation in the firmware.
Change-Id: I60a33f8067ea316d5179374cf6ec41400ceabbf2
CRs-fixed: 488980
diff --git a/CORE/SME/inc/csrApi.h b/CORE/SME/inc/csrApi.h
index 4b8b869..4708ae3 100644
--- a/CORE/SME/inc/csrApi.h
+++ b/CORE/SME/inc/csrApi.h
@@ -555,6 +555,7 @@
eCSR_ROAM_RESULT_DELETE_TDLS_PEER,
eCSR_ROAM_RESULT_TEARDOWN_TDLS_PEER_IND,
eCSR_ROAM_RESULT_DELETE_ALL_TDLS_PEER_IND,
+ eCSR_ROAM_RESULT_LINK_ESTABLISH_REQ_RSP,
#ifdef FEATURE_WLAN_TDLS_OXYGEN_DISAPPEAR_AP
eCSR_ROAM_RESULT_TDLS_DISAPPEAR_AP_IND,
#endif
@@ -1330,6 +1331,16 @@
} tCsrRoamRemoveKey;
#ifdef FEATURE_WLAN_TDLS
+
+typedef struct tagCsrLinkEstablishParams
+{
+ tSirMacAddr peerMac;
+ tANI_U8 uapsdQueues;
+ tANI_U8 maxSp;
+ tANI_U8 isBufSta;
+ tANI_U8 isResponder;
+}tCsrTdlsLinkEstablishParams;
+
typedef struct tagCsrTdlsSendMgmt
{
tSirMacAddr peerMac;
diff --git a/CORE/SME/inc/smeInside.h b/CORE/SME/inc/smeInside.h
index 1a4ee23..c885744 100644
--- a/CORE/SME/inc/smeInside.h
+++ b/CORE/SME/inc/smeInside.h
@@ -132,6 +132,15 @@
tANI_U8 len;
} tTdlsSendMgmtCmdInfo;
+typedef struct TdlsLinkEstablishInfo
+{
+ tSirMacAddr peerMac;
+ tANI_U8 uapsdQueues;
+ tANI_U8 maxSp;
+ tANI_U8 isBufSta;
+ tANI_U8 isResponder;
+} tTdlsLinkEstablishCmdInfo;
+
typedef struct TdlsAddStaInfo
{
eTdlsAddOper tdlsAddOper;
@@ -184,6 +193,7 @@
//tEnterPeerUAPSDInfo enterUapsdInfo ;
//tExitPeerUAPSDinfo exitUapsdInfo ;
#endif
+ tTdlsLinkEstablishCmdInfo tdlsLinkEstablishCmdInfo;
tTdlsSendMgmtCmdInfo tdlsSendMgmtCmdInfo;
tTdlsAddStaCmdInfo tdlsAddStaCmdInfo;
tTdlsDelStaCmdInfo tdlsDelStaCmdInfo;
@@ -293,10 +303,15 @@
tANI_BOOLEAN csrRoamGetConcurrencyConnectStatusForBmps(tpAniSirGlobal pMac);
#ifdef FEATURE_WLAN_TDLS
eHalStatus csrTdlsSendMgmtReq(tHalHandle hHal, tANI_U8 sessionId, tCsrTdlsSendMgmt *tdlsSendMgmt);
+VOS_STATUS csrTdlsSendLinkEstablishParams(tHalHandle hHal,
+ tANI_U8 sessionId,
+ tSirMacAddr peerMac,
+ tCsrTdlsLinkEstablishParams *tdlsLinkEstablishParams);
eHalStatus csrTdlsAddPeerSta(tHalHandle hHal, tANI_U8 sessionId, tSirMacAddr peerMac);
eHalStatus csrTdlsChangePeerSta(tHalHandle hHal, tANI_U8 sessionId, tSirMacAddr peerMac, tCsrStaParams *pstaParams);
eHalStatus csrTdlsDelPeerSta(tHalHandle hHal, tANI_U8 sessionId, tSirMacAddr peerMac);
eHalStatus csrTdlsProcessCmd(tpAniSirGlobal pMac,tSmeCmd *pCommand );
+eHalStatus csrTdlsProcessLinkEstablish( tpAniSirGlobal pMac, tSmeCmd *cmd );
eHalStatus tdlsMsgProcessor(tpAniSirGlobal pMac,v_U16_t msg_type,
void *pMsgBuf);
#ifdef FEATURE_WLAN_TDLS_INTERNAL
diff --git a/CORE/SME/inc/smeInternal.h b/CORE/SME/inc/smeInternal.h
index f37ce4b..24c7f6e 100644
--- a/CORE/SME/inc/smeInternal.h
+++ b/CORE/SME/inc/smeInternal.h
@@ -91,6 +91,7 @@
eSmeCommandTdlsSendMgmt,
eSmeCommandTdlsAddPeer,
eSmeCommandTdlsDelPeer,
+ eSmeCommandTdlsLinkEstablish,
#ifdef FEATURE_WLAN_TDLS_INTERNAL
eSmeCommandTdlsDiscovery,
eSmeCommandTdlsLinkSetup,
diff --git a/CORE/SME/inc/sme_Api.h b/CORE/SME/inc/sme_Api.h
index 052983e..b76959a 100644
--- a/CORE/SME/inc/sme_Api.h
+++ b/CORE/SME/inc/sme_Api.h
@@ -2714,6 +2714,21 @@
-------------------------------------------------------------------------*/
tANI_U8 sme_IsFeatureSupportedByFW(tANI_U8 featEnumValue);
#ifdef FEATURE_WLAN_TDLS
+
+/* ---------------------------------------------------------------------------
+ \fn sme_SendTdlsLinkEstablishParams
+ \brief API to send TDLS Link Establishment Parameters.
+
+ \param peerMac - peer's Mac Adress.
+ \param tdlsLinkEstablishParams - TDLS Peer Link Establishment Parameters
+ \- return VOS_STATUS_SUCCES
+ -------------------------------------------------------------------------*/
+
+VOS_STATUS sme_SendTdlsLinkEstablishParams(tHalHandle hHal,
+ tANI_U8 sessionId,
+ tSirMacAddr peerMac,
+ tCsrTdlsLinkEstablishParams *tdlsLinkEstablishParams);
+
/* ---------------------------------------------------------------------------
\fn sme_SendTdlsMgmtFrame
\brief API to send TDLS management frames.