qcacld-3.0: Extend force 1x1 ini
Currently the driver checks whether the device supports antenna sharing, and if the AP is added in the OUI framework, then the driver modifies the nss value to 1 to avoid sending SMPS to the peer AP. Now suppose the device does not support Antenna sharing, but supports DBS and is helium HW, then going to DBS HW mode would result in peer sending a SMPS frame to the peer as the helium HW only has two antennas, and one is needed by each MAC now. Fix is to add a third param in force 1x1 ini which would decide the driver should consider the antenna sharing as mandatory or not. Change-Id: I3ae00fcbd642c7780952d66ccbf1208335fcb077 CRs-Fixed: 2496831
This commit is contained in:

committed by
nshrivas

parent
58c241c551
commit
7665a50dab
@@ -415,11 +415,15 @@ CFG_INI_UINT("g_sta_sap_scc_on_dfs_chan", 0, 2, 0, CFG_VALUE_OR_DEFAULT, \
|
||||
* <ini>
|
||||
* gForce1x1Exception - force 1x1 when connecting to certain peer
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
* @Max: 2
|
||||
* @Default: 2
|
||||
*
|
||||
* This INI when enabled will force 1x1 connection with certain peer.
|
||||
*
|
||||
* The implementation for this ini would be as follows:-
|
||||
* Value 0: Even if the AP is present in OUI, 1x1 will not be forced
|
||||
* Value 1: If antenna sharing supported, then only do 1x1.
|
||||
* Value 2: If AP present in OUI, force 1x1 connection.
|
||||
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
@@ -431,7 +435,7 @@ CFG_INI_UINT("g_sta_sap_scc_on_dfs_chan", 0, 2, 0, CFG_VALUE_OR_DEFAULT, \
|
||||
*/
|
||||
|
||||
#define CFG_FORCE_1X1_FEATURE \
|
||||
CFG_INI_UINT("gForce1x1Exception", 0, 1, 1, CFG_VALUE_OR_DEFAULT, \
|
||||
CFG_INI_UINT("gForce1x1Exception", 0, 1, 2, CFG_VALUE_OR_DEFAULT, \
|
||||
"force 1x1 when connecting to certain peer")
|
||||
|
||||
/*
|
||||
|
@@ -138,6 +138,18 @@ enum hw_mode_mac_band_cap {
|
||||
HW_MODE_MAC_BAND_5G = WLAN_5G_CAPABILITY,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum force_1x1_type - enum to specify the type of forced 1x1 ini provided.
|
||||
* @FORCE_1X1_DISABLED: even if the AP is present in OUI, 1x1 will not be forced
|
||||
* @FORCE_1X1_ENABLED_FOR_AS: If antenna sharing supported, then only do 1x1.
|
||||
* @FORCE_1X1_ENABLED_FORCED: If AP present in OUI, force 1x1 connection.
|
||||
*/
|
||||
enum force_1x1_type {
|
||||
FORCE_1X1_DISABLED,
|
||||
FORCE_1X1_ENABLED_FOR_AS,
|
||||
FORCE_1X1_ENABLED_FORCED,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum policy_mgr_pcl_group_id - Identifies the pcl groups to be used
|
||||
* @POLICY_MGR_PCL_GROUP_ID1_ID2: Use weights of group1 and group2
|
||||
|
@@ -256,7 +256,7 @@ struct policy_mgr_cfg {
|
||||
uint8_t allow_mcc_go_diff_bi;
|
||||
uint8_t enable_overlap_chnl;
|
||||
uint8_t dual_mac_feature;
|
||||
uint8_t is_force_1x1_enable;
|
||||
enum force_1x1_type is_force_1x1_enable;
|
||||
uint8_t sta_sap_scc_on_dfs_chnl;
|
||||
uint8_t sta_sap_scc_on_lte_coex_chnl;
|
||||
uint8_t nan_sap_scc_on_lte_coex_chnl;
|
||||
|
Reference in New Issue
Block a user