blob: 89dc292533b9b1f8f37a2c2dbe9974e386b986d7 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Kiet Lam842dad02014-02-18 18:44:02 -08002 * Copyright (c) 2012-2013 The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
Kiet Lamaa8e15a2014-02-11 23:30:06 -080020 */
Kiet Lam842dad02014-02-18 18:44:02 -080021
22/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
27
Jeff Johnson295189b2012-06-20 16:38:30 -070028#ifndef __WLAN_HDD_POWER_H
29#define __WLAN_HDD_POWER_H
30
31/**===========================================================================
32
33 \file wlan_hdd_power.h
34
35 \brief Linux HDD Power
Jeff Johnson295189b2012-06-20 16:38:30 -070036
37 ==========================================================================*/
38
39
40/*--------------------------------------------------------------------------
41 * Include Files
42 *------------------------------------------------------------------------*/
43#include "wlan_hdd_main.h"
44
45/*---------------------------------------------------------------------------
46 * Preprocessor definitions and constants
47 *-------------------------------------------------------------------------*/
48 //gEnableSuspend = 1 in INI file implies suspend to standby
49 #define WLAN_MAP_SUSPEND_TO_STANDBY 1
50
51 //gEnableSuspend = 2 in INI file implies suspend to deep sleep
52 #define WLAN_MAP_SUSPEND_TO_DEEP_SLEEP 2
53
54 //gEnableSuspend = 3 in INI file implies suspend to set MCAST/BCAST filter
55 #define WLAN_MAP_SUSPEND_TO_MCAST_BCAST_FILTER 3
56
57 //gEnableDriverStop = 1 implies map driver stop to standby
58 #define WLAN_MAP_DRIVER_STOP_TO_STANDBY 1
59
60 //gEnableDriverStop = 2 implies map sriver stop to deep sleep
61 #define WLAN_MAP_DRIVER_STOP_TO_DEEP_SLEEP 2
62
63 //Maximum time (ms) to wait for standby to complete
64 #define WLAN_WAIT_TIME_STANDBY 3000
65
66 //Maximum time (ms) to wait for full pwr to complete
67 #define WLAN_WAIT_TIME_FULL_PWR 3000
68
69
70/*---------------------------------------------------------------------------
71 * Type declarations
72 *-------------------------------------------------------------------------*/
73
74/*-------------------------------------------------------------------------
75 * Function declarations and documentation
76 * ------------------------------------------------------------------------*/
77 eHalStatus hdd_exit_standby(hdd_context_t *pHddCtx);
78 VOS_STATUS hdd_exit_deep_sleep(hdd_context_t *pHddCtx,
79 hdd_adapter_t* pAdapter);
80 VOS_STATUS hdd_enter_standby(hdd_context_t *pHddCtx);
81 VOS_STATUS hdd_enter_deep_sleep(hdd_context_t *pHddCtx,
82 hdd_adapter_t* pAdapter);
83#ifdef CONFIG_HAS_EARLYSUSPEND
84 VOS_STATUS hdd_wlan_reset(void);
85 VOS_STATUS hdd_wlan_reset_initialization(void) ;
86#endif
87 /* SSR shutdown & re-init functions */
88 VOS_STATUS hdd_wlan_shutdown(void);
89 VOS_STATUS hdd_wlan_re_init(void);
90
91void hdd_conf_mcastbcast_filter(hdd_context_t* pHddCtx, v_BOOL_t setfilter);
Vinay Krishna Eranna4d055d42013-12-17 17:02:01 +053092VOS_STATUS hdd_conf_arp_offload(hdd_adapter_t* pAdapter, int fenable);
Gopichand Nakkalab03e8082013-05-30 18:09:25 +053093/*
94 * Function: hdd_conf_hostoffload
95 * Central function to configure the supported offloads,
96 * either enable or disable them.
97 */
98void hdd_conf_hostoffload(hdd_adapter_t * pAdapter, v_BOOL_t fenable);
99#ifdef WLAN_FEATURE_GTK_OFFLOAD
100void hdd_conf_gtk_offload(hdd_adapter_t *pAdapter, v_BOOL_t fenable);
101#endif
Gopichand Nakkala746a9452013-06-11 12:45:54 +0530102#ifdef WLAN_NS_OFFLOAD
Vinay Krishna Erannad5b2be22013-12-01 17:00:15 +0530103void hdd_conf_ns_offload(hdd_adapter_t *pAdapter, int fenable);
Gopichand Nakkala746a9452013-06-11 12:45:54 +0530104#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700105#endif // if !defined __WLAN_QCT_DRIVER_H