Преглед изворни кода

qcacmn: Add WMI for estimated airtime calculation

Add support for sending WMI command to firmware
to measure estimated airtime that a new client
will get and populate the result that firmware
returns in the ESP IE.

Change-Id: Ic5fcb11100ecd0597ba02dfa5512e2f4ff3558c9
CRs-Fixed: 2261469
Anirban Sirkhell пре 7 година
родитељ
комит
08c0193177
3 измењених фајлова са 20 додато и 1 уклоњено
  1. 4 0
      wmi_unified_api.h
  2. 12 1
      wmi_unified_param.h
  3. 4 0
      wmi_unified_priv.h

+ 4 - 0
wmi_unified_api.h

@@ -1588,6 +1588,10 @@ QDF_STATUS wmi_extract_mumimo_tx_count_ev_param(void *wmi_hdl, void *evt_buf,
 QDF_STATUS wmi_extract_peer_gid_userpos_list_ev_param(void *wmi_hdl,
 		void *evt_buf, wmi_host_peer_gid_userpos_list_event *param);
 
+QDF_STATUS
+wmi_extract_esp_estimate_ev_param(void *wmi_hdl, void *evt_buf,
+				  struct esp_estimation_event *param);
+
 QDF_STATUS wmi_extract_pdev_caldata_version_check_ev_param(void *wmi_hdl,
 		void *evt_buf, wmi_host_pdev_check_cal_version_event *param);
 

+ 12 - 1
wmi_unified_param.h

@@ -5535,6 +5535,7 @@ typedef enum {
 	wmi_debug_fatal_condition_eventid,
 #endif /* OL_ATH_SMART_LOGGING */
 	wmi_wlan_sar2_result_event_id,
+	wmi_esp_estimate_event_id,
 	wmi_events_max,
 } wmi_conv_event_id;
 
@@ -5678,7 +5679,7 @@ typedef enum {
 	wmi_pdev_param_tx_ack_timeout,
 	wmi_pdev_param_soft_tx_chain_mask,
 	wmi_pdev_param_cck_tx_enable,
-
+	wmi_pdev_param_esp_indication_period,
 	wmi_pdev_param_max,
 } wmi_conv_pdev_params_id;
 
@@ -7738,6 +7739,16 @@ struct sar_limit_event {
 			sar_limit_row[MAX_SAR_LIMIT_ROWS_SUPPORTED];
 };
 
+/**
+ * struct esp_estimation_event - esp airtime estimation event
+ * @ac_airtime_percentage: Estimated Airtime
+ * @pdev_id: PDEV_ID of Data
+ */
+struct esp_estimation_event {
+	uint32_t ac_airtime_percentage;
+	uint32_t pdev_id;
+};
+
 /*
  * struct wmi_peer_gid_userpos_list_event
  * @usr_list - User list

+ 4 - 0
wmi_unified_priv.h

@@ -1216,6 +1216,10 @@ QDF_STATUS (*extract_mumimo_tx_count_ev_param)(wmi_unified_t wmi_handle,
 QDF_STATUS (*extract_peer_gid_userpos_list_ev_param)(wmi_unified_t wmi_handle,
 	void *evt_buf, wmi_host_peer_gid_userpos_list_event *param);
 
+QDF_STATUS
+(*extract_esp_estimation_ev_param)(wmi_unified_t wmi_handle, void *evt_buf,
+				   struct esp_estimation_event *param);
+
 QDF_STATUS (*extract_pdev_caldata_version_check_ev_param)(
 	wmi_unified_t wmi_handle,
 	void *evt_buf, wmi_host_pdev_check_cal_version_event *param);