xref: /wlan-dirver/qca-wifi-host-cmn/umac/green_ap/dispatcher/inc/wlan_green_ap_ucfg_api.h (revision 1397a33f48ea6455be40871470b286e535820eb8)
1 /*
2  * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 /**
20  * DOC: Contains green ap north bound interface definitions
21  */
22 
23 #ifndef _WLAN_GREEN_AP_UCFG_API_H_
24 #define _WLAN_GREEN_AP_UCFG_API_H_
25 
26 #include <wlan_objmgr_cmn.h>
27 #include <wlan_objmgr_pdev_obj.h>
28 #include <qdf_status.h>
29 #include "wlan_utility.h"
30 
31 /**
32  * ucfg_green_ap_enable_egap() - Enable enhanced green ap
33  * @pdev: pdev pointer
34  *
35  * Return: Success or Failure
36  */
37 QDF_STATUS ucfg_green_ap_enable_egap(struct wlan_objmgr_pdev *pdev);
38 
39 /**
40  * ucfg_green_ap_set_ps_config() - Set ps value
41  * @pdev: pdev pointer
42  * @value - value to be set
43  *
44  * Return: Success or Failure
45  */
46 QDF_STATUS ucfg_green_ap_set_ps_config(struct wlan_objmgr_pdev *pdev,
47 				       uint8_t value);
48 /**
49  * ucfg_green_ap_get_ps_config() - Check if ps is enabled or not
50  * @pdev: pdev pointer
51  * @ps_enable: pointer to ps enable config value
52  *
53  * Return: Success or Failure
54  */
55 QDF_STATUS ucfg_green_ap_get_ps_config(struct wlan_objmgr_pdev *pdev,
56 				       uint8_t *ps_enable);
57 
58 /**
59  * ucfg_green_ap_set_transition_time() - Set transition time
60  * @pdev: pdev pointer
61  * @val: transition time
62  *
63  * This API sets custom transition time
64  *
65  * Return: Success or Failure
66  */
67 QDF_STATUS ucfg_green_ap_set_transition_time(struct wlan_objmgr_pdev *pdev,
68 					     uint32_t val);
69 
70 /**
71  * ucfg_green_ap_get_transition_time() - Get transition time
72  * @pdev: pdev pointer
73  * @ps_trans_time: pointer to transition time
74  *
75  * This API gets transition time
76  *
77  * Return: Success or Failure
78  */
79 QDF_STATUS ucfg_green_ap_get_transition_time(struct wlan_objmgr_pdev *pdev,
80 					     uint32_t *ps_trans_time);
81 
82 /**
83  * ucfg_green_ap_config() - Config green AP
84  * @pdev: pdev pointer
85  *
86  * Return: Success or Failure
87  */
88 QDF_STATUS ucfg_green_ap_config(struct wlan_objmgr_pdev *pdev, uint8_t val);
89 
90 /**
91  * ucfg_green_ap_enable_debug_prints() - Enable debugs
92  * @pdev: pdev pointer
93  *
94  * Return: None
95  */
96 void ucfg_green_ap_enable_debug_prints(struct wlan_objmgr_pdev *pdev,
97 					uint32_t val);
98 
99 /**
100  * ucfg_green_ap_get_debug_prints() - Check if debug enabled
101  * @pdev: pdev pointer
102  *
103  * Return: Debug value
104  */
105 bool ucfg_green_ap_get_debug_prints(struct wlan_objmgr_pdev *pdev);
106 #endif /* _WLAN_GREEN_AP_UCFG_API_H_ */
107