summaryrefslogtreecommitdiff
path: root/CORE/MAC/src/include
diff options
context:
space:
mode:
authorMushtaq A Mujale <mmujale@qca.qualcomm.com>2013-12-03 12:26:47 -0800
committerPrakash Dhavali <pdhavali@qca.qualcomm.com>2013-12-08 02:48:41 -0800
commit6e30f79c1c4263d8762a460781964ed71acf61c0 (patch)
treef69c192b05c6600f95a556fc9f346454fb34fe76 /CORE/MAC/src/include
parent27782284f620f0b6ec5d302c43f92091b10d5d16 (diff)
cld: HDD: Add knobs to control various PS params
These knobs are controlled from ini and are by default disabled. 1. To control SMPS (gEnableHtSMPS) and gHtSMPS to configure diff SMPS states(static/dynamic/disabled). -static: Enable single RF chain(TX/RX) for the period this is enabled. -dynamic: STA listens on single RF, upon reception of directed RTS switch's to multiple RF chains for completion of packet or TXOP. -disabled: default behaviour, SMPS disabled. This is complety transparent to host(will not be pulished in assoc req). Firmware will send required action frame for the state change. -- Power save is further improved by the following params, MAC makes intelligent decision based on appropiate condition for PS, and notifies baseband(MAC_BB_NAP) to go into PS mode letting PHY to go in low power state. These configs are host agnostic, host only programs the fw when ini is set and specific conditions are met. 2. To control AMPDU PS (gEnableAMPDUPS), when set it enables the detect of a corrupted first delimiter to trigger a NAP to BB. 3. To control Partial Aid PS (gEnablePAID), pAID is extracted from SIG-A field and compared with the pre-programed pAID value(fw derives this) and if it matches then MAC sends a NAP signal to BB. 4. To control Group ID PS (gEnableGID), h/w compares the GID from the received frames and compares with the one programed(Host will program them by extracting it from GID management action frame) and if it does not match MAC sends a NAP signal to BB. -- cld: dot11.frms: Add new GID management Action Update the dot11.frms to include the new action frame and run the tool which updates the given(dot11f.c/h) files. These are auto generated files. -- cld: PE,SME,WDA: Umac processing of params/action frame Pass the params to WMA layer. Add reception/parsing of GID management action frame and set the required info to the fw. Change-Id: Ic0da6cd9897669a90ca24964cdfee781a70ecdcc CRs-Fixed: 555666
Diffstat (limited to 'CORE/MAC/src/include')
-rw-r--r--CORE/MAC/src/include/dot11f.h49
-rw-r--r--CORE/MAC/src/include/sirParams.h5
2 files changed, 50 insertions, 4 deletions
diff --git a/CORE/MAC/src/include/dot11f.h b/CORE/MAC/src/include/dot11f.h
index c797c31b1748..ba690cf82e96 100644
--- a/CORE/MAC/src/include/dot11f.h
+++ b/CORE/MAC/src/include/dot11f.h
@@ -41,7 +41,7 @@
*
*
* This file was automatically generated by 'framesc'
- * Tue Mar 19 13:37:40 2013 from the following file(s):
+ * Fri Sep 27 20:26:57 2013 from the following file(s):
*
* dot11f.frms
*
@@ -568,6 +568,26 @@ void dot11fUnpackFfTxPower(tpAniSirGlobal, tANI_U8*, tDot11fFfTxPower*);
void dot11fPackFfTxPower(tpAniSirGlobal, tDot11fFfTxPower*, tANI_U8*);
+typedef struct sDot11fFfVhtMembershipStatusArray {
+ tANI_U8 membershipStatusArray[8];
+} tDot11fFfVhtMembershipStatusArray;
+
+#define DOT11F_FF_VHTMEMBERSHIPSTATUSARRAY_LEN ( 8 )
+
+void dot11fUnpackFfVhtMembershipStatusArray(tpAniSirGlobal, tANI_U8*, tDot11fFfVhtMembershipStatusArray*);
+
+void dot11fPackFfVhtMembershipStatusArray(tpAniSirGlobal, tDot11fFfVhtMembershipStatusArray*, tANI_U8*);
+
+typedef struct sDot11fFfVhtUserPositionArray {
+ tANI_U8 userPositionArray[16];
+} tDot11fFfVhtUserPositionArray;
+
+#define DOT11F_FF_VHTUSERPOSITIONARRAY_LEN ( 16 )
+
+void dot11fUnpackFfVhtUserPositionArray(tpAniSirGlobal, tANI_U8*, tDot11fFfVhtUserPositionArray*);
+
+void dot11fPackFfVhtUserPositionArray(tpAniSirGlobal, tDot11fFfVhtUserPositionArray*, tANI_U8*);
+
/*********************************************************************
* TLVs *
********************************************************************/
@@ -7515,6 +7535,27 @@ tANI_U32 dot11fGetPackedTPCRequestSize(tpAniSirGlobal pCtx, tDot11fTPCRequest *p
} /* End extern "C". */
#endif /* C++ */
+typedef struct sDot11fVHTGidManagementActionFrame{
+ tDot11fFfCategory Category;
+ tDot11fFfAction Action;
+ tDot11fFfVhtMembershipStatusArray VhtMembershipStatusArray;
+ tDot11fFfVhtUserPositionArray VhtUserPositionArray;
+} tDot11fVHTGidManagementActionFrame;
+
+#define DOT11F_VHTGIDMANAGEMENTACTIONFRAME ( 55 )
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+
+tANI_U32 dot11fUnpackVHTGidManagementActionFrame(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nBuf, tDot11fVHTGidManagementActionFrame *pFrm);
+tANI_U32 dot11fPackVHTGidManagementActionFrame(tpAniSirGlobal pCtx, tDot11fVHTGidManagementActionFrame *pFrm, tANI_U8 *pBuf, tANI_U32 nBuf, tANI_U32 *pnConsumed);
+tANI_U32 dot11fGetPackedVHTGidManagementActionFrameSize(tpAniSirGlobal pCtx, tDot11fVHTGidManagementActionFrame *pFrm, tANI_U32 *pnNeeded);
+
+#ifdef __cplusplus
+} /* End extern "C". */
+#endif /* C++ */
+
typedef struct sDot11fWMMAddTSRequest{
tDot11fFfCategory Category;
tDot11fFfAction Action;
@@ -7524,7 +7565,7 @@ typedef struct sDot11fWMMAddTSRequest{
tDot11fIECCXTrafStrmRateSet CCXTrafStrmRateSet;
} tDot11fWMMAddTSRequest;
-#define DOT11F_WMMADDTSREQUEST ( 55 )
+#define DOT11F_WMMADDTSREQUEST ( 56 )
#ifdef __cplusplus
extern "C" {
@@ -7547,7 +7588,7 @@ typedef struct sDot11fWMMAddTSResponse{
tDot11fIECCXTrafStrmMet CCXTrafStrmMet;
} tDot11fWMMAddTSResponse;
-#define DOT11F_WMMADDTSRESPONSE ( 56 )
+#define DOT11F_WMMADDTSRESPONSE ( 57 )
#ifdef __cplusplus
extern "C" {
@@ -7569,7 +7610,7 @@ typedef struct sDot11fWMMDelTS{
tDot11fIEWMMTSPEC WMMTSPEC;
} tDot11fWMMDelTS;
-#define DOT11F_WMMDELTS ( 57 )
+#define DOT11F_WMMDELTS ( 58 )
#ifdef __cplusplus
extern "C" {
diff --git a/CORE/MAC/src/include/sirParams.h b/CORE/MAC/src/include/sirParams.h
index 5589c8e7c437..1d4b1700ffd5 100644
--- a/CORE/MAC/src/include/sirParams.h
+++ b/CORE/MAC/src/include/sirParams.h
@@ -576,6 +576,11 @@ typedef struct sSirMbMsgP2p
#define SIR_HAL_RATE_UPDATE_IND (SIR_HAL_ITC_MSG_TYPES_BEGIN + 208)
+#ifdef WLAN_FEATURE_11AC
+#define SIR_HAL_UPDATE_MEMBERSHIP (SIR_HAL_ITC_MSG_TYPES_BEGIN + 210)
+#define SIR_HAL_UPDATE_USERPOS (SIR_HAL_ITC_MSG_TYPES_BEGIN + 211)
+#endif
+
#define SIR_HAL_MSG_TYPES_END (SIR_HAL_ITC_MSG_TYPES_BEGIN + 0xFF)
// CFG message types
#define SIR_CFG_MSG_TYPES_BEGIN (SIR_CFG_MODULE_ID << 8)