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
23 files changed