Răsfoiți Sursa

qcacmn: Add WMI API to send beacon offload control

Beacon offload control WMI command is used to control beacon tx in
beacon offload enabled mode. Add WMI API to send this command to FW.

Change-Id: I8b340b69ff508aaf80b9a80de044b0189b947a66
CRs-Fixed: 2140255
Kiran Venkatappa 7 ani în urmă
părinte
comite
f9b1de34f9
3 a modificat fișierele cu 25 adăugiri și 0 ștergeri
  1. 10 0
      wmi_unified_api.h
  2. 12 0
      wmi_unified_param.h
  3. 3 0
      wmi_unified_priv.h

+ 10 - 0
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_ */

+ 12 - 0
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_ */

+ 3 - 0
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);