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
This commit is contained in:
Asutosh Mohapatra
2023-12-04 03:51:24 -08:00
committed by Ravindra Konda
parent b0ca707783
commit 56e6df6383
2 changed files with 50 additions and 3 deletions

View File

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

View File

@@ -68,6 +68,10 @@
#include <wmi_unified_vdev_tlv.h> #include <wmi_unified_vdev_tlv.h>
#include <wmi_unified_11be_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, * If FW supports WMI_SERVICE_SCAN_CONFIG_PER_CHANNEL,
* then channel_list may fill the upper 12 bits with channel flags, * 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, WMI_SET_MAX_TDLS_PEERS_SUPPORT(feature_set_bitmap,
feature_set->max_tdls_peers); feature_set->max_tdls_peers);
WMI_SET_STA_DUAL_P2P_SUPPORT(feature_set_bitmap, 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( WMI_SET_PEER_BIGDATA_GETBSSINFO_API_SUPPORT(
feature_set_bitmap, feature_set_bitmap,
feature_set->peer_bigdata_getbssinfo_support); feature_set->peer_bigdata_getbssinfo_support);