1*5113495bSYour Name /* 2*5113495bSYour Name * Copyright (c) 2017-2019, 2021 The Linux Foundation. All rights reserved. 3*5113495bSYour Name * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. 4*5113495bSYour Name * 5*5113495bSYour Name * Permission to use, copy, modify, and/or distribute this software for 6*5113495bSYour Name * any purpose with or without fee is hereby granted, provided that the 7*5113495bSYour Name * above copyright notice and this permission notice appear in all 8*5113495bSYour Name * copies. 9*5113495bSYour Name * 10*5113495bSYour Name * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 11*5113495bSYour Name * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 12*5113495bSYour Name * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 13*5113495bSYour Name * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 14*5113495bSYour Name * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 15*5113495bSYour Name * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 16*5113495bSYour Name * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 17*5113495bSYour Name * PERFORMANCE OF THIS SOFTWARE. 18*5113495bSYour Name */ 19*5113495bSYour Name /** 20*5113495bSYour Name * DOC: This file contains the API definitions for the Unified Wireless Module 21*5113495bSYour Name * Interface (WMI) which are specific to Power management offloads (PMO). 22*5113495bSYour Name */ 23*5113495bSYour Name 24*5113495bSYour Name #ifndef _WMI_UNIFIED_PMO_API_H_ 25*5113495bSYour Name #define _WMI_UNIFIED_PMO_API_H_ 26*5113495bSYour Name 27*5113495bSYour Name #include "wlan_pmo_tgt_api.h" 28*5113495bSYour Name #include "wlan_pmo_arp_public_struct.h" 29*5113495bSYour Name #include "wlan_pmo_ns_public_struct.h" 30*5113495bSYour Name #include "wlan_pmo_gtk_public_struct.h" 31*5113495bSYour Name #include "wlan_pmo_wow_public_struct.h" 32*5113495bSYour Name #include "wlan_pmo_pkt_filter_public_struct.h" 33*5113495bSYour Name 34*5113495bSYour Name #ifdef FEATURE_WLAN_D0WOW 35*5113495bSYour Name /** 36*5113495bSYour Name * wmi_unified_d0wow_enable_send() - WMI d0 wow enable function 37*5113495bSYour Name * @wmi_handle: handle to WMI. 38*5113495bSYour Name * @mac_id: radio context 39*5113495bSYour Name * 40*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 41*5113495bSYour Name */ 42*5113495bSYour Name QDF_STATUS wmi_unified_d0wow_enable_send(wmi_unified_t wmi_handle, 43*5113495bSYour Name uint8_t mac_id); 44*5113495bSYour Name 45*5113495bSYour Name /** 46*5113495bSYour Name * wmi_unified_d0wow_disable_send() - WMI d0 wow disable function 47*5113495bSYour Name * @wmi_handle: handle to WMI. 48*5113495bSYour Name * @mac_id: radio context 49*5113495bSYour Name * 50*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 51*5113495bSYour Name */ 52*5113495bSYour Name QDF_STATUS wmi_unified_d0wow_disable_send(wmi_unified_t wmi_handle, 53*5113495bSYour Name uint8_t mac_id); 54*5113495bSYour Name #endif /* FEATURE_WLAN_D0WOW */ 55*5113495bSYour Name 56*5113495bSYour Name /** 57*5113495bSYour Name * wmi_unified_add_wow_wakeup_event_cmd() - Configures wow wakeup events. 58*5113495bSYour Name * @wmi_handle: wmi handle 59*5113495bSYour Name * @vdev_id: vdev id 60*5113495bSYour Name * @bitmap: Event bitmap 61*5113495bSYour Name * @enable: enable/disable 62*5113495bSYour Name * 63*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 64*5113495bSYour Name */ 65*5113495bSYour Name QDF_STATUS wmi_unified_add_wow_wakeup_event_cmd(wmi_unified_t wmi_handle, 66*5113495bSYour Name uint32_t vdev_id, 67*5113495bSYour Name uint32_t *bitmap, 68*5113495bSYour Name bool enable); 69*5113495bSYour Name 70*5113495bSYour Name /** 71*5113495bSYour Name * wmi_unified_wow_patterns_to_fw_cmd() - Sends WOW patterns to FW. 72*5113495bSYour Name * @wmi_handle: wmi handle 73*5113495bSYour Name * @vdev_id: vdev id 74*5113495bSYour Name * @ptrn_id: pattern id 75*5113495bSYour Name * @ptrn: pattern 76*5113495bSYour Name * @ptrn_len: pattern length 77*5113495bSYour Name * @ptrn_offset: pattern offset 78*5113495bSYour Name * @mask: mask 79*5113495bSYour Name * @mask_len: mask length 80*5113495bSYour Name * @user: true for user configured pattern and false for default pattern 81*5113495bSYour Name * @default_patterns: default patterns 82*5113495bSYour Name * 83*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 84*5113495bSYour Name */ 85*5113495bSYour Name QDF_STATUS wmi_unified_wow_patterns_to_fw_cmd( 86*5113495bSYour Name wmi_unified_t wmi_handle, 87*5113495bSYour Name uint8_t vdev_id, uint8_t ptrn_id, 88*5113495bSYour Name const uint8_t *ptrn, uint8_t ptrn_len, 89*5113495bSYour Name uint8_t ptrn_offset, const uint8_t *mask, 90*5113495bSYour Name uint8_t mask_len, bool user, 91*5113495bSYour Name uint8_t default_patterns); 92*5113495bSYour Name 93*5113495bSYour Name /** 94*5113495bSYour Name * wmi_unified_add_clear_mcbc_filter_cmd() - set mcast filter command to fw 95*5113495bSYour Name * @wmi_handle: wmi handle 96*5113495bSYour Name * @vdev_id: vdev id 97*5113495bSYour Name * @multicast_addr: mcast address 98*5113495bSYour Name * @clear_list: clear list flag 99*5113495bSYour Name * 100*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 101*5113495bSYour Name */ 102*5113495bSYour Name QDF_STATUS wmi_unified_add_clear_mcbc_filter_cmd( 103*5113495bSYour Name wmi_unified_t wmi_handle, 104*5113495bSYour Name uint8_t vdev_id, 105*5113495bSYour Name struct qdf_mac_addr multicast_addr, 106*5113495bSYour Name bool clear_list); 107*5113495bSYour Name 108*5113495bSYour Name /** 109*5113495bSYour Name * wmi_unified_multiple_add_clear_mcbc_filter_cmd() - send multiple mcast 110*5113495bSYour Name * filter command to fw 111*5113495bSYour Name * @wmi_handle: wmi handle 112*5113495bSYour Name * @vdev_id: vdev id 113*5113495bSYour Name * @filter_param: mcast filter params 114*5113495bSYour Name * 115*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 116*5113495bSYour Name */ 117*5113495bSYour Name QDF_STATUS wmi_unified_multiple_add_clear_mcbc_filter_cmd( 118*5113495bSYour Name wmi_unified_t wmi_handle, 119*5113495bSYour Name uint8_t vdev_id, 120*5113495bSYour Name struct pmo_mcast_filter_params *filter_param); 121*5113495bSYour Name 122*5113495bSYour Name #ifdef FEATURE_WLAN_RA_FILTERING 123*5113495bSYour Name /** 124*5113495bSYour Name * wmi_unified_wow_sta_ra_filter_cmd() - set RA filter pattern in fw 125*5113495bSYour Name * @wmi_handle: wmi handle 126*5113495bSYour Name * @vdev_id: vdev id 127*5113495bSYour Name * @default_pattern: default pattern id 128*5113495bSYour Name * @rate_limit_interval: rate limit interval 129*5113495bSYour Name * 130*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 131*5113495bSYour Name */ 132*5113495bSYour Name QDF_STATUS wmi_unified_wow_sta_ra_filter_cmd(wmi_unified_t wmi_handle, 133*5113495bSYour Name uint8_t vdev_id, 134*5113495bSYour Name uint8_t default_pattern, 135*5113495bSYour Name uint16_t rate_limit_interval); 136*5113495bSYour Name #endif 137*5113495bSYour Name 138*5113495bSYour Name /** 139*5113495bSYour Name * wmi_unified_enable_enhance_multicast_offload_cmd() - enhance multicast 140*5113495bSYour Name * offload 141*5113495bSYour Name * @wmi_handle: wmi handle 142*5113495bSYour Name * @vdev_id: vdev id 143*5113495bSYour Name * @action: true for enable else false 144*5113495bSYour Name * 145*5113495bSYour Name * To configure enhance multicast offload in to firmware 146*5113495bSYour Name * 147*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 148*5113495bSYour Name */ 149*5113495bSYour Name QDF_STATUS wmi_unified_enable_enhance_multicast_offload_cmd( 150*5113495bSYour Name wmi_unified_t wmi_handle, uint8_t vdev_id, bool action); 151*5113495bSYour Name 152*5113495bSYour Name /** 153*5113495bSYour Name * wmi_extract_gtk_rsp_event() - extract gtk rsp params from event 154*5113495bSYour Name * @wmi_handle: wmi handle 155*5113495bSYour Name * @evt_buf: pointer to event buffer 156*5113495bSYour Name * @gtk_rsp_param: Pointer to gtk rsp parameters 157*5113495bSYour Name * @len: len of gtk rsp event 158*5113495bSYour Name * 159*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 160*5113495bSYour Name */ 161*5113495bSYour Name QDF_STATUS wmi_extract_gtk_rsp_event( 162*5113495bSYour Name wmi_unified_t wmi_handle, void *evt_buf, 163*5113495bSYour Name struct pmo_gtk_rsp_params *gtk_rsp_param, uint32_t len); 164*5113495bSYour Name 165*5113495bSYour Name /** 166*5113495bSYour Name * wmi_unified_process_gtk_offload_getinfo_cmd() - send GTK offload cmd to fw 167*5113495bSYour Name * @wmi_handle: wmi handle 168*5113495bSYour Name * @vdev_id: vdev id 169*5113495bSYour Name * @offload_req_opcode: gtk offload flag 170*5113495bSYour Name * 171*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 172*5113495bSYour Name */ 173*5113495bSYour Name QDF_STATUS wmi_unified_process_gtk_offload_getinfo_cmd( 174*5113495bSYour Name wmi_unified_t wmi_handle, 175*5113495bSYour Name uint8_t vdev_id, 176*5113495bSYour Name uint64_t offload_req_opcode); 177*5113495bSYour Name 178*5113495bSYour Name /** 179*5113495bSYour Name * wmi_unified_action_frame_patterns_cmd() - send action filter wmi cmd 180*5113495bSYour Name * @wmi_handle: wmi handler 181*5113495bSYour Name * @action_params: pointer to action_params 182*5113495bSYour Name * 183*5113495bSYour Name * Return: 0 for success, otherwise appropriate error code 184*5113495bSYour Name */ 185*5113495bSYour Name QDF_STATUS wmi_unified_action_frame_patterns_cmd( 186*5113495bSYour Name wmi_unified_t wmi_handle, 187*5113495bSYour Name struct pmo_action_wakeup_set_params *action_params); 188*5113495bSYour Name 189*5113495bSYour Name /** 190*5113495bSYour Name * wmi_unified_send_gtk_offload_cmd() - send GTK offload command to fw 191*5113495bSYour Name * @wmi_handle: wmi handle 192*5113495bSYour Name * @vdev_id: vdev id 193*5113495bSYour Name * @params: GTK offload parameters 194*5113495bSYour Name * @enable_offload: flag to enable offload 195*5113495bSYour Name * @gtk_offload_opcode: gtk offload flag 196*5113495bSYour Name * 197*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 198*5113495bSYour Name */ 199*5113495bSYour Name QDF_STATUS wmi_unified_send_gtk_offload_cmd(wmi_unified_t wmi_handle, 200*5113495bSYour Name uint8_t vdev_id, 201*5113495bSYour Name struct pmo_gtk_req *params, 202*5113495bSYour Name bool enable_offload, 203*5113495bSYour Name uint32_t gtk_offload_opcode); 204*5113495bSYour Name 205*5113495bSYour Name /** 206*5113495bSYour Name * wmi_unified_enable_arp_ns_offload_cmd() - enable ARP NS offload 207*5113495bSYour Name * @wmi_handle: wmi handle 208*5113495bSYour Name * @arp_offload_req: arp offload request 209*5113495bSYour Name * @ns_offload_req: ns offload request 210*5113495bSYour Name * @vdev_id: vdev id 211*5113495bSYour Name * 212*5113495bSYour Name * To configure ARP NS off load data to firmware 213*5113495bSYour Name * when target goes to wow mode. 214*5113495bSYour Name * 215*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 216*5113495bSYour Name */ 217*5113495bSYour Name QDF_STATUS wmi_unified_enable_arp_ns_offload_cmd( 218*5113495bSYour Name wmi_unified_t wmi_handle, 219*5113495bSYour Name struct pmo_arp_offload_params *arp_offload_req, 220*5113495bSYour Name struct pmo_ns_offload_params *ns_offload_req, 221*5113495bSYour Name uint8_t vdev_id); 222*5113495bSYour Name 223*5113495bSYour Name /** 224*5113495bSYour Name * wmi_unified_conf_hw_filter_cmd() - Configure hardware filter in DTIM mode 225*5113495bSYour Name * @wmi_handle: wmi handle 226*5113495bSYour Name * @req: request parameters to configure to firmware 227*5113495bSYour Name * 228*5113495bSYour Name * Return: QDF_STATUS 229*5113495bSYour Name */ 230*5113495bSYour Name QDF_STATUS wmi_unified_conf_hw_filter_cmd(wmi_unified_t wmi_handle, 231*5113495bSYour Name struct pmo_hw_filter_params *req); 232*5113495bSYour Name 233*5113495bSYour Name #ifdef FEATURE_WLAN_LPHB 234*5113495bSYour Name /** 235*5113495bSYour Name * wmi_unified_lphb_config_hbenable_cmd() - enable command of LPHB configuration 236*5113495bSYour Name * @wmi_handle: wmi handle 237*5113495bSYour Name * @params: configuration info 238*5113495bSYour Name * 239*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 240*5113495bSYour Name */ 241*5113495bSYour Name QDF_STATUS wmi_unified_lphb_config_hbenable_cmd( 242*5113495bSYour Name wmi_unified_t wmi_handle, 243*5113495bSYour Name wmi_hb_set_enable_cmd_fixed_param *params); 244*5113495bSYour Name 245*5113495bSYour Name /** 246*5113495bSYour Name * wmi_unified_lphb_config_tcp_params_cmd() - set tcp params of LPHB config req 247*5113495bSYour Name * @wmi_handle: wmi handle 248*5113495bSYour Name * @lphb_conf_req: lphb config request 249*5113495bSYour Name * 250*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 251*5113495bSYour Name */ 252*5113495bSYour Name QDF_STATUS wmi_unified_lphb_config_tcp_params_cmd( 253*5113495bSYour Name wmi_unified_t wmi_handle, 254*5113495bSYour Name wmi_hb_set_tcp_params_cmd_fixed_param *lphb_conf_req); 255*5113495bSYour Name 256*5113495bSYour Name /** 257*5113495bSYour Name * wmi_unified_lphb_config_tcp_pkt_filter_cmd() - config LPHB tcp packet filter 258*5113495bSYour Name * @wmi_handle: wmi handle 259*5113495bSYour Name * @g_hb_tcp_filter_fp: lphb config request 260*5113495bSYour Name * 261*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 262*5113495bSYour Name */ 263*5113495bSYour Name QDF_STATUS wmi_unified_lphb_config_tcp_pkt_filter_cmd( 264*5113495bSYour Name wmi_unified_t wmi_handle, 265*5113495bSYour Name wmi_hb_set_tcp_pkt_filter_cmd_fixed_param *g_hb_tcp_filter_fp); 266*5113495bSYour Name 267*5113495bSYour Name /** 268*5113495bSYour Name * wmi_unified_lphb_config_udp_params_cmd() - configure LPHB udp param command 269*5113495bSYour Name * @wmi_handle: wmi handle 270*5113495bSYour Name * @lphb_conf_req: lphb config request 271*5113495bSYour Name * 272*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 273*5113495bSYour Name */ 274*5113495bSYour Name QDF_STATUS wmi_unified_lphb_config_udp_params_cmd( 275*5113495bSYour Name wmi_unified_t wmi_handle, 276*5113495bSYour Name wmi_hb_set_udp_params_cmd_fixed_param *lphb_conf_req); 277*5113495bSYour Name 278*5113495bSYour Name /** 279*5113495bSYour Name * wmi_unified_lphb_config_udp_pkt_filter_cmd() - configure LPHB udp pkt filter 280*5113495bSYour Name * @wmi_handle: wmi handle 281*5113495bSYour Name * @lphb_conf_req: lphb config request 282*5113495bSYour Name * 283*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 284*5113495bSYour Name */ 285*5113495bSYour Name QDF_STATUS wmi_unified_lphb_config_udp_pkt_filter_cmd( 286*5113495bSYour Name wmi_unified_t wmi_handle, 287*5113495bSYour Name wmi_hb_set_udp_pkt_filter_cmd_fixed_param *lphb_conf_req); 288*5113495bSYour Name #endif /* FEATURE_WLAN_LPHB */ 289*5113495bSYour Name 290*5113495bSYour Name #ifdef WLAN_FEATURE_PACKET_FILTERING 291*5113495bSYour Name /** 292*5113495bSYour Name * wmi_unified_enable_disable_packet_filter_cmd() - enable/disable packet filter 293*5113495bSYour Name * @wmi_handle: wmi handle 294*5113495bSYour Name * @vdev_id: vdev id 295*5113495bSYour Name * @enable: Flag to enable/disable packet filter 296*5113495bSYour Name * 297*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 298*5113495bSYour Name */ 299*5113495bSYour Name QDF_STATUS 300*5113495bSYour Name wmi_unified_enable_disable_packet_filter_cmd(wmi_unified_t wmi_handle, 301*5113495bSYour Name uint8_t vdev_id, 302*5113495bSYour Name bool enable); 303*5113495bSYour Name 304*5113495bSYour Name /** 305*5113495bSYour Name * wmi_unified_config_packet_filter_cmd() - configure packet filter in target 306*5113495bSYour Name * @wmi_handle: wmi handle 307*5113495bSYour Name * @vdev_id: vdev id 308*5113495bSYour Name * @rcv_filter_param: Packet filter parameters 309*5113495bSYour Name * @filter_id: Filter id 310*5113495bSYour Name * @enable: Flag to add/delete packet filter configuration 311*5113495bSYour Name * 312*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 313*5113495bSYour Name */ 314*5113495bSYour Name QDF_STATUS wmi_unified_config_packet_filter_cmd( 315*5113495bSYour Name wmi_unified_t wmi_handle, 316*5113495bSYour Name uint8_t vdev_id, struct pmo_rcv_pkt_fltr_cfg *rcv_filter_param, 317*5113495bSYour Name uint8_t filter_id, bool enable); 318*5113495bSYour Name #endif /* WLAN_FEATURE_PACKET_FILTERING */ 319*5113495bSYour Name 320*5113495bSYour Name /** 321*5113495bSYour Name * wmi_unified_wow_delete_pattern_cmd() - delete wow pattern in target 322*5113495bSYour Name * @wmi_handle: wmi handle 323*5113495bSYour Name * @ptrn_id: pattern id 324*5113495bSYour Name * @vdev_id: vdev id 325*5113495bSYour Name * 326*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 327*5113495bSYour Name */ 328*5113495bSYour Name QDF_STATUS wmi_unified_wow_delete_pattern_cmd(wmi_unified_t wmi_handle, 329*5113495bSYour Name uint8_t ptrn_id, 330*5113495bSYour Name uint8_t vdev_id); 331*5113495bSYour Name 332*5113495bSYour Name /** 333*5113495bSYour Name * wmi_unified_host_wakeup_ind_to_fw_cmd() - send wakeup ind to fw 334*5113495bSYour Name * @wmi_handle: wmi handle 335*5113495bSYour Name * @tx_pending_ind: flag of TX has pending frames 336*5113495bSYour Name * 337*5113495bSYour Name * Sends host wakeup indication to FW. On receiving this indication, 338*5113495bSYour Name * FW will come out of WOW. 339*5113495bSYour Name * 340*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 341*5113495bSYour Name */ 342*5113495bSYour Name QDF_STATUS wmi_unified_host_wakeup_ind_to_fw_cmd(wmi_unified_t wmi_handle, 343*5113495bSYour Name bool tx_pending_ind); 344*5113495bSYour Name 345*5113495bSYour Name /** 346*5113495bSYour Name * wmi_unified_wow_timer_pattern_cmd() - set timer pattern tlv, so that 347*5113495bSYour Name * firmware will wake up host after 348*5113495bSYour Name * specified time is elapsed 349*5113495bSYour Name * @wmi_handle: wmi handle 350*5113495bSYour Name * @vdev_id: vdev id 351*5113495bSYour Name * @cookie: value to identify reason why host set up wake call. 352*5113495bSYour Name * @time: time in ms 353*5113495bSYour Name * 354*5113495bSYour Name * Return: QDF status 355*5113495bSYour Name */ 356*5113495bSYour Name QDF_STATUS wmi_unified_wow_timer_pattern_cmd(wmi_unified_t wmi_handle, 357*5113495bSYour Name uint8_t vdev_id, 358*5113495bSYour Name uint32_t cookie, uint32_t time); 359*5113495bSYour Name 360*5113495bSYour Name #ifdef WLAN_FEATURE_EXTWOW_SUPPORT 361*5113495bSYour Name /** 362*5113495bSYour Name * wmi_unified_enable_ext_wow_cmd() - enable ext wow in fw 363*5113495bSYour Name * @wmi_handle: wmi handle 364*5113495bSYour Name * @params: ext wow params 365*5113495bSYour Name * 366*5113495bSYour Name * Return:QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 367*5113495bSYour Name */ 368*5113495bSYour Name QDF_STATUS wmi_unified_enable_ext_wow_cmd(wmi_unified_t wmi_handle, 369*5113495bSYour Name struct ext_wow_params *params); 370*5113495bSYour Name 371*5113495bSYour Name /** 372*5113495bSYour Name * wmi_unified_set_app_type2_params_in_fw_cmd() - set app type2 params in fw 373*5113495bSYour Name * @wmi_handle: wmi handle 374*5113495bSYour Name * @appType2Params: app type2 params 375*5113495bSYour Name * 376*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 377*5113495bSYour Name */ 378*5113495bSYour Name QDF_STATUS wmi_unified_set_app_type2_params_in_fw_cmd( 379*5113495bSYour Name wmi_unified_t wmi_handle, 380*5113495bSYour Name struct app_type2_params *appType2Params); 381*5113495bSYour Name 382*5113495bSYour Name /** 383*5113495bSYour Name * wmi_unified_app_type1_params_in_fw_cmd() - set app type1 params in fw 384*5113495bSYour Name * @wmi_handle: wmi handle 385*5113495bSYour Name * @app_type1_params: app type1 params 386*5113495bSYour Name * 387*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 388*5113495bSYour Name */ 389*5113495bSYour Name QDF_STATUS wmi_unified_app_type1_params_in_fw_cmd( 390*5113495bSYour Name wmi_unified_t wmi_handle, 391*5113495bSYour Name struct app_type1_params *app_type1_params); 392*5113495bSYour Name #endif /* WLAN_FEATURE_EXTWOW_SUPPORT */ 393*5113495bSYour Name 394*5113495bSYour Name #ifdef WLAN_FEATURE_IGMP_OFFLOAD 395*5113495bSYour Name /** 396*5113495bSYour Name * wmi_unified_send_igmp_offload_cmd() - send igmp offload cmd to fw 397*5113495bSYour Name * @wmi_handle: wmi handle 398*5113495bSYour Name * @pmo_igmp_req: igmp params 399*5113495bSYour Name * 400*5113495bSYour Name * Return: Success or failure 401*5113495bSYour Name */ 402*5113495bSYour Name QDF_STATUS 403*5113495bSYour Name wmi_unified_send_igmp_offload_cmd(wmi_unified_t wmi_handle, 404*5113495bSYour Name struct pmo_igmp_offload_req *pmo_igmp_req); 405*5113495bSYour Name #endif 406*5113495bSYour Name 407*5113495bSYour Name #ifdef WLAN_FEATURE_ICMP_OFFLOAD 408*5113495bSYour Name /** 409*5113495bSYour Name * wmi_unified_config_icmp_offload_cmd() - enable ICMP offload 410*5113495bSYour Name * @wmi_handle: wmi handle 411*5113495bSYour Name * @pmo_icmp_req: icmp offload request 412*5113495bSYour Name * 413*5113495bSYour Name * To configure ICMP offload data to firmware 414*5113495bSYour Name * when target goes to wow mode. 415*5113495bSYour Name * 416*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 417*5113495bSYour Name */ 418*5113495bSYour Name QDF_STATUS wmi_unified_config_icmp_offload_cmd(wmi_unified_t wmi_handle, 419*5113495bSYour Name struct pmo_icmp_offload *pmo_icmp_req); 420*5113495bSYour Name #endif 421*5113495bSYour Name #endif /* _WMI_UNIFIED_PMO_API_H_ */ 422