|
@@ -378,6 +378,34 @@ QDF_STATUS policy_mgr_psoc_close(struct wlan_objmgr_psoc *psoc)
|
|
|
return QDF_STATUS_SUCCESS;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ * policy_mgr_update_5g_scc_prefer() - Update pcl if 5g scc is preferred
|
|
|
+ * @psoc: psoc object
|
|
|
+ *
|
|
|
+ * Return: void
|
|
|
+ */
|
|
|
+static void policy_mgr_update_5g_scc_prefer(struct wlan_objmgr_psoc *psoc)
|
|
|
+{
|
|
|
+ enum policy_mgr_con_mode mode;
|
|
|
+
|
|
|
+ for (mode = PM_STA_MODE; mode < PM_MAX_NUM_OF_MODE; mode++) {
|
|
|
+ if (policy_mgr_get_5g_scc_prefer(psoc, mode)) {
|
|
|
+ (*second_connection_pcl_dbs_table)
|
|
|
+ [PM_STA_5_1x1][mode][PM_THROUGHPUT] =
|
|
|
+ PM_SCC_CH_24G;
|
|
|
+ policy_mgr_info("overwrite pm_second_connection_pcl_dbs_2x2_table, index %d mode %d system prefer %d new pcl %d",
|
|
|
+ PM_STA_5_1x1, mode,
|
|
|
+ PM_THROUGHPUT, PM_SCC_CH_24G);
|
|
|
+ (*second_connection_pcl_dbs_table)
|
|
|
+ [PM_STA_5_2x2][mode][PM_THROUGHPUT] =
|
|
|
+ PM_SCC_CH_24G;
|
|
|
+ policy_mgr_info("overwrite pm_second_connection_pcl_dbs_2x2_table, index %d mode %d system prefer %d new pcl %d",
|
|
|
+ PM_STA_5_2x2, mode,
|
|
|
+ PM_THROUGHPUT, PM_SCC_CH_24G);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
QDF_STATUS policy_mgr_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
|
|
{
|
|
|
QDF_STATUS status;
|
|
@@ -446,12 +474,14 @@ QDF_STATUS policy_mgr_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
|
|
if (policy_mgr_is_hw_dbs_2x2_capable(psoc) ||
|
|
|
policy_mgr_is_hw_dbs_required_for_band(psoc,
|
|
|
HW_MODE_MAC_BAND_2G) ||
|
|
|
- policy_mgr_is_2x2_1x1_dbs_capable(psoc))
|
|
|
+ policy_mgr_is_2x2_1x1_dbs_capable(psoc)) {
|
|
|
second_connection_pcl_dbs_table =
|
|
|
&pm_second_connection_pcl_dbs_2x2_table;
|
|
|
- else
|
|
|
+ policy_mgr_update_5g_scc_prefer(psoc);
|
|
|
+ } else {
|
|
|
second_connection_pcl_dbs_table =
|
|
|
&pm_second_connection_pcl_dbs_1x1_table;
|
|
|
+ }
|
|
|
|
|
|
if (policy_mgr_is_hw_dbs_2x2_capable(psoc) ||
|
|
|
policy_mgr_is_hw_dbs_required_for_band(psoc,
|