1 /******************************************************************************* 2 **+--------------------------------------------------------------------------+** 3 **| |** 4 **| Copyright 1998-2008 Texas Instruments, Inc. - http://www.ti.com/ |** 5 **| |** 6 **| Licensed under the Apache License, Version 2.0 (the "License"); |** 7 **| you may not use this file except in compliance with the License. |** 8 **| You may obtain a copy of the License at |** 9 **| |** 10 **| http://www.apache.org/licenses/LICENSE-2.0 |** 11 **| |** 12 **| Unless required by applicable law or agreed to in writing, software |** 13 **| distributed under the License is distributed on an "AS IS" BASIS, |** 14 **| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |** 15 **| See the License for the specific language governing permissions and |** 16 **| limitations under the License. |** 17 **| |** 18 **+--------------------------------------------------------------------------+** 19 *******************************************************************************/ 20 21 /*--------------------------------------------------------------------------*/ 22 /* Module: TI_AdapterPM.h*/ 23 /**/ 24 /* Purpose: This API is responsible for the power management of the STA */ 25 /*--------------------------------------------------------------------------*/ 26 27 #ifndef TI_ADAPTER_PM_H 28 #define TI_ADAPTER_PM_H 29 30 #ifdef __cplusplus 31 extern "C" { 32 #endif 33 /****************************************************************************** 34 35 Name: TI_SetPowerMode 36 Desc: Set the drivers power save profile. 37 Params: hAdapter - The Adapter handle returned by TI_AdapterInit(). 38 thePowerMgrProfile - one of: OS_POWER_MODE_AUTO, 39 OS_POWER_MODE_ACTIVE, 40 OS_POWER_MODE_SHORT_DOZE, 41 OS_POWER_MODE_LONG_DOZE 42 Return: TI_RESULT_OK on success. Any other value indicates an error. 43 44 ******************************************************************************/ 45 tiINT32 TI_SetPowerMode (TI_HANDLE hAdapter, 46 OS_802_11_POWER_PROFILE thePowerMgrProfile); 47 48 /****************************************************************************** 49 50 Name: TI_GetPowerMode 51 Desc: Get the drivers power save profile (see Power Management 52 application notes). 53 Params: hAdapter - The Adapter handle returned by TI_AdapterInit(). 54 thePowerMgrProfile - one of: OS_POWER_MODE_AUTO, 55 OS_POWER_MODE_ACTIVE, 56 OS_POWER_MODE_SHORT_DOZE, 57 OS_POWER_MODE_LONG_DOZE 58 Return: TI_RESULT_OK on success. Any other value indicates an error. 59 60 ******************************************************************************/ 61 tiINT32 TI_GetPowerMode (TI_HANDLE hAdapter, 62 OS_802_11_POWER_PROFILE* thePowerMgrProfile); 63 64 65 /****************************************************************************** 66 67 Name: TI_ConfigPowerManagement 68 Desc: Set the drivers power management mode. 69 Params: hAdapter - The Adapter handle returned by TI_AdapterInit(). 70 thePowerMgrProfile - Power management mode: 71 TI_POWER_MODE_ACTIVE: The driver keeps the WiLink 4.0 in Active 72 state all the time. 73 TI_POWER_MODE_SHORT_DOZE: The WiLink 4.0 wakes up the host on 74 every beacon passes the beacon to the driver 75 and returns to ELP Doze immediately. 76 TI_POWER_MODE_LONG_DOZE: The WiLink 4.0 uses advanced algorithms 77 to provide advanced system Power Save. The 78 features used in WiLink 4.0 are: 79 Wake on DTIM 80 Beacon Filtering 81 TI_POWER_MODE_AUTO: Uses the TI algorithm to decide the best power 82 profile (TNET_ACTIVE, SHORT_DOZE, LONG_DOZE) 83 to use. The feature used in WiLink 4.0 is 84 set to ACTIVE in high Traffic and to return 85 to PS in low Traffic. 86 Return: TI_RESULT_OK on success. Any other value indicates an error. 87 88 ******************************************************************************/ 89 tiINT32 TI_ConfigPowerManagement (TI_HANDLE hAdapter, 90 OS_802_11_POWER_PROFILE thePowerMgrProfile ); 91 92 93 /****************************************************************************** 94 95 Name: TI_SetPowerLevelPS 96 Desc: This function sets the driver's power level mode. 97 Params: hAdapter - The Adapter handle returned by TI_AdapterInit(). 98 pPowerLevel - Sets the power level mode to ELP, PD or AWAKE 99 Return: TI_RESULT_OK on success. Any other value indicates an error. 100 101 ******************************************************************************/ 102 tiINT32 TI_SetPowerLevelPS (TI_HANDLE hAdapter, 103 OS_802_11_POWER_LEVELS uPowerLevel ); 104 105 /****************************************************************************** 106 107 Name: TI_GetPowerLevelPS 108 Desc: This function retrieves the driver's power level mode. 109 Params: hAdapter - The Adapter handle returned by TI_AdapterInit(). 110 uPowerLevel - A pointer to the OS_802_11_POWER_LEVELS enum type 111 (ELP, PD or AWAKE) 112 Return: TI_RESULT_OK on success. Any other value indicates an error. 113 114 ******************************************************************************/ 115 tiINT32 TI_GetPowerLevelPS (TI_HANDLE hAdapter, 116 OS_802_11_POWER_LEVELS* pPowerLevel ); 117 118 /****************************************************************************** 119 120 Name: TI_SetPowerLevelDefault 121 Desc: 122 Params: hAdapter - The Adapter handle returned by TI_AdapterInit(). 123 uPowerLevel - 124 Return: TI_RESULT_OK on success. Any other value indicates an error. 125 126 ******************************************************************************/ 127 tiINT32 TI_SetPowerLevelDefault (TI_HANDLE hAdapter, 128 OS_802_11_POWER_LEVELS uPowerLevel ); 129 130 /****************************************************************************** 131 132 Name: TI_GetPowerLevelDefault 133 Desc: 134 Params: hAdapter - The Adapter handle returned by TI_AdapterInit(). 135 pPowerLevel - 136 Return: TI_RESULT_OK on success. Any other value indicates an error. 137 138 ******************************************************************************/ 139 tiINT32 TI_GetPowerLevelDefault (TI_HANDLE hAdapter, 140 OS_802_11_POWER_LEVELS* pPowerLevel ); 141 142 /****************************************************************************** 143 144 Name: TI_SetPowerMode 145 Desc: Set the drivers doze mode when the power level is in 146 Auto mode 147 Params: hAdapter - The Adapter handle returned by TI_AdapterInit(). 148 thePowerMgrProfile - one of: OS_POWER_MODE_SHORT_DOZE, 149 OS_POWER_MODE_LONG_DOZE 150 Return: TI_RESULT_OK on success. Any other value indicates an error. 151 152 ******************************************************************************/ 153 tiINT32 TI_SetPowerLevelDozeMode (TI_HANDLE hAdapter, 154 OS_802_11_POWER_PROFILE thePowerMgrProfile); 155 156 /****************************************************************************** 157 158 Name: TI_GetPowerLevelDozeMode 159 Desc: Get the drivers doze mode when the power level is in 160 Auto mode 161 Params: hAdapter - The Adapter handle returned by TI_AdapterInit(). 162 thePowerMgrProfile - one of: OS_POWER_MODE_SHORT_DOZE, 163 OS_POWER_MODE_LONG_DOZE 164 Return: TI_RESULT_OK on success. Any other value indicates an error. 165 166 ******************************************************************************/ 167 tiINT32 TI_GetPowerLevelDozeMode (TI_HANDLE hAdapter, 168 OS_802_11_POWER_PROFILE* thePowerMgrProfile); 169 170 #ifdef __cplusplus 171 } 172 #endif 173 174 #endif /* TI_ADAPTER_PM_H*/ 175