diff --git a/wmi_unified_api.h b/wmi_unified_api.h index 9aa0c512b2..f41feac19f 100644 --- a/wmi_unified_api.h +++ b/wmi_unified_api.h @@ -1888,6 +1888,7 @@ QDF_STATUS wmi_extract_ndp_end_ind(wmi_unified_t wmi_handle, uint8_t *data, struct nan_datapath_end_indication_event **ind); #endif + /** * wmi_unified_send_btm_config() - Send BTM config to fw * @wmi_hdl: wmi handle @@ -1929,4 +1930,37 @@ QDF_STATUS wmi_unified_extract_obss_detection_info(void *wmi_hdl, struct wmi_obss_detect_info *info); +#ifdef WLAN_SUPPORT_FILS +/** + * wmi_unified_fils_vdev_config_send_cmd() - send FILS config cmd to fw + * @wmi_hdl: wmi handle + * @param: fils config params + * + * Return: QDF_STATUS_SUCCESS for success or error code + */ +QDF_STATUS +wmi_unified_fils_vdev_config_send_cmd(void *wmi_hdl, + struct config_fils_params *param); + +/** + * wmi_extract_swfda_vdev_id() - api to extract vdev id + * @wmi_hdl: wmi handle + * @evt_buf: pointer to event buffer + * @vdev_id: pointer to vdev id + * + * Return: QDF_STATUS_SUCCESS for success or error code + */ +QDF_STATUS wmi_extract_swfda_vdev_id(void *wmi_hdl, void *evt_buf, + uint32_t *vdev_id); + +/** + * wmi_unified_fils_discovery_send_cmd() - send FILS discovery cmd to fw + * @wmi_hdl: wmi handle + * @param: fils discovery params + * + * Return: QDF_STATUS_SUCCESS for success or error code + */ +QDF_STATUS wmi_unified_fils_discovery_send_cmd(void *wmi_hdl, + struct fd_params *param); +#endif /* WLAN_SUPPORT_FILS */ #endif /* _WMI_UNIFIED_API_H_ */ diff --git a/wmi_unified_param.h b/wmi_unified_param.h index a84d9e95ce..844792e80b 100644 --- a/wmi_unified_param.h +++ b/wmi_unified_param.h @@ -1028,6 +1028,18 @@ struct beacon_params { bool is_high_latency; }; +/** + * struct fd_params - FD cmd parameter + * @vdev_id: vdev id + * @wbuf: FD buffer + * @frame_ctrl: frame control field + */ +struct fd_params { + uint8_t vdev_id; + qdf_nbuf_t wbuf; + uint16_t frame_ctrl; +}; + /** * struct bcn_prb_template_params - beacon probe template parameter * @vdev_id: vdev id @@ -3926,6 +3938,16 @@ struct config_ratemask_params { uint32_t higher32; }; +/** + * struct config_fils_params - FILS config params + * @vdev_id: vdev id + * @fd_period: 0 - Disabled, non-zero - Period in ms (mili seconds) + */ +struct config_fils_params { + uint8_t vdev_id; + uint32_t fd_period; +}; + /** * struct peer_add_wds_entry_params - WDS peer entry add params * @dest_addr: Pointer to destination macaddr @@ -5641,6 +5663,7 @@ typedef enum { wmi_report_stats_event_id, wmi_dma_buf_release_event_id, wmi_sap_obss_detection_report_event_id, + wmi_host_swfda_event_id, wmi_events_max, } wmi_conv_event_id; diff --git a/wmi_unified_priv.h b/wmi_unified_priv.h index 5f426c7b87..2136123d00 100644 --- a/wmi_unified_priv.h +++ b/wmi_unified_priv.h @@ -1490,7 +1490,6 @@ QDF_STATUS (*extract_ndp_end_rsp)(wmi_unified_t wmi_handle, uint8_t *data, struct nan_datapath_end_rsp_event **rsp); QDF_STATUS (*extract_ndp_end_ind)(wmi_unified_t wmi_handle, uint8_t *data, struct nan_datapath_end_indication_event **ind); - #endif QDF_STATUS (*send_btm_config)(wmi_unified_t wmi_handle, struct wmi_btm_config *params); @@ -1498,6 +1497,15 @@ QDF_STATUS (*send_obss_detection_cfg_cmd)(wmi_unified_t wmi_handle, struct wmi_obss_detection_cfg_param *obss_cfg_param); QDF_STATUS (*extract_obss_detection_info)(uint8_t *evt_buf, struct wmi_obss_detect_info *info); + +#ifdef WLAN_SUPPORT_FILS +QDF_STATUS (*send_vdev_fils_enable_cmd)(wmi_unified_t wmi_handle, + struct config_fils_params *param); +QDF_STATUS (*extract_swfda_vdev_id)(wmi_unified_t wmi_handle, void *evt_buf, + uint32_t *vdev_id); +QDF_STATUS (*send_fils_discovery_send_cmd)(wmi_unified_t wmi_handle, + struct fd_params *param); +#endif /* WLAN_SUPPORT_FILS */ }; /* Forward declartion for psoc*/