qcacld-3.0: Increase the range of PCL if dynamic SBS is enabled for 4 port

In dynamic SBS if 2.4 GHz is sharing mac with 5 GHz low, it can be
dynamically be moved have mac sharing with 5 GHz high.
So if one of the freq is 2.4 GHz in existing 3 connection, the
4th connection can be brought up on any 5 GHz freq (low/high) and
the 2.4 GHz vdev will be moved with other mac.
Similarly for all 3 connection be on 5 GHz and SBS, in case of the
dynamic SBS along with the low/high 5 GHz freq, 2.4 GHz freq can be
included in PCL, as 2.4 GHz can share mac with any of high/low 5 GHz.
e.g
if current concurrency is:
    => STA (2.4 GHz) + SAP (5 GHz low) on mac 0 and STA (5 GHz high)
       on mac 1 (LOW mac share with 2.4 GHz)
currently only 5 GHz high is present in PCL thus making:
    => STA (2.4 GHz) + SAP (5 GHz low) on mac 0 and STA (5 GHz high) +
       SAP (5 GHz high) on mac 1 (LOW mac shared with 2.4 GHz)
but 5 GHz low (i.e. all 5 GHz) can be provided in PCL to make it as below:
    => STA (2.4 GHz) + SAP (5 GHz high) on mac 0 and STA (5 GHz low) +
       SAP (5 GHz low) on mac 1 (HIGH mac shared with 2.4 GHz)
Also for below 5 GHz high and 2.4 GHz can be provided in PCL
    => STA (5 GHz low) + SAP (5 GHz low) on mac 0 and STA (5 GHz high)
       on mac 1
If it select 5GHz high:
    => STA (5 GHz low) + SAP (5 GHz low) on mac 0 and STA (5 GHz high) +
       SAP (5 GHz high) on mac 1
if it select 2.4 GHz:
    => STA (5 GHz high) + SAP (2 GHz) on mac 0 and STA (5 GHz low) +
       SAP (5 GHz low) on mac 1 (HIGH mac shared with 2.4 GHz)
Thus increasing the range of PCL for dynamic SBS.

Change-Id: I3fc555f137050fd49b5ce5eaf12f57f19ee9d903
CRs-Fixed: 3227280
Цей коміт міститься в:
Sheenam Monga
2022-06-23 13:07:16 +05:30
зафіксовано Madan Koyyalamudi
джерело e32465f06d
коміт cffb442e97
7 змінених файлів з 229 додано та 19 видалено

Переглянути файл

@@ -126,8 +126,8 @@ static inline const char *pcl_type_to_string(uint32_t idx)
CASE_RETURN_STRING(PM_SBS_CH_SCC_CH_5G_24G);
CASE_RETURN_STRING(PM_SCC_CH_MCC_CH_SBS_CH_24G);
CASE_RETURN_STRING(PM_SBS_CH_2G);
CASE_RETURN_STRING(PM_SCC_ON_5G_LOW_5G_LOW);
CASE_RETURN_STRING(PM_SCC_ON_5G_HIGH_5G_HIGH);
CASE_RETURN_STRING(PM_SCC_ON_5G_LOW_5G_LOW_PLUS_SHARED_2G);
CASE_RETURN_STRING(PM_SCC_ON_5G_HIGH_5G_HIGH_PLUS_SHARED_2G);
default:
return "Unknown";
}

Переглянути файл

@@ -389,10 +389,10 @@ enum policy_mgr_mac_use {
* SBS channels & rest of the 5G channels
* @PM_24G_SBS_CH_MCC_CH: 2.4 Ghz channels, SBS channels & MCC channels
* @PM_SBS_CH_2G: SBS channels & 2.4 Ghz channels
* @PM_SCC_ON_5G_LOW_5G_LOW: 5G low SCC channel followed by
* 5G frequencies < sbs cut off freq
* @PM_SCC_ON_5G_HIGH_5G_HIGH: 5G high SCC channel followed by
* frequencies > sbs cut off freq
* @PM_SCC_ON_5G_LOW_5G_LOW_PLUS_SHARED_2G: 5 GHz low SCC channel followed by
* 5 GHz low frequencies, add 2.4 GHz if its shared with 5 GHz low
* @PM_SCC_ON_5G_HIGH_5G_HIGH_PLUS_SHARED_2G: 5GHZ high SCC channel followed by
* 5 GHz high frequencies, add 2.4 GHZ if its shared with 5GHz high
*
* @PM_MAX_PCL_TYPE: Max place holder
*
@@ -434,8 +434,8 @@ enum policy_mgr_pcl_type {
PM_SBS_CH_SCC_CH_5G_24G,
PM_SCC_CH_MCC_CH_SBS_CH_24G,
PM_SBS_CH_2G,
PM_SCC_ON_5G_LOW_5G_LOW,
PM_SCC_ON_5G_HIGH_5G_HIGH,
PM_SCC_ON_5G_LOW_5G_LOW_PLUS_SHARED_2G,
PM_SCC_ON_5G_HIGH_5G_HIGH_PLUS_SHARED_2G,
PM_MAX_PCL_TYPE
};
@@ -980,6 +980,15 @@ enum policy_mgr_two_connection_mode {
* 2.4 GHZ MCC on mac0 and second STA on high 5 GHZ on mac1 doing SBS
* @PM_STA_STA_5_LOW_MCC_SAP_5_HIGH_SBS : First STA on high 5 GHZ & Second STA
* on high 5 GHZ MCC on mac0 and SAP on low 5 GHZ on mac1 doing SBS
* @PM_24_5_MCC_SCC_PLUS_5_SBS: The 2.4 GHZ vdev creating MCC/SCC with low 5 GHZ
* or high 5 GHZ (dynamic SBS) on mac 0 and one vdev on high 5 GHZ or low 5 GHZ
* freq respectively on mac 1 doing SBS
* @PM_SAP_24_STA_5_STA_5_LOW_N_HIGH_SHARE_SBS: The 2.4 GHZ SAP creating MCC/SCC
* with STA of low 5 GHZ or high 5 GHZ (dynamic SBS) on mac 0 and one STA on
* high 5 GHZ or low 5 GHZ freq respectively on mac 1 doing SBS
* @PM_STA_24_SAP_5_STA_5_LOW_N_HIGH_SHARE_SBS: The 2.4 GHZ STA creating MCC/SCC
* with SAP of low 5 GHZ or high 5 GHZ (dynamic SBS) on mac 0 and one STA on
* high 5 GHZ or low 5 GHZ freq respectively on mac 1 doing SBS
*
*/
enum policy_mgr_three_connection_mode {
@@ -1036,6 +1045,11 @@ enum policy_mgr_three_connection_mode {
PM_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS,
PM_STA_STA_5_LOW_MCC_SAP_5_HIGH_SBS =
PM_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS,
PM_24_5_PLUS_5_LOW_N_HIGH_SHARE_SBS,
PM_SAP_24_STA_5_STA_5_LOW_N_HIGH_SHARE_SBS =
PM_24_5_PLUS_5_LOW_N_HIGH_SHARE_SBS,
PM_STA_24_SAP_5_STA_5_LOW_N_HIGH_SHARE_SBS =
PM_24_5_PLUS_5_LOW_N_HIGH_SHARE_SBS,
PM_MAX_THREE_CONNECTION_MODE,
};