7dfe57f36f8063a56c3060d0743d21c01679a09f
[pandora-wifi.git] /
1 /****************************************************************************
2 **+-----------------------------------------------------------------------+**
3 **|                                                                       |**
4 **| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved.      |**
5 **| All rights reserved.                                                  |**
6 **|                                                                       |**
7 **| Redistribution and use in source and binary forms, with or without    |**
8 **| modification, are permitted provided that the following conditions    |**
9 **| are met:                                                              |**
10 **|                                                                       |**
11 **|  * Redistributions of source code must retain the above copyright     |**
12 **|    notice, this list of conditions and the following disclaimer.      |**
13 **|  * Redistributions in binary form must reproduce the above copyright  |**
14 **|    notice, this list of conditions and the following disclaimer in    |**
15 **|    the documentation and/or other materials provided with the         |**
16 **|    distribution.                                                      |**
17 **|  * Neither the name Texas Instruments nor the names of its            |**
18 **|    contributors may be used to endorse or promote products derived    |**
19 **|    from this software without specific prior written permission.      |**
20 **|                                                                       |**
21 **| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   |**
22 **| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     |**
23 **| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
24 **| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  |**
25 **| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
26 **| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      |**
27 **| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
28 **| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
29 **| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   |**
30 **| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
31 **| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  |**
32 **|                                                                       |**
33 **+-----------------------------------------------------------------------+**
34 ****************************************************************************/
35
36 /**********************************************************************************/
37 /*                                                                                */
38 /*   MODULE:  PowerAuthorization_internal.h                                                */
39 /*   PURPOSE: PowerAuthorization internal definition file                                                                                 */
40 /*                                                                                */
41 /**********************************************************************************/
42 #ifndef _POWER_AUTHORIZATION_INTERNAL_H_
43 #define _POWER_AUTHORIZATION_INTERNAL_H_
44
45 /*****************************************************************************
46  **         MACRO                                                              **
47  *****************************************************************************/
48
49 /*****************************************************************************
50  **         Enums                                                    **
51  *****************************************************************************/
52
53 /*****************************************************************************
54  **         Types                                                              **
55  *****************************************************************************/
56
57 /*****************************************************************************
58  **         Structures                                                      **
59  *****************************************************************************/
60
61 typedef struct _powerAutho_t
62 {
63         /* Internal variables and configurable parameters */
64         powerAutho_PowerPolicy_e m_PowerPolicy; /* the last set PowerPolicy */
65         INT32 m_AwakeRequired;
66         /* 
67         the power policy that was configured to the FW after call to powerAutho_CalcMinPowerLevel 
68         */
69         powerAutho_PowerPolicy_e m_MinPowerLevel; 
70
71         /* Look Up Table that sets for each MinPolicyLevel the ElpCtrl mode */
72         elpCtrl_Mode_e m_ElpCtrl_Mode_LUT[POWERAUTHO_POLICY_NUM];
73         
74         /* Handlers of other modules used */
75         TI_HANDLE hOs;
76         TI_HANDLE hReport;
77         TI_HANDLE hHalCtrl;
78
79         int initComplete;
80         
81 } powerAutho_t;
82
83
84 /*****************************************************************************
85  **         Internal functions definitions                                  **
86  *****************************************************************************/
87 int powerAutho_CalcMinPowerLevel(TI_HANDLE hPowerAutho);
88
89 #endif /* _POWER_AUTHORIZATION_INTERNAL_H_ */
90