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: offload lmac interface APIs for green ap 21 */ 22 #ifndef __TARGET_IF_GREEN_AP_H__ 23 #define __TARGET_IF_GREEN_AP_H__ 24 25 #include <wlan_objmgr_cmn.h> 26 #include <wlan_objmgr_pdev_obj.h> 27 #include <qdf_status.h> 28 #include <wlan_lmac_if_def.h> 29 30 /** 31 * target_if_register_green_ap_tx_ops() - lmac handler to register 32 * green ap tx_ops callback functions 33 * @tx_ops: wlan_lmac_if_tx_ops object 34 * 35 * Return: QDF_STATUS in case of success 36 */ 37 QDF_STATUS target_if_register_green_ap_tx_ops( 38 struct wlan_lmac_if_tx_ops *tx_ops); 39 40 /** 41 * target_if_green_ap_register_egap_event_handler() - registers enhanced 42 * green ap event handler 43 * @pdev: objmgr pdev 44 * 45 * Return: QDF_STATUS in case of success 46 */ 47 QDF_STATUS target_if_green_ap_register_egap_event_handler( 48 struct wlan_objmgr_pdev *pdev); 49 50 /** 51 * target_if_green_ap_enable_egap() - enable enhanced green ap 52 * @pdev: pdev pointer 53 * @egap_params: enhanced green ap params 54 * 55 * @Return: QDF_STATUS_SUCCESS in case of success 56 */ 57 QDF_STATUS target_if_green_ap_enable_egap( 58 struct wlan_objmgr_pdev *pdev, 59 struct wlan_green_ap_egap_params *egap_params); 60 61 /** 62 * target_if_green_ap_set_ps_on_off() - Green AP PS toggle 63 * @pdev: pdev pointer 64 * @value: Value to send PS on/off to FW 65 * @pdev_id: pdev id 66 * 67 * @Return: QDF_STATUS_SUCCESS in case of success 68 */ 69 QDF_STATUS target_if_green_ap_set_ps_on_off(struct wlan_objmgr_pdev *pdev, 70 bool value, uint8_t pdev_id); 71 72 /** 73 * target_if_green_ap_get_current_channel() - Get current channel 74 * @pdev: pdev pointer 75 * 76 * @Return: current channel freq 77 */ 78 uint16_t target_if_green_ap_get_current_channel(struct wlan_objmgr_pdev *pdev); 79 80 /** 81 * target_if_green_ap_get_current_channel_flags() - Get current channel flags 82 * @pdev: pdev pointer 83 * 84 * @Return: current channel flags 85 */ 86 uint64_t target_if_green_ap_get_current_channel_flags( 87 struct wlan_objmgr_pdev *pdev); 88 89 /** 90 * target_if_green_ap_reset_dev() - Reset dev 91 * @pdev: pdev pointer 92 * 93 * @Return: QDF_STATUS_SUCCESS if device resetted 94 */ 95 QDF_STATUS target_if_green_ap_reset_dev(struct wlan_objmgr_pdev *pdev); 96 97 #endif 98