diff --git a/wmi_unified_api.h b/wmi_unified_api.h index de7fe13a5d..bfb388ae83 100644 --- a/wmi_unified_api.h +++ b/wmi_unified_api.h @@ -1622,4 +1622,14 @@ QDF_STATUS wmi_unified_set_arp_stats_req(void *wmi_hdl, struct set_arp_stats *req_buf); QDF_STATUS wmi_unified_get_arp_stats_req(void *wmi_hdl, struct get_arp_stats *req_buf); + +/** + * wmi_send_bcn_offload_control_cmd - send beacon ofload control cmd to fw + * @wmi_hdl: wmi handle + * @bcn_ctrl_param: pointer to bcn_offload_control param + * + * Return: QDF_STATUS_SUCCESS for success or error code + */ +QDF_STATUS wmi_send_bcn_offload_control_cmd(void *wmi_hdl, + struct bcn_offload_control *bcn_ctrl_param); #endif /* _WMI_UNIFIED_API_H_ */ diff --git a/wmi_unified_param.h b/wmi_unified_param.h index a3ed6861ac..29761a82cd 100644 --- a/wmi_unified_param.h +++ b/wmi_unified_param.h @@ -5848,6 +5848,7 @@ typedef enum { wmi_service_extended_nss_support, wmi_service_ack_timeout, wmi_service_widebw_scan, + wmi_service_bcn_offload_start_stop_support, wmi_services_max, } wmi_conv_service_ids; @@ -7951,4 +7952,15 @@ struct wmi_host_ready_ev_param { uint32_t num_total_peer; bool agile_capability; }; + +/** + * struct bcn_offload_control - Beacon offload control params + * @vdev_id: vdev identifer of VAP to control beacon tx + * @bcn_tx_enable: Enable or Disable beacon TX in offload mode + */ +struct bcn_offload_control { + uint32_t vdev_id; + bool bcn_tx_enable; +}; + #endif /* _WMI_UNIFIED_PARAM_H_ */ diff --git a/wmi_unified_priv.h b/wmi_unified_priv.h index 0adf7a3810..229c13a259 100644 --- a/wmi_unified_priv.h +++ b/wmi_unified_priv.h @@ -1071,6 +1071,9 @@ QDF_STATUS (*send_coex_config_cmd)(wmi_unified_t wmi_handle, struct coex_config_params *param); +QDF_STATUS (*send_bcn_offload_control_cmd)(wmi_unified_t wmi_handle, + struct bcn_offload_control *bcn_ctrl_param); + QDF_STATUS (*extract_wds_addr_event)(wmi_unified_t wmi_handle, void *evt_buf, uint16_t len, wds_addr_event_t *wds_ev);