Bläddra i källkod

qcacmn: Add support for manual ulofdma trigger

1. Enable sending of SU/MU manual ulofdma trigger config to target
2. Enable processing of manual ulofdma trigger feedback event from target

Change-Id: Iba99137f87230222ad5896cd25df49ce8d2cf0de
CRs-Fixed: 3412905
Narayan Subramhanyan 2 år sedan
förälder
incheckning
52ee3a44b1
3 ändrade filer med 30 tillägg och 0 borttagningar
  1. 6 0
      wmi/inc/wmi_unified_param.h
  2. 16 0
      wmi/inc/wmi_unified_priv.h
  3. 8 0
      wmi/src/wmi_unified_tlv.c

+ 6 - 0
wmi/inc/wmi_unified_param.h

@@ -5252,6 +5252,9 @@ typedef enum {
 	wmi_xgap_enable_complete_eventid,
 #endif
 	wmi_pdev_set_tgtr2p_table_eventid,
+#ifdef QCA_MANUAL_TRIGGERED_ULOFDMA
+	wmi_manual_ul_ofdma_trig_feedback_eventid,
+#endif
 	wmi_events_max,
 } wmi_conv_event_id;
 
@@ -6285,6 +6288,9 @@ typedef enum {
 	wmi_service_multiple_vdev_restart_bmap,
 	wmi_service_v1a_v1b_supported,
 	wmi_service_cfr_capture_pdev_id_soc,
+#ifdef QCA_MANUAL_TRIGGERED_ULOFDMA
+	wmi_service_manual_ulofdma_trigger_support,
+#endif
 	wmi_services_max,
 } wmi_conv_service_ids;
 #define WMI_SERVICE_UNAVAILABLE 0xFFFF

+ 16 - 0
wmi/inc/wmi_unified_priv.h

@@ -1535,6 +1535,14 @@ QDF_STATUS (*extract_chan_info_event)(wmi_unified_t wmi_handle, void *evt_buf,
 QDF_STATUS (*extract_scan_blanking_params)(wmi_unified_t wmi_handle,
 	    void *evt_buf, wmi_host_scan_blanking_params *blanking_params);
 
+#ifdef QCA_MANUAL_TRIGGERED_ULOFDMA
+QDF_STATUS
+(*extract_ulofdma_trigger_feedback_event)(
+		wmi_unified_t wmi_handle,
+		void *evt_buf,
+		wmi_host_manual_ul_ofdma_trig_feedback_evt *feedback);
+#endif
+
 QDF_STATUS (*extract_channel_hopping_event)(wmi_unified_t wmi_handle,
 		void *evt_buf,
 		wmi_host_pdev_channel_hopping_event *ch_hopping);
@@ -2963,6 +2971,14 @@ QDF_STATUS (*config_peer_latency_info_cmd)(
 				*param);
 #endif
 #endif
+#ifdef QCA_MANUAL_TRIGGERED_ULOFDMA
+QDF_STATUS
+(*trigger_ulofdma_su_cmd)(wmi_unified_t wmi,
+			  struct wmi_trigger_ul_ofdma_su_params *param);
+QDF_STATUS
+(*trigger_ulofdma_mu_cmd)(wmi_unified_t wmi,
+			  struct wmi_trigger_ul_ofdma_mu_params *param);
+#endif
 
 QDF_STATUS (*send_set_tpc_power_cmd)(wmi_unified_t wmi_handle,
 				     uint8_t vdev_id,

+ 8 - 0
wmi/src/wmi_unified_tlv.c

@@ -21436,6 +21436,10 @@ static void populate_tlv_events_id(WMI_EVT_ID *event_ids)
 #endif
 	event_ids[wmi_pdev_set_tgtr2p_table_eventid] =
 		WMI_PDEV_SET_TGTR2P_TABLE_EVENTID;
+#ifdef QCA_MANUAL_TRIGGERED_ULOFDMA
+	event_ids[wmi_manual_ul_ofdma_trig_feedback_eventid] =
+		WMI_MANUAL_UL_OFDMA_TRIG_FEEDBACK_EVENTID;
+#endif
 }
 
 #ifdef WLAN_FEATURE_LINK_LAYER_STATS
@@ -21977,6 +21981,10 @@ static void populate_tlv_service(uint32_t *wmi_service)
 			WMI_SERVICE_WMI_SERVICE_WPA3_SHA384_ROAM_SUPPORT;
 	wmi_service[wmi_service_v1a_v1b_supported] =
 			WMI_SERVICE_PEER_METADATA_V1A_V1B_SUPPORT;
+#ifdef QCA_MANUAL_TRIGGERED_ULOFDMA
+	wmi_service[wmi_service_manual_ulofdma_trigger_support] =
+			WMI_SERVICE_MANUAL_ULOFDMA_TRIGGER_SUPPORT;
+#endif
 }
 
 /**