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
tree: f69c192b05c6600f95a556fc9f346454fb34fe76
  1. CORE/
  2. firmware_bin/
  3. tools/
  4. wcnss/
  5. Android.mk
  6. Kbuild
  7. Makefile