qcacld-3.0: Add DBS-SBS PCL table

DBS-SBS table will support 2G+5/6G DBS mode
and 2/5G+5/6G SBS mode.

Change-Id: Ia8c2a69caed771fa66a148c98ce1234ebb76689d
CRs-Fixed: 2998488
这个提交包含在:
Liangwei Dong
2021-07-12 13:48:07 +08:00
提交者 Madan Koyyalamudi
父节点 a4cae63ec6
当前提交 e45a8446a5
修改 3 个文件,包含 1834 行新增37 行删除

查看文件

@@ -348,7 +348,12 @@ enum policy_mgr_pcl_type {
PM_24G_SCC_CH_SBS_CH,
PM_24G_SCC_CH_SBS_CH_5G,
PM_24G_SBS_CH_MCC_CH,
/* New PCL type for DBS-SBS HW */
PM_SBS_CH_24G_SCC_CH,
PM_SBS_CH_SCC_CH_24G,
PM_SCC_CH_SBS_CH_24G,
PM_SBS_CH_SCC_CH_5G_24G,
PM_SCC_CH_MCC_CH_SBS_CH_24G,
PM_MAX_PCL_TYPE
};
@@ -650,6 +655,7 @@ enum policy_mgr_two_connection_mode {
PM_STA_SAP_DBS_1x1,
PM_STA_SAP_DBS_2x2,
PM_STA_SAP_SBS_5_1x1,
PM_STA_SAP_SBS_5_2x2 = PM_STA_SAP_SBS_5_1x1,
PM_STA_P2P_GO_SCC_24_1x1,
PM_STA_P2P_GO_SCC_24_2x2,
PM_STA_P2P_GO_MCC_24_1x1,
@@ -663,6 +669,7 @@ enum policy_mgr_two_connection_mode {
PM_STA_P2P_GO_DBS_1x1,
PM_STA_P2P_GO_DBS_2x2,
PM_STA_P2P_GO_SBS_5_1x1,
PM_STA_P2P_GO_SBS_5_2x2 = PM_STA_P2P_GO_SBS_5_1x1,
PM_STA_P2P_CLI_SCC_24_1x1,
PM_STA_P2P_CLI_SCC_24_2x2,
PM_STA_P2P_CLI_MCC_24_1x1,
@@ -676,6 +683,7 @@ enum policy_mgr_two_connection_mode {
PM_STA_P2P_CLI_DBS_1x1,
PM_STA_P2P_CLI_DBS_2x2,
PM_STA_P2P_CLI_SBS_5_1x1,
PM_STA_P2P_CLI_SBS_5_2x2 = PM_STA_P2P_CLI_SBS_5_1x1,
PM_P2P_GO_P2P_CLI_SCC_24_1x1,
PM_P2P_GO_P2P_CLI_SCC_24_2x2,
PM_P2P_GO_P2P_CLI_MCC_24_1x1,
@@ -689,6 +697,7 @@ enum policy_mgr_two_connection_mode {
PM_P2P_GO_P2P_CLI_DBS_1x1,
PM_P2P_GO_P2P_CLI_DBS_2x2,
PM_P2P_GO_P2P_CLI_SBS_5_1x1,
PM_P2P_GO_P2P_CLI_SBS_5_2x2 = PM_P2P_GO_P2P_CLI_SBS_5_1x1,
PM_P2P_GO_SAP_SCC_24_1x1,
PM_P2P_GO_SAP_SCC_24_2x2,
PM_P2P_GO_SAP_MCC_24_1x1,
@@ -702,6 +711,7 @@ enum policy_mgr_two_connection_mode {
PM_P2P_GO_SAP_DBS_1x1,
PM_P2P_GO_SAP_DBS_2x2,
PM_P2P_GO_SAP_SBS_5_1x1,
PM_P2P_GO_SAP_SBS_5_2x2 = PM_P2P_GO_SAP_SBS_5_1x1,
PM_P2P_CLI_SAP_SCC_24_1x1,
PM_P2P_CLI_SAP_SCC_24_2x2,
PM_P2P_CLI_SAP_MCC_24_1x1,
@@ -715,6 +725,7 @@ enum policy_mgr_two_connection_mode {
PM_P2P_CLI_SAP_DBS_1x1,
PM_P2P_CLI_SAP_DBS_2x2,
PM_P2P_CLI_SAP_SBS_5_1x1,
PM_P2P_CLI_SAP_SBS_5_2x2 = PM_P2P_CLI_SAP_SBS_5_1x1,
PM_SAP_SAP_SCC_24_1x1,
PM_SAP_SAP_SCC_24_2x2,
PM_SAP_SAP_MCC_24_1x1,
@@ -728,6 +739,7 @@ enum policy_mgr_two_connection_mode {
PM_SAP_SAP_DBS_1x1,
PM_SAP_SAP_DBS_2x2,
PM_SAP_SAP_SBS_5_1x1,
PM_SAP_SAP_SBS_5_2x2 = PM_SAP_SAP_SBS_5_1x1,
PM_SAP_NAN_DISC_SCC_24_1x1,
PM_SAP_NAN_DISC_SCC_24_2x2,
PM_SAP_NAN_DISC_MCC_24_1x1,
@@ -747,6 +759,7 @@ enum policy_mgr_two_connection_mode {
PM_STA_STA_DBS_1x1,
PM_STA_STA_DBS_2x2,
PM_STA_STA_SBS_5_1x1,
PM_STA_STA_SBS_5_2x2 = PM_STA_STA_SBS_5_1x1,
PM_STA_NAN_DISC_SCC_24_1x1,
PM_STA_NAN_DISC_SCC_24_2x2,
PM_STA_NAN_DISC_MCC_24_1x1,
@@ -772,6 +785,7 @@ enum policy_mgr_two_connection_mode {
PM_P2P_GO_P2P_GO_DBS_1x1,
PM_P2P_GO_P2P_GO_DBS_2x2,
PM_P2P_GO_P2P_GO_SBS_5_1x1,
PM_P2P_GO_P2P_GO_SBS_5_2x2 = PM_P2P_GO_P2P_GO_SBS_5_1x1,
PM_MAX_TWO_CONNECTION_MODE
};

查看文件

@@ -1183,9 +1183,9 @@ static enum policy_mgr_two_connection_mode
index = PM_P2P_CLI_SAP_MCC_24_1x1;
else
index = PM_P2P_CLI_SAP_MCC_24_2x2;
} else if ((WLAN_REG_IS_5GHZ_CH_FREQ(
} else if (!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[0].freq)) &&
(WLAN_REG_IS_5GHZ_CH_FREQ(
!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[1].freq))) {
if (POLICY_MGR_ONE_ONE ==
pm_conc_connection_list[0].chain_mask)
@@ -1203,13 +1203,15 @@ static enum policy_mgr_two_connection_mode
} else if (pm_conc_connection_list[0].mac !=
pm_conc_connection_list[1].mac) {
/* SBS */
if ((WLAN_REG_IS_5GHZ_CH_FREQ(
if (!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[0].freq)) &&
(WLAN_REG_IS_5GHZ_CH_FREQ(
!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[1].freq))) {
if (POLICY_MGR_ONE_ONE ==
pm_conc_connection_list[0].chain_mask)
index = PM_P2P_CLI_SAP_SBS_5_1x1;
else
index = PM_P2P_CLI_SAP_SBS_5_2x2;
} else {
/* DBS */
if (POLICY_MGR_ONE_ONE ==
@@ -1255,9 +1257,9 @@ static enum policy_mgr_two_connection_mode
index = PM_STA_SAP_MCC_24_1x1;
else
index = PM_STA_SAP_MCC_24_2x2;
} else if (WLAN_REG_IS_5GHZ_CH_FREQ(
} else if (!WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[0].freq) &&
WLAN_REG_IS_5GHZ_CH_FREQ(
!WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[1].freq)) {
if (POLICY_MGR_ONE_ONE ==
pm_conc_connection_list[0].chain_mask)
@@ -1275,13 +1277,15 @@ static enum policy_mgr_two_connection_mode
} else if (pm_conc_connection_list[0].mac !=
pm_conc_connection_list[1].mac) {
/* SBS */
if ((WLAN_REG_IS_5GHZ_CH_FREQ(
if (!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[0].freq)) &&
(WLAN_REG_IS_5GHZ_CH_FREQ(
!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[1].freq))) {
if (POLICY_MGR_ONE_ONE ==
pm_conc_connection_list[0].chain_mask)
index = PM_STA_SAP_SBS_5_1x1;
else
index = PM_STA_SAP_SBS_5_2x2;
} else {
/* DBS */
if (POLICY_MGR_ONE_ONE ==
@@ -1327,9 +1331,9 @@ static enum policy_mgr_two_connection_mode
index = PM_SAP_SAP_MCC_24_1x1;
else
index = PM_SAP_SAP_MCC_24_2x2;
} else if (WLAN_REG_IS_5GHZ_CH_FREQ(
} else if (!WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[0].freq) &&
WLAN_REG_IS_5GHZ_CH_FREQ(
!WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[1].freq)) {
if (POLICY_MGR_ONE_ONE ==
pm_conc_connection_list[0].chain_mask)
@@ -1347,13 +1351,15 @@ static enum policy_mgr_two_connection_mode
} else if (pm_conc_connection_list[0].mac !=
pm_conc_connection_list[1].mac) {
/* SBS */
if (WLAN_REG_IS_5GHZ_CH_FREQ(
if (!WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[0].freq) &&
WLAN_REG_IS_5GHZ_CH_FREQ(
!WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[1].freq)) {
if (POLICY_MGR_ONE_ONE ==
pm_conc_connection_list[0].chain_mask)
index = PM_SAP_SAP_SBS_5_1x1;
else
index = PM_SAP_SAP_SBS_5_2x2;
} else {
/* DBS */
if (POLICY_MGR_ONE_ONE ==
@@ -1399,9 +1405,9 @@ static enum policy_mgr_two_connection_mode
index = PM_STA_P2P_GO_MCC_24_1x1;
else
index = PM_STA_P2P_GO_MCC_24_2x2;
} else if (WLAN_REG_IS_5GHZ_CH_FREQ(
} else if (!WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[0].freq) &&
WLAN_REG_IS_5GHZ_CH_FREQ(
!WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[1].freq)) {
if (POLICY_MGR_ONE_ONE ==
pm_conc_connection_list[0].chain_mask)
@@ -1419,13 +1425,15 @@ static enum policy_mgr_two_connection_mode
} else if (pm_conc_connection_list[0].mac !=
pm_conc_connection_list[1].mac) {
/* SBS */
if ((WLAN_REG_IS_5GHZ_CH_FREQ(
if (!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[0].freq)) &&
(WLAN_REG_IS_5GHZ_CH_FREQ(
!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[1].freq))) {
if (POLICY_MGR_ONE_ONE ==
pm_conc_connection_list[0].chain_mask)
index = PM_STA_P2P_GO_SBS_5_1x1;
else
index = PM_STA_P2P_GO_SBS_5_2x2;
} else {
/* DBS */
if (POLICY_MGR_ONE_ONE ==
@@ -1471,9 +1479,9 @@ static enum policy_mgr_two_connection_mode
index = PM_STA_P2P_CLI_MCC_24_1x1;
else
index = PM_STA_P2P_CLI_MCC_24_2x2;
} else if ((WLAN_REG_IS_5GHZ_CH_FREQ(
} else if (!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[0].freq)) &&
(WLAN_REG_IS_5GHZ_CH_FREQ(
!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[1].freq))) {
if (POLICY_MGR_ONE_ONE ==
pm_conc_connection_list[0].chain_mask)
@@ -1491,13 +1499,15 @@ static enum policy_mgr_two_connection_mode
} else if (pm_conc_connection_list[0].mac !=
pm_conc_connection_list[1].mac) {
/* SBS */
if ((WLAN_REG_IS_5GHZ_CH_FREQ(
if (!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[0].freq)) &&
(WLAN_REG_IS_5GHZ_CH_FREQ(
!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[1].freq))) {
if (POLICY_MGR_ONE_ONE ==
pm_conc_connection_list[0].chain_mask)
index = PM_STA_P2P_CLI_SBS_5_1x1;
else
index = PM_STA_P2P_CLI_SBS_5_2x2;
} else {
/* DBS */
if (POLICY_MGR_ONE_ONE ==
@@ -1543,9 +1553,9 @@ static enum policy_mgr_two_connection_mode
index = PM_P2P_GO_P2P_CLI_MCC_24_1x1;
else
index = PM_P2P_GO_P2P_CLI_MCC_24_2x2;
} else if ((WLAN_REG_IS_5GHZ_CH_FREQ(
} else if (!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[0].freq)) &&
(WLAN_REG_IS_5GHZ_CH_FREQ(
!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[1].freq))) {
if (POLICY_MGR_ONE_ONE ==
pm_conc_connection_list[0].chain_mask)
@@ -1563,13 +1573,15 @@ static enum policy_mgr_two_connection_mode
} else if (pm_conc_connection_list[0].mac !=
pm_conc_connection_list[1].mac) {
/* SBS */
if ((WLAN_REG_IS_5GHZ_CH_FREQ(
if (!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[0].freq)) &&
(WLAN_REG_IS_5GHZ_CH_FREQ(
!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[1].freq))) {
if (POLICY_MGR_ONE_ONE ==
pm_conc_connection_list[0].chain_mask)
index = PM_P2P_GO_P2P_CLI_SBS_5_1x1;
else
index = PM_P2P_GO_P2P_CLI_SBS_5_2x2;
} else {
/* DBS */
if (POLICY_MGR_ONE_ONE ==
@@ -1615,9 +1627,9 @@ static enum policy_mgr_two_connection_mode
index = PM_P2P_GO_SAP_MCC_24_1x1;
else
index = PM_P2P_GO_SAP_MCC_24_2x2;
} else if ((WLAN_REG_IS_5GHZ_CH_FREQ(
} else if (!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[0].freq)) &&
(WLAN_REG_IS_5GHZ_CH_FREQ(
!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[1].freq))) {
if (POLICY_MGR_ONE_ONE ==
pm_conc_connection_list[0].chain_mask)
@@ -1635,13 +1647,15 @@ static enum policy_mgr_two_connection_mode
} else if (pm_conc_connection_list[0].mac !=
pm_conc_connection_list[1].mac) {
/* SBS */
if ((WLAN_REG_IS_5GHZ_CH_FREQ(
if (!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[0].freq)) &&
(WLAN_REG_IS_5GHZ_CH_FREQ(
!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[1].freq))) {
if (POLICY_MGR_ONE_ONE ==
pm_conc_connection_list[0].chain_mask)
index = PM_P2P_GO_SAP_SBS_5_1x1;
else
index = PM_P2P_GO_SAP_SBS_5_2x2;
} else {
/* DBS */
if (POLICY_MGR_ONE_ONE ==
@@ -1687,9 +1701,9 @@ static enum policy_mgr_two_connection_mode
index = PM_STA_STA_MCC_24_1x1;
else
index = PM_STA_STA_MCC_24_2x2;
} else if (WLAN_REG_IS_5GHZ_CH_FREQ(
} else if (!WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[0].freq) &&
WLAN_REG_IS_5GHZ_CH_FREQ(
!WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[1].freq)) {
if (POLICY_MGR_ONE_ONE ==
pm_conc_connection_list[0].chain_mask)
@@ -1707,13 +1721,15 @@ static enum policy_mgr_two_connection_mode
} else if (pm_conc_connection_list[0].mac !=
pm_conc_connection_list[1].mac) {
/* SBS */
if ((WLAN_REG_IS_5GHZ_CH_FREQ(
if (!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[0].freq)) &&
(WLAN_REG_IS_5GHZ_CH_FREQ(
!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[1].freq))) {
if (POLICY_MGR_ONE_ONE ==
pm_conc_connection_list[0].chain_mask)
index = PM_STA_STA_SBS_5_1x1;
else
index = PM_STA_STA_SBS_5_2x2;
} else {
/* DBS */
if (POLICY_MGR_ONE_ONE ==
@@ -1759,9 +1775,9 @@ static enum policy_mgr_two_connection_mode
index = PM_P2P_GO_P2P_GO_MCC_24_1x1;
else
index = PM_P2P_GO_P2P_GO_MCC_24_2x2;
} else if ((WLAN_REG_IS_5GHZ_CH_FREQ(
} else if (!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[0].freq)) &&
(WLAN_REG_IS_5GHZ_CH_FREQ(
!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[1].freq))) {
if (POLICY_MGR_ONE_ONE ==
pm_conc_connection_list[0].chain_mask)
@@ -1779,13 +1795,15 @@ static enum policy_mgr_two_connection_mode
} else if (pm_conc_connection_list[0].mac !=
pm_conc_connection_list[1].mac) {
/* SBS */
if ((WLAN_REG_IS_5GHZ_CH_FREQ(
if (!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[0].freq)) &&
(WLAN_REG_IS_5GHZ_CH_FREQ(
!(WLAN_REG_IS_24GHZ_CH_FREQ(
pm_conc_connection_list[1].freq))) {
if (POLICY_MGR_ONE_ONE ==
pm_conc_connection_list[0].chain_mask)
index = PM_P2P_GO_P2P_GO_SBS_5_1x1;
else
index = PM_P2P_GO_P2P_GO_SBS_5_2x2;
} else {
/* DBS */
if (POLICY_MGR_ONE_ONE ==