qcacld-3.0: Support for CLI+SAP in the PCL tables for third connection

Add support for CLI+SAP combination in the PCL tables which will be
used before deciding the PCL for the third connection that is going to
come up.

CRs-Fixed: 932277
Change-Id: I87e0d6306a40129931268d869b09c5bf763fab95
This commit is contained in:
Chandrasekaran, Manishekar 2015-10-29 18:45:24 +05:30 committed by Prakash Dhavali
parent b3d8b5ba88
commit 123d863c0c
2 changed files with 338 additions and 0 deletions

View File

@ -300,6 +300,28 @@ enum cds_one_connection_mode {
* MCC using 2x2@5 Ghz
* @CDS_P2P_GO_SAP_DBS_1x1: P2P GO & SAP connection on DBS using
* 1x1
* @CDS_P2P_CLI_SAP_SCC_24_1x1: CLI & SAP connection on SCC using
* 1x1@2.4 Ghz
* @CDS_P2P_CLI_SAP_SCC_24_2x2: CLI & SAP connection on SCC using
* 2x2@2.4 Ghz
* @CDS_P2P_CLI_SAP_MCC_24_1x1: CLI & SAP connection on MCC using
* 1x1@2.4 Ghz
* @CDS_P2P_CLI_SAP_MCC_24_2x2: CLI & SAP connection on MCC using
* 2x2@2.4 Ghz
* @CDS_P2P_CLI_SAP_SCC_5_1x1: CLI & SAP connection on SCC using
* 1x1@5 Ghz
* @CDS_P2P_CLI_SAP_SCC_5_2x2: CLI & SAP connection on SCC using
* 2x2@5 Ghz
* @CDS_P2P_CLI_SAP_MCC_5_1x1: CLI & SAP connection on MCC using
* 1x1@5 Ghz
* @CDS_P2P_CLI_SAP_MCC_5_2x2: CLI & SAP connection on MCC using
* 2x2@5 Ghz
* @CDS_P2P_STA_SAP_MCC_24_5_1x1: CLI and SAP connecting on MCC
* in 2.4 and 5GHz 1x1
* @CDS_P2P_STA_SAP_MCC_24_5_2x2: CLI and SAP connecting on MCC
in 2.4 and 5GHz 2x2
* @CDS_P2P_CLI_SAP_DBS_1x1,: CLI & SAP connection on DBS using 1x1
* @CDS_MAX_TWO_CONNECTION_MODE: Max place holder
*
* These are generic IDs that identify the various roles
@ -361,6 +383,17 @@ enum cds_two_connection_mode {
CDS_P2P_GO_SAP_MCC_24_5_1x1,
CDS_P2P_GO_SAP_MCC_24_5_2x2,
CDS_P2P_GO_SAP_DBS_1x1,
CDS_P2P_CLI_SAP_SCC_24_1x1,
CDS_P2P_CLI_SAP_SCC_24_2x2,
CDS_P2P_CLI_SAP_MCC_24_1x1,
CDS_P2P_CLI_SAP_MCC_24_2x2,
CDS_P2P_CLI_SAP_SCC_5_1x1,
CDS_P2P_CLI_SAP_SCC_5_2x2,
CDS_P2P_CLI_SAP_MCC_5_1x1,
CDS_P2P_CLI_SAP_MCC_5_2x2,
CDS_P2P_CLI_SAP_MCC_24_5_1x1,
CDS_P2P_CLI_SAP_MCC_24_5_2x2,
CDS_P2P_CLI_SAP_DBS_1x1,
CDS_MAX_TWO_CONNECTION_MODE
};

View File

@ -1032,6 +1032,131 @@ third_connection_pcl_dbs_table[CDS_MAX_TWO_CONNECTION_MODE]
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
#endif
[CDS_P2P_CLI_SAP_SCC_24_1x1] = {
[CDS_STA_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_SCC_24_2x2] = {
[CDS_STA_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_MCC_24_1x1] = {
[CDS_STA_MODE] = {CDS_5G_MCC_CH, CDS_5G, CDS_5G_MCC_CH},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_MCC_24_2x2] = {
[CDS_STA_MODE] = {CDS_5G_MCC_CH, CDS_5G, CDS_5G_MCC_CH},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_SCC_5_1x1] = {
[CDS_STA_MODE] = {CDS_SCC_CH_24G, CDS_24G_SCC_CH, CDS_SCC_CH_24G},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_SCC_5_2x2] = {
[CDS_STA_MODE] = {CDS_SCC_CH_24G, CDS_24G_SCC_CH, CDS_SCC_CH_24G},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_MCC_5_1x1] = {
[CDS_STA_MODE] = {CDS_MCC_CH_24G, CDS_24G, CDS_24G},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_MCC_5_2x2] = {
[CDS_STA_MODE] = {CDS_MCC_CH_24G, CDS_24G, CDS_24G},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_MCC_24_5_1x1] = {
[CDS_STA_MODE] = {CDS_MCC_CH_5G, CDS_5G, CDS_5G},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_MCC_24_5_2x2] = {
[CDS_STA_MODE] = {CDS_MCC_CH_5G, CDS_5G, CDS_5G},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
#ifndef QCA_WIFI_3_0_EMU
[CDS_P2P_CLI_SAP_DBS_1x1] = {
[CDS_STA_MODE] = {
CDS_SCC_ON_5_SCC_ON_24_5G, CDS_NONE, CDS_SCC_ON_5_SCC_ON_24},
[CDS_SAP_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
#else
[CDS_P2P_CLI_SAP_DBS_1x1] = {
[CDS_STA_MODE] = {
CDS_SCC_ON_5_SCC_ON_24, CDS_NONE, CDS_SCC_ON_5_SCC_ON_24},
[CDS_SAP_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
#endif
};
/**
@ -1553,6 +1678,120 @@ third_connection_pcl_nodbs_table[CDS_MAX_TWO_CONNECTION_MODE]
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_SCC_24_1x1] = {
[CDS_STA_MODE] = {CDS_5G, CDS_SCC_CH, CDS_SCC_CH},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_SCC_24_2x2] = {
[CDS_STA_MODE] = {CDS_5G, CDS_SCC_CH, CDS_SCC_CH},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_MCC_24_1x1] = {
[CDS_STA_MODE] = {CDS_5G_MCC_CH, CDS_MCC_CH, CDS_MCC_CH},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_MCC_24_2x2] = {
[CDS_STA_MODE] = {CDS_5G_MCC_CH, CDS_MCC_CH, CDS_MCC_CH},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_SCC_5_1x1] = {
[CDS_STA_MODE] = {CDS_SCC_CH, CDS_SCC_CH, CDS_SCC_CH},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_SCC_5_2x2] = {
[CDS_STA_MODE] = {CDS_SCC_CH, CDS_SCC_CH, CDS_SCC_CH},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_MCC_5_1x1] = {
[CDS_STA_MODE] = {CDS_MCC_CH, CDS_MCC_CH, CDS_MCC_CH},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_MCC_5_2x2] = {
[CDS_STA_MODE] = {CDS_MCC_CH, CDS_MCC_CH, CDS_MCC_CH},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_MCC_24_5_1x1] = {
[CDS_STA_MODE] = {CDS_MCC_CH, CDS_MCC_CH, CDS_MCC_CH},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_MCC_24_5_2x2] = {
[CDS_STA_MODE] = {CDS_MCC_CH, CDS_MCC_CH, CDS_MCC_CH},
[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
[CDS_P2P_CLI_SAP_DBS_1x1] = {
[CDS_STA_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_SAP_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_CLIENT_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_P2P_GO_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
[CDS_IBSS_MODE] = {
CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
};
/**
@ -1655,6 +1894,18 @@ next_action_three_connection_table[CDS_MAX_TWO_CONNECTION_MODE]
[CDS_P2P_GO_SAP_MCC_24_5_2x2] = {
CDS_DBS_DOWNGRADE, CDS_DBS_DOWNGRADE},
[CDS_P2P_GO_SAP_DBS_1x1] = {CDS_NOP, CDS_NOP},
[CDS_P2P_CLI_SAP_SCC_24_1x1] = {CDS_NOP, CDS_DBS},
[CDS_P2P_CLI_SAP_SCC_24_2x2] = {CDS_NOP, CDS_DBS_DOWNGRADE},
[CDS_P2P_CLI_SAP_MCC_24_1x1] = {CDS_NOP, CDS_DBS},
[CDS_P2P_CLI_SAP_MCC_24_2x2] = {CDS_NOP, CDS_DBS_DOWNGRADE},
[CDS_P2P_CLI_SAP_SCC_5_1x1] = {CDS_DBS, CDS_NOP},
[CDS_P2P_CLI_SAP_SCC_5_2x2] = {CDS_DBS_DOWNGRADE, CDS_NOP},
[CDS_P2P_CLI_SAP_MCC_5_1x1] = {CDS_DBS, CDS_NOP},
[CDS_P2P_CLI_SAP_MCC_5_2x2] = {CDS_DBS_DOWNGRADE, CDS_NOP},
[CDS_P2P_CLI_SAP_MCC_24_5_1x1] = {CDS_DBS, CDS_DBS},
[CDS_P2P_CLI_SAP_MCC_24_5_2x2] = {CDS_DBS_DOWNGRADE, CDS_DBS_DOWNGRADE},
[CDS_P2P_CLI_SAP_DBS_1x1] = {CDS_NOP, CDS_NOP},
};
/**
@ -4622,6 +4873,60 @@ enum cds_two_connection_mode cds_get_third_connection_pcl_table_index(
{
enum cds_one_connection_mode index = CDS_MAX_TWO_CONNECTION_MODE;
/* P2P Client + SAP */
if (((CDS_P2P_CLIENT_MODE == conc_connection_list[0].mode) &&
(CDS_SAP_MODE == conc_connection_list[1].mode)) ||
((CDS_SAP_MODE == conc_connection_list[0].mode) &&
(CDS_P2P_CLIENT_MODE == conc_connection_list[1].mode))) {
/* SCC */
if (conc_connection_list[0].chan ==
conc_connection_list[1].chan) {
if (CDS_IS_CHANNEL_24GHZ(
conc_connection_list[0].chan)) {
if (CDS_ONE_ONE ==
conc_connection_list[0].chain_mask)
index = CDS_P2P_CLI_SAP_SCC_24_1x1;
else
index = CDS_P2P_CLI_SAP_SCC_24_2x2;
} else {
if (CDS_ONE_ONE ==
conc_connection_list[0].chain_mask)
index = CDS_P2P_CLI_SAP_SCC_5_1x1;
else
index = CDS_P2P_CLI_SAP_SCC_5_2x2;
}
/* MCC */
} else if (conc_connection_list[0].mac ==
conc_connection_list[1].mac) {
if ((CDS_IS_CHANNEL_24GHZ
(conc_connection_list[0].chan)) &&
(CDS_IS_CHANNEL_24GHZ
(conc_connection_list[1].chan))) {
if (CDS_ONE_ONE ==
conc_connection_list[0].chain_mask)
index = CDS_P2P_CLI_SAP_MCC_24_1x1;
else
index = CDS_P2P_CLI_SAP_MCC_24_2x2;
} else if ((CDS_IS_CHANNEL_5GHZ(
conc_connection_list[0].chan)) &&
(CDS_IS_CHANNEL_5GHZ(
conc_connection_list[1].chan))) {
if (CDS_ONE_ONE ==
conc_connection_list[0].chain_mask)
index = CDS_P2P_CLI_SAP_MCC_5_1x1;
else
index = CDS_P2P_CLI_SAP_MCC_5_2x2;
} else {
if (CDS_ONE_ONE ==
conc_connection_list[0].chain_mask)
index = CDS_P2P_CLI_SAP_MCC_24_5_1x1;
else
index = CDS_P2P_CLI_SAP_MCC_24_5_2x2;
}
/* DBS */
} else
index = CDS_P2P_CLI_SAP_DBS_1x1;
} else
/* STA + SAP */
if (((CDS_STA_MODE == conc_connection_list[0].mode) &&
(CDS_SAP_MODE == conc_connection_list[1].mode)) ||