1*5113495bSYour Name /* 2*5113495bSYour Name * Copyright (c) 2013-2020 The Linux Foundation. All rights reserved. 3*5113495bSYour Name * Copyright (c) 2022-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 /** 21*5113495bSYour Name * DOC: Implement API's specific to STA component. 22*5113495bSYour Name */ 23*5113495bSYour Name 24*5113495bSYour Name #ifndef _WMI_UNIFIED_STA_API_H_ 25*5113495bSYour Name #define _WMI_UNIFIED_STA_API_H_ 26*5113495bSYour Name 27*5113495bSYour Name #include "wlan_disa_public_struct.h" 28*5113495bSYour Name #include "wlan_tdls_public_structs.h" 29*5113495bSYour Name #include "wlan_policy_mgr_public_struct.h" 30*5113495bSYour Name #include "wmi_unified_sta_param.h" 31*5113495bSYour Name 32*5113495bSYour Name struct policy_mgr_dual_mac_config; 33*5113495bSYour Name 34*5113495bSYour Name /** 35*5113495bSYour Name * wmi_unified_set_sta_sa_query_param_cmd() - set sta sa query parameters 36*5113495bSYour Name * @wmi_handle: wmi handle 37*5113495bSYour Name * @vdev_id: vdev id 38*5113495bSYour Name * @max_retries: max retries 39*5113495bSYour Name * @retry_interval: retry interval 40*5113495bSYour Name * This function sets sta query related parameters in fw. 41*5113495bSYour Name * 42*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 43*5113495bSYour Name */ 44*5113495bSYour Name QDF_STATUS wmi_unified_set_sta_sa_query_param_cmd(wmi_unified_t wmi_handle, 45*5113495bSYour Name uint8_t vdev_id, 46*5113495bSYour Name uint32_t max_retries, 47*5113495bSYour Name uint32_t retry_interval); 48*5113495bSYour Name 49*5113495bSYour Name /** 50*5113495bSYour Name * wmi_unified_set_sta_keep_alive_cmd() - set sta keep alive parameters 51*5113495bSYour Name * @wmi_handle: wmi handle 52*5113495bSYour Name * @params: sta keep alive parameter 53*5113495bSYour Name * 54*5113495bSYour Name * This function sets keep alive related parameters in fw. 55*5113495bSYour Name * 56*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 57*5113495bSYour Name */ 58*5113495bSYour Name QDF_STATUS 59*5113495bSYour Name wmi_unified_set_sta_keep_alive_cmd(wmi_unified_t wmi_handle, 60*5113495bSYour Name struct sta_keep_alive_params *params); 61*5113495bSYour Name 62*5113495bSYour Name /** 63*5113495bSYour Name * wmi_unified_vdev_set_gtx_cfg_cmd() - set GTX params 64*5113495bSYour Name * @wmi_handle: wmi handle 65*5113495bSYour Name * @if_id: vdev id 66*5113495bSYour Name * @gtx_info: GTX config params 67*5113495bSYour Name * 68*5113495bSYour Name * This function set GTX related params in firmware. 69*5113495bSYour Name * 70*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 71*5113495bSYour Name */ 72*5113495bSYour Name QDF_STATUS 73*5113495bSYour Name wmi_unified_vdev_set_gtx_cfg_cmd(wmi_unified_t wmi_handle, uint32_t if_id, 74*5113495bSYour Name struct wmi_gtx_config *gtx_info); 75*5113495bSYour Name 76*5113495bSYour Name #if defined(WLAN_FEATURE_ROAM_OFFLOAD) && defined(FEATURE_DENYLIST_MGR) 77*5113495bSYour Name /** 78*5113495bSYour Name * wmi_unified_send_reject_ap_list() - send the reject ap list maintained by 79*5113495bSYour Name * DLM to FW for roaming cases. 80*5113495bSYour Name * @wmi_handle: wmi handle 81*5113495bSYour Name * @reject_params: This contains the reject ap list, and the num of BSSIDs. 82*5113495bSYour Name * 83*5113495bSYour Name * Return: QDF_STATUS_SUCCESS for success or error code 84*5113495bSYour Name */ 85*5113495bSYour Name QDF_STATUS 86*5113495bSYour Name wmi_unified_send_reject_ap_list(struct wmi_unified *wmi_handle, 87*5113495bSYour Name struct reject_ap_params *reject_params); 88*5113495bSYour Name #endif 89*5113495bSYour Name 90*5113495bSYour Name /** 91*5113495bSYour Name * wmi_unified_process_dhcp_ind() - process dhcp indication from SME 92*5113495bSYour Name * @wmi_handle: wmi handle 93*5113495bSYour Name * @ta_dhcp_ind: DHCP indication parameter 94*5113495bSYour Name * 95*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 96*5113495bSYour Name */ 97*5113495bSYour Name QDF_STATUS wmi_unified_process_dhcp_ind( 98*5113495bSYour Name wmi_unified_t wmi_handle, 99*5113495bSYour Name wmi_peer_set_param_cmd_fixed_param *ta_dhcp_ind); 100*5113495bSYour Name 101*5113495bSYour Name /** 102*5113495bSYour Name * wmi_unified_get_link_speed_cmd() -send command to get linkspeed 103*5113495bSYour Name * @wmi_handle: wmi handle 104*5113495bSYour Name * @peer_macaddr: peer MAC address 105*5113495bSYour Name * 106*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 107*5113495bSYour Name */ 108*5113495bSYour Name QDF_STATUS wmi_unified_get_link_speed_cmd(wmi_unified_t wmi_handle, 109*5113495bSYour Name wmi_mac_addr peer_macaddr); 110*5113495bSYour Name 111*5113495bSYour Name /** 112*5113495bSYour Name * wmi_unified_fw_profiling_data_cmd() - send FW profiling cmd to WLAN FW 113*5113495bSYour Name * @wmi_handle: wmi handle 114*5113495bSYour Name * @cmd: Profiling command index 115*5113495bSYour Name * @value1: parameter1 value 116*5113495bSYour Name * @value2: parameter2 value 117*5113495bSYour Name * 118*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 119*5113495bSYour Name */ 120*5113495bSYour Name QDF_STATUS wmi_unified_fw_profiling_data_cmd(wmi_unified_t wmi_handle, 121*5113495bSYour Name uint32_t cmd, 122*5113495bSYour Name uint32_t value1, 123*5113495bSYour Name uint32_t value2); 124*5113495bSYour Name 125*5113495bSYour Name /** 126*5113495bSYour Name * wmi_unified_nat_keepalive_en_cmd() - enable NAT keepalive filter 127*5113495bSYour Name * @wmi_handle: wmi handle 128*5113495bSYour Name * @vdev_id: vdev id 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_nat_keepalive_en_cmd(wmi_unified_t wmi_handle, 133*5113495bSYour Name uint8_t vdev_id); 134*5113495bSYour Name 135*5113495bSYour Name /** 136*5113495bSYour Name * wmi_unified_wlm_latency_level_cmd() - set latency level 137*5113495bSYour Name * @wmi_handle: wmi handle 138*5113495bSYour Name * @param: WLM parameters 139*5113495bSYour Name * 140*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 141*5113495bSYour Name */ 142*5113495bSYour Name QDF_STATUS 143*5113495bSYour Name wmi_unified_wlm_latency_level_cmd(wmi_unified_t wmi_handle, 144*5113495bSYour Name struct wlm_latency_level_param *param); 145*5113495bSYour Name 146*5113495bSYour Name /** 147*5113495bSYour Name * wmi_unified_process_set_ie_info_cmd() - Function to send IE info to firmware 148*5113495bSYour Name * @wmi_handle: Pointer to WMI handle 149*5113495bSYour Name * @ie_info: Pointer for IE information 150*5113495bSYour Name * 151*5113495bSYour Name * This function sends IE information to firmware 152*5113495bSYour Name * 153*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 154*5113495bSYour Name */ 155*5113495bSYour Name QDF_STATUS 156*5113495bSYour Name wmi_unified_process_set_ie_info_cmd(wmi_unified_t wmi_handle, 157*5113495bSYour Name struct vdev_ie_info_param *ie_info); 158*5113495bSYour Name 159*5113495bSYour Name /** 160*5113495bSYour Name * wmi_unified_set_base_macaddr_indicate_cmd() - set base mac address in fw 161*5113495bSYour Name * @wmi_handle: wmi handle 162*5113495bSYour Name * @custom_addr: base mac address 163*5113495bSYour Name * 164*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 165*5113495bSYour Name */ 166*5113495bSYour Name QDF_STATUS wmi_unified_set_base_macaddr_indicate_cmd(wmi_unified_t wmi_handle, 167*5113495bSYour Name uint8_t *custom_addr); 168*5113495bSYour Name 169*5113495bSYour Name #ifdef FEATURE_WLAN_TDLS 170*5113495bSYour Name /** 171*5113495bSYour Name * wmi_unified_set_tdls_offchan_mode_cmd() - set tdls off channel mode 172*5113495bSYour Name * @wmi_handle: wmi handle 173*5113495bSYour Name * @chan_switch_params: Pointer to tdls channel switch parameter structure 174*5113495bSYour Name * 175*5113495bSYour Name * This function sets tdls off channel mode 176*5113495bSYour Name * 177*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failures; 178*5113495bSYour Name * Negative errno otherwise 179*5113495bSYour Name */ 180*5113495bSYour Name QDF_STATUS wmi_unified_set_tdls_offchan_mode_cmd( 181*5113495bSYour Name wmi_unified_t wmi_handle, 182*5113495bSYour Name struct tdls_channel_switch_params *chan_switch_params); 183*5113495bSYour Name 184*5113495bSYour Name /** 185*5113495bSYour Name * wmi_unified_update_fw_tdls_state_cmd() - send enable/disable tdls for a vdev 186*5113495bSYour Name * @wmi_handle: wmi handle 187*5113495bSYour Name * @tdls_param: TDLS params 188*5113495bSYour Name * @tdls_state: TDLS state 189*5113495bSYour Name * 190*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 191*5113495bSYour Name */ 192*5113495bSYour Name QDF_STATUS wmi_unified_update_fw_tdls_state_cmd(wmi_unified_t wmi_handle, 193*5113495bSYour Name struct tdls_info *tdls_param, 194*5113495bSYour Name enum wmi_tdls_state tdls_state); 195*5113495bSYour Name 196*5113495bSYour Name /** 197*5113495bSYour Name * wmi_unified_update_tdls_peer_state_cmd() - update TDLS peer state 198*5113495bSYour Name * @wmi_handle: wmi handle 199*5113495bSYour Name * @peer_state: TDLS peer state params 200*5113495bSYour Name * @ch_mhz: peer channel list 201*5113495bSYour Name * 202*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 203*5113495bSYour Name */ 204*5113495bSYour Name QDF_STATUS wmi_unified_update_tdls_peer_state_cmd(wmi_unified_t wmi_handle, 205*5113495bSYour Name struct tdls_peer_update_state *peer_state, 206*5113495bSYour Name uint32_t *ch_mhz); 207*5113495bSYour Name 208*5113495bSYour Name /** 209*5113495bSYour Name * wmi_extract_vdev_tdls_ev_param - extract vdev tdls param from event 210*5113495bSYour Name * @wmi_handle: wmi handle 211*5113495bSYour Name * @evt_buf: pointer to event buffer 212*5113495bSYour Name * @param: Pointer to hold vdev tdls param 213*5113495bSYour Name * 214*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 215*5113495bSYour Name */ 216*5113495bSYour Name QDF_STATUS wmi_extract_vdev_tdls_ev_param(wmi_unified_t wmi_handle, 217*5113495bSYour Name void *evt_buf, 218*5113495bSYour Name struct tdls_event_info *param); 219*5113495bSYour Name #endif /* FEATURE_WLAN_TDLS */ 220*5113495bSYour Name 221*5113495bSYour Name /** 222*5113495bSYour Name * wmi_unified_send_sar_limit_cmd() - send sar limit cmd to fw 223*5113495bSYour Name * @wmi_handle: wmi handle 224*5113495bSYour Name * @params: sar limit command params 225*5113495bSYour Name * 226*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 227*5113495bSYour Name */ 228*5113495bSYour Name QDF_STATUS wmi_unified_send_sar_limit_cmd(wmi_unified_t wmi_handle, 229*5113495bSYour Name struct sar_limit_cmd_params *params); 230*5113495bSYour Name 231*5113495bSYour Name /** 232*5113495bSYour Name * wmi_unified_get_sar_limit_cmd() - request current SAR limits from FW 233*5113495bSYour Name * @wmi_handle: wmi handle 234*5113495bSYour Name * 235*5113495bSYour Name * Return: QDF_STATUS_SUCCESS for success or error code 236*5113495bSYour Name */ 237*5113495bSYour Name QDF_STATUS wmi_unified_get_sar_limit_cmd(wmi_unified_t wmi_handle); 238*5113495bSYour Name 239*5113495bSYour Name /** 240*5113495bSYour Name * wmi_unified_extract_sar_limit_event() - extract SAR limits from FW event 241*5113495bSYour Name * @wmi_handle: wmi handle 242*5113495bSYour Name * @evt_buf: event buffer received from firmware 243*5113495bSYour Name * @event: SAR limit event which is to be populated by data extracted from 244*5113495bSYour Name * the @evt_buf buffer 245*5113495bSYour Name * 246*5113495bSYour Name * Return: QDF_STATUS_SUCCESS for success or error code 247*5113495bSYour Name */ 248*5113495bSYour Name QDF_STATUS wmi_unified_extract_sar_limit_event(wmi_unified_t wmi_handle, 249*5113495bSYour Name uint8_t *evt_buf, 250*5113495bSYour Name struct sar_limit_event *event); 251*5113495bSYour Name 252*5113495bSYour Name /** 253*5113495bSYour Name * wmi_unified_extract_sar2_result_event() - extract SAR limits from FW event 254*5113495bSYour Name * @handle: wmi handle 255*5113495bSYour Name * @event: event buffer received from firmware 256*5113495bSYour Name * @len: length of the event buffer 257*5113495bSYour Name * 258*5113495bSYour Name * Return: QDF_STATUS_SUCCESS for success or error code 259*5113495bSYour Name */ 260*5113495bSYour Name QDF_STATUS wmi_unified_extract_sar2_result_event(void *handle, 261*5113495bSYour Name uint8_t *event, uint32_t len); 262*5113495bSYour Name 263*5113495bSYour Name /** 264*5113495bSYour Name * wmi_unified_set_del_pmkid_cache() - set delete PMKID 265*5113495bSYour Name * @wmi_handle: wmi handle 266*5113495bSYour Name * @pmksa: pointer to pmk cache entry 267*5113495bSYour Name * 268*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 269*5113495bSYour Name */ 270*5113495bSYour Name QDF_STATUS 271*5113495bSYour Name wmi_unified_set_del_pmkid_cache(wmi_unified_t wmi_handle, 272*5113495bSYour Name struct wmi_unified_pmk_cache *pmksa); 273*5113495bSYour Name 274*5113495bSYour Name /** 275*5113495bSYour Name * wmi_unified_del_ts_cmd() - send DELTS request to fw 276*5113495bSYour Name * @wmi_handle: wmi handle 277*5113495bSYour Name * @vdev_id: vdev id 278*5113495bSYour Name * @ac: ac param 279*5113495bSYour Name * 280*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 281*5113495bSYour Name */ 282*5113495bSYour Name QDF_STATUS wmi_unified_del_ts_cmd(wmi_unified_t wmi_handle, uint8_t vdev_id, 283*5113495bSYour Name uint8_t ac); 284*5113495bSYour Name 285*5113495bSYour Name /** 286*5113495bSYour Name * wmi_unified_aggr_qos_cmd() - send aggr qos request to fw 287*5113495bSYour Name * @wmi_handle: handle to wmi 288*5113495bSYour Name * @aggr_qos_rsp_msg: combined struct for all ADD_TS requests. 289*5113495bSYour Name * 290*5113495bSYour Name * A function to handle WMI_AGGR_QOS_REQ. This will send out 291*5113495bSYour Name * ADD_TS requests to firmware in loop for all the ACs with 292*5113495bSYour Name * active flow. 293*5113495bSYour Name * 294*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 295*5113495bSYour Name */ 296*5113495bSYour Name QDF_STATUS wmi_unified_aggr_qos_cmd( 297*5113495bSYour Name wmi_unified_t wmi_handle, 298*5113495bSYour Name struct aggr_add_ts_param *aggr_qos_rsp_msg); 299*5113495bSYour Name 300*5113495bSYour Name /** 301*5113495bSYour Name * wmi_unified_add_ts_cmd() - send ADDTS request to fw 302*5113495bSYour Name * @wmi_handle: wmi handle 303*5113495bSYour Name * @msg: ADDTS params 304*5113495bSYour Name * 305*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 306*5113495bSYour Name */ 307*5113495bSYour Name QDF_STATUS wmi_unified_add_ts_cmd(wmi_unified_t wmi_handle, 308*5113495bSYour Name struct add_ts_param *msg); 309*5113495bSYour Name 310*5113495bSYour Name /** 311*5113495bSYour Name * wmi_unified_process_add_periodic_tx_ptrn_cmd() - add periodic tx pattern 312*5113495bSYour Name * @wmi_handle: wmi handle 313*5113495bSYour Name * @pattern: tx pattern parameters 314*5113495bSYour Name * @vdev_id: vdev id 315*5113495bSYour Name * 316*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 317*5113495bSYour Name */ 318*5113495bSYour Name QDF_STATUS wmi_unified_process_add_periodic_tx_ptrn_cmd( 319*5113495bSYour Name wmi_unified_t wmi_handle, 320*5113495bSYour Name struct periodic_tx_pattern *pattern, 321*5113495bSYour Name uint8_t vdev_id); 322*5113495bSYour Name 323*5113495bSYour Name /** 324*5113495bSYour Name * wmi_unified_process_del_periodic_tx_ptrn_cmd() - del periodic tx ptrn 325*5113495bSYour Name * @wmi_handle: wmi handle 326*5113495bSYour Name * @vdev_id: vdev id 327*5113495bSYour Name * @pattern_id: pattern id 328*5113495bSYour Name * 329*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 330*5113495bSYour Name */ 331*5113495bSYour Name QDF_STATUS 332*5113495bSYour Name wmi_unified_process_del_periodic_tx_ptrn_cmd(wmi_unified_t wmi_handle, 333*5113495bSYour Name uint8_t vdev_id, 334*5113495bSYour Name uint8_t pattern_id); 335*5113495bSYour Name 336*5113495bSYour Name /** 337*5113495bSYour Name * wmi_unified_set_auto_shutdown_timer_cmd() - sets auto shutdown 338*5113495bSYour Name * timer in firmware 339*5113495bSYour Name * @wmi_handle: wmi handle 340*5113495bSYour Name * @timer_val: auto shutdown timer value 341*5113495bSYour Name * 342*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 343*5113495bSYour Name */ 344*5113495bSYour Name QDF_STATUS wmi_unified_set_auto_shutdown_timer_cmd(wmi_unified_t wmi_handle, 345*5113495bSYour Name uint32_t timer_val); 346*5113495bSYour Name 347*5113495bSYour Name /** 348*5113495bSYour Name * wmi_unified_set_led_flashing_cmd() - set led flashing in fw 349*5113495bSYour Name * @wmi_handle: wmi handle 350*5113495bSYour Name * @flashing: flashing request 351*5113495bSYour Name * 352*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 353*5113495bSYour Name */ 354*5113495bSYour Name QDF_STATUS 355*5113495bSYour Name wmi_unified_set_led_flashing_cmd(wmi_unified_t wmi_handle, 356*5113495bSYour Name struct flashing_req_params *flashing); 357*5113495bSYour Name 358*5113495bSYour Name /** 359*5113495bSYour Name * wmi_unified_process_ch_avoid_update_cmd() - handles channel avoid 360*5113495bSYour Name * update request 361*5113495bSYour Name * @wmi_handle: wmi handle 362*5113495bSYour Name * 363*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 364*5113495bSYour Name */ 365*5113495bSYour Name QDF_STATUS wmi_unified_process_ch_avoid_update_cmd(wmi_unified_t wmi_handle); 366*5113495bSYour Name 367*5113495bSYour Name /** 368*5113495bSYour Name * wmi_unified_pdev_set_pcl_cmd() - Send WMI_SOC_SET_PCL_CMDID to FW 369*5113495bSYour Name * @wmi_handle: wmi handle 370*5113495bSYour Name * @msg: PCL structure containing the PCL and the number of channels 371*5113495bSYour Name * 372*5113495bSYour Name * WMI_SOC_SET_PCL_CMDID provides a Preferred Channel List (PCL) to the WLAN 373*5113495bSYour Name * firmware. The DBS Manager is the consumer of this information in the WLAN 374*5113495bSYour Name * firmware. The channel list will be used when a Virtual DEVice (VDEV) needs 375*5113495bSYour Name * to migrate to a new channel without host driver involvement. An example of 376*5113495bSYour Name * this behavior is Legacy Fast Roaming (LFR 3.0). Generally, the host will 377*5113495bSYour Name * manage the channel selection without firmware involvement. 378*5113495bSYour Name * 379*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 380*5113495bSYour Name */ 381*5113495bSYour Name QDF_STATUS wmi_unified_pdev_set_pcl_cmd(wmi_unified_t wmi_handle, 382*5113495bSYour Name struct wmi_pcl_chan_weights *msg); 383*5113495bSYour Name 384*5113495bSYour Name #ifdef WLAN_POLICY_MGR_ENABLE 385*5113495bSYour Name /** 386*5113495bSYour Name * wmi_unified_pdev_set_dual_mac_config_cmd() - Set dual mac config to FW 387*5113495bSYour Name * @wmi_handle: wmi handle 388*5113495bSYour Name * @msg: Dual MAC config parameters 389*5113495bSYour Name * 390*5113495bSYour Name * Configures WLAN firmware with the dual MAC features 391*5113495bSYour Name * 392*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failures. 393*5113495bSYour Name */ 394*5113495bSYour Name QDF_STATUS wmi_unified_pdev_set_dual_mac_config_cmd( 395*5113495bSYour Name wmi_unified_t wmi_handle, 396*5113495bSYour Name struct policy_mgr_dual_mac_config *msg); 397*5113495bSYour Name #endif /* WLAN_POLICY_MGR_ENABLE */ 398*5113495bSYour Name 399*5113495bSYour Name /** 400*5113495bSYour Name * wmi_unified_send_adapt_dwelltime_params_cmd() - send wmi cmd of 401*5113495bSYour Name * adaptive dwelltime configuration params 402*5113495bSYour Name * @wmi_handle: wmi handler 403*5113495bSYour Name * @wmi_param: pointer to dwelltime_params 404*5113495bSYour Name * 405*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF failure reason code for failure 406*5113495bSYour Name */ 407*5113495bSYour Name QDF_STATUS wmi_unified_send_adapt_dwelltime_params_cmd( 408*5113495bSYour Name wmi_unified_t wmi_handle, 409*5113495bSYour Name struct wmi_adaptive_dwelltime_params *wmi_param); 410*5113495bSYour Name 411*5113495bSYour Name /** 412*5113495bSYour Name * wmi_unified_send_dbs_scan_sel_params_cmd() - send wmi cmd of 413*5113495bSYour Name * DBS scan selection configuration params 414*5113495bSYour Name * @wmi_handle: wmi handler 415*5113495bSYour Name * @wmi_param: pointer to wmi_dbs_scan_sel_params 416*5113495bSYour Name * 417*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF failure reason code for failure 418*5113495bSYour Name */ 419*5113495bSYour Name QDF_STATUS wmi_unified_send_dbs_scan_sel_params_cmd( 420*5113495bSYour Name wmi_unified_t wmi_handle, 421*5113495bSYour Name struct wmi_dbs_scan_sel_params *wmi_param); 422*5113495bSYour Name 423*5113495bSYour Name /** 424*5113495bSYour Name * wmi_unified_set_arp_stats_req() - set arp stats request 425*5113495bSYour Name * @wmi_handle: wmi handle 426*5113495bSYour Name * @req_buf: pointer to set_arp_stats 427*5113495bSYour Name * 428*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 429*5113495bSYour Name */ 430*5113495bSYour Name QDF_STATUS wmi_unified_set_arp_stats_req(wmi_unified_t wmi_handle, 431*5113495bSYour Name struct set_arp_stats *req_buf); 432*5113495bSYour Name 433*5113495bSYour Name /** 434*5113495bSYour Name * wmi_unified_get_arp_stats_req() - get arp stats request 435*5113495bSYour Name * @wmi_handle: wmi handle 436*5113495bSYour Name * @req_buf: pointer to get_arp_stats 437*5113495bSYour Name * 438*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 439*5113495bSYour Name */ 440*5113495bSYour Name QDF_STATUS wmi_unified_get_arp_stats_req(wmi_unified_t wmi_handle, 441*5113495bSYour Name struct get_arp_stats *req_buf); 442*5113495bSYour Name 443*5113495bSYour Name /** 444*5113495bSYour Name * wmi_unified_peer_unmap_conf_send() - send PEER unmap conf command to fw 445*5113495bSYour Name * @wmi_handle: wmi handle 446*5113495bSYour Name * @vdev_id: vdev id 447*5113495bSYour Name * @peer_id_cnt: number of peer id 448*5113495bSYour Name * @peer_id_list: list of peer ids 449*5113495bSYour Name * 450*5113495bSYour Name * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 451*5113495bSYour Name */ 452*5113495bSYour Name QDF_STATUS wmi_unified_peer_unmap_conf_send(wmi_unified_t wmi_handle, 453*5113495bSYour Name uint8_t vdev_id, 454*5113495bSYour Name uint32_t peer_id_cnt, 455*5113495bSYour Name uint16_t *peer_id_list); 456*5113495bSYour Name 457*5113495bSYour Name #endif /* _WMI_UNIFIED_STA_API_H_ */ 458