qcacld-3.0: Add pcl table for 4 SAP concurrency on MDM

To support 4 SAP concurrency on sdxlemur, they must work with mode
SAP+SAP(2g/SCC) & SAP+SAP(5g/SCC) or SAP+SAP(2g/SCC) & SAP+SAP(6g/SCC).

Add separate fourth_connection_pcl_dbs_table for mobile route devices,
adding 4 SAP cases, and modify policy manager to get pcl index when 4th
SAP being started.

Change-Id: I919fa6fa0bbacbe1be0d22ed2ffc9e322b6343e9
CRs-Fixed: 3092568
This commit is contained in:
Will Huang
2021-12-13 16:59:38 +08:00
committed by Madan Koyyalamudi
parent 15cf4246e1
commit d3e968a754
3 changed files with 42 additions and 0 deletions

View File

@@ -846,6 +846,8 @@ enum policy_mgr_two_connection_mode {
* 5ghz DBS
* @PM_NDI_NDI_5_NAN_DISC_24_DBS: Both NDI on 5ghz and NAN Disc on 2.4Ghz DBS
* @PM_NDI_NDI_NAN_DISC_24_SMM: Both NDI, NAN Disc on 2.4ghz SMM
* @PM_SAP_SAP_SCC_24_SAP_5_DBS: Both SAP on 2.4Ghz and another SAP on 5Ghz DBS
* @PM_SAP_SAP_SCC_5_SAP_24_DBS: Both SAP on 5Ghz and another SAP on 2.4Ghz DBS
*/
enum policy_mgr_three_connection_mode {
PM_STA_SAP_SCC_24_SAP_5_DBS,
@@ -862,6 +864,8 @@ enum policy_mgr_three_connection_mode {
PM_NAN_DISC_NDI_24_NDI_5_DBS,
PM_NDI_NDI_5_NAN_DISC_24_DBS,
PM_NDI_NDI_NAN_DISC_24_SMM,
PM_SAP_SAP_SCC_24_SAP_5_DBS,
PM_SAP_SAP_SCC_5_SAP_24_DBS,
PM_MAX_THREE_CONNECTION_MODE
};

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2012-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -2021,6 +2022,32 @@ enum policy_mgr_three_connection_mode
pm_conc_connection_list[list_ndi[0]].freq)) {
index = PM_NDI_NDI_NAN_DISC_24_SMM;
}
} else if (count_sap == 3) {
if (WLAN_REG_IS_SAME_BAND_FREQS(
pm_conc_connection_list[list_sap[0]].freq,
pm_conc_connection_list[list_sap[1]].freq)) {
if (WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[list_sap[2]].freq))
index = PM_SAP_SAP_SCC_5_SAP_24_DBS;
else
index = PM_SAP_SAP_SCC_24_SAP_5_DBS;
} else if (WLAN_REG_IS_SAME_BAND_FREQS(
pm_conc_connection_list[list_sap[0]].freq,
pm_conc_connection_list[list_sap[2]].freq)) {
if (WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[list_sap[1]].freq))
index = PM_SAP_SAP_SCC_5_SAP_24_DBS;
else
index = PM_SAP_SAP_SCC_24_SAP_5_DBS;
} else if (WLAN_REG_IS_SAME_BAND_FREQS(
pm_conc_connection_list[list_sap[1]].freq,
pm_conc_connection_list[list_sap[2]].freq)) {
if (WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[list_sap[0]].freq))
index = PM_SAP_SAP_SCC_5_SAP_24_DBS;
else
index = PM_SAP_SAP_SCC_24_SAP_5_DBS;
}
}
policy_mgr_debug(

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2012-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -1932,6 +1933,16 @@ fourth_connection_pcl_dbs_table
[PM_SAP_NDI_SCC_5_NAN_DISC_24_DBS] = {
[PM_SAP_MODE] = { PM_24G, PM_24G, PM_24G } }
};
#elif defined(MDM_PLATFORM)
const enum policy_mgr_pcl_type
fourth_connection_pcl_dbs_table
[PM_MAX_THREE_CONNECTION_MODE][PM_MAX_NUM_OF_MODE]
[PM_MAX_CONC_PRIORITY_MODE] = {
[PM_SAP_SAP_SCC_24_SAP_5_DBS] = {
[PM_SAP_MODE] = { PM_5G, PM_5G, PM_5G } },
[PM_SAP_SAP_SCC_5_SAP_24_DBS] = {
[PM_SAP_MODE] = { PM_24G, PM_24G, PM_24G } }
};
#else
/**
* fourth_connection_pcl_dbs_table - table which provides PCL for