Преглед на файлове

qcacmn: Send additional interface combinations to fw

As part of set feature set command, update STA_P2P,
STA_SAP, STA_NAN, STA_TDLS, STA_SAP_P2P, STA_SAP_NAN,
STA_P2P_NAN, STA_P2P_TDLS, STA_SAP_TDLS, STA_NAN_TDLS,
STA_SAP_P2P_TDLS, STA_SAP_NAN_TDLS, STA_P2P_P2P_TDLS,
STA_P2P_NAN_TDLS iface combinations to fw.

Change-Id: I360ee80778ce4a7a89341374ab3e861890507ef2
CRs-Fixed: 3674698
Asutosh Mohapatra преди 1 година
родител
ревизия
56e6df6383
променени са 2 файла, в които са добавени 50 реда и са изтрити 3 реда
  1. 2 2
      wmi/inc/wmi_unified_param.h
  2. 48 1
      wmi/src/wmi_unified_tlv.c

+ 2 - 2
wmi/inc/wmi_unified_param.h

@@ -6692,7 +6692,6 @@ typedef enum {
  * @enable_tdls_offchannel: Enable tdls offchannel
  * @enable_tdls_capability_enhance: Enable tdls capability enhance
  * @max_tdls_peers: Max tdls peers
- * @sta_dual_p2p_support: Indicates sta+p2p+p2p support
  * @peer_bigdata_getbssinfo_support: Indicates bigdata getbssinfo support
  * @peer_bigdata_assocreject_info_support: Indicates bigdata assoc reject
  *                                         info support
@@ -6700,6 +6699,7 @@ typedef enum {
  * @feature_set_version: Indicates feature set version info
  * @num_antennas: Indicates number of antennas supported
  * @sta_dump_support: Indicates sta dump info support
+ * @iface_combinations: Iface combination bit map
  */
 struct target_feature_set {
 	WMI_HOST_WIFI_STANDARD wifi_standard;
@@ -6753,13 +6753,13 @@ struct target_feature_set {
 	bool enable_tdls_offchannel;
 	bool enable_tdls_capability_enhance;
 	uint8_t max_tdls_peers;
-	bool sta_dual_p2p_support;
 	bool peer_bigdata_getbssinfo_support;
 	bool peer_bigdata_assocreject_info_support;
 	bool peer_getstainfo_support;
 	uint16_t feature_set_version;
 	WMI_HOST_NUM_ANTENNAS num_antennas;
 	bool sta_dump_support;
+	uint32_t iface_combinations;
 };
 #endif
 

+ 48 - 1
wmi/src/wmi_unified_tlv.c

@@ -68,6 +68,10 @@
 #include <wmi_unified_vdev_tlv.h>
 #include <wmi_unified_11be_tlv.h>
 
+#ifdef FEATURE_SET
+#include "wlan_mlme_public_struct.h"
+#endif
+
 /*
  * If FW supports WMI_SERVICE_SCAN_CONFIG_PER_CHANNEL,
  * then channel_list may fill the upper 12 bits with channel flags,
@@ -10191,7 +10195,50 @@ static inline void copy_feature_set_info(uint32_t *feature_set_bitmap,
 	WMI_SET_MAX_TDLS_PEERS_SUPPORT(feature_set_bitmap,
 				       feature_set->max_tdls_peers);
 	WMI_SET_STA_DUAL_P2P_SUPPORT(feature_set_bitmap,
-				     feature_set->sta_dual_p2p_support);
+				     (feature_set->iface_combinations &
+				      MLME_IFACE_STA_DUAL_P2P_SUPPORT) > 0);
+	WMI_SET_STA_P2P_SUPPORT(feature_set_bitmap,
+				(feature_set->iface_combinations &
+				 MLME_IFACE_STA_P2P_SUPPORT) > 0);
+	WMI_SET_STA_SAP_SUPPORT(feature_set_bitmap,
+				(feature_set->iface_combinations &
+				 MLME_IFACE_STA_SAP_SUPPORT) > 0);
+	WMI_SET_STA_NAN_SUPPORT(feature_set_bitmap,
+				(feature_set->iface_combinations &
+				 MLME_IFACE_STA_NAN_SUPPORT) > 0);
+	WMI_SET_STA_TDLS_SUPPORT(feature_set_bitmap,
+				 (feature_set->iface_combinations &
+				  MLME_IFACE_STA_TDLS_SUPPORT) > 0);
+	WMI_SET_STA_SAP_P2P_SUPPORT(feature_set_bitmap,
+				    (feature_set->iface_combinations &
+				     MLME_IFACE_STA_SAP_P2P_SUPPORT) > 0);
+	WMI_SET_STA_SAP_NAN_SUPPORT(feature_set_bitmap,
+				    (feature_set->iface_combinations &
+				     MLME_IFACE_STA_SAP_NAN_SUPPORT) > 0);
+	WMI_SET_STA_P2P_NAN_SUPPORT(feature_set_bitmap,
+				    (feature_set->iface_combinations &
+				     MLME_IFACE_STA_P2P_NAN_SUPPORT) > 0);
+	WMI_SET_STA_P2P_TDLS_SUPPORT(feature_set_bitmap,
+				     (feature_set->iface_combinations &
+				      MLME_IFACE_STA_P2P_TDLS_SUPPORT) > 0);
+	WMI_SET_STA_SAP_TDLS_SUPPORT(feature_set_bitmap,
+				     (feature_set->iface_combinations &
+				      MLME_IFACE_STA_SAP_TDLS_SUPPORT) > 0);
+	WMI_SET_STA_NAN_TDLS_SUPPORT(feature_set_bitmap,
+				     (feature_set->iface_combinations &
+				      MLME_IFACE_STA_NAN_TDLS_SUPPORT) > 0);
+	WMI_SET_STA_SAP_P2P_TDLS_SUPPORT(feature_set_bitmap,
+				(feature_set->iface_combinations &
+				 MLME_IFACE_STA_SAP_P2P_TDLS_SUPPORT) > 0);
+	WMI_SET_STA_SAP_NAN_TDLS_SUPPORT(feature_set_bitmap,
+				(feature_set->iface_combinations &
+				 MLME_IFACE_STA_SAP_NAN_TDLS_SUPPORT) > 0);
+	WMI_SET_STA_P2P_P2P_TDLS_SUPPORT(feature_set_bitmap,
+				(feature_set->iface_combinations &
+				 MLME_IFACE_STA_P2P_P2P_TDLS_SUPPORT) > 0);
+	WMI_SET_STA_P2P_NAN_TDLS_SUPPORT(feature_set_bitmap,
+				(feature_set->iface_combinations &
+				 MLME_IFACE_STA_P2P_NAN_TDLS_SUPPORT) > 0);
 	WMI_SET_PEER_BIGDATA_GETBSSINFO_API_SUPPORT(
 				feature_set_bitmap,
 				feature_set->peer_bigdata_getbssinfo_support);