Browse Source

qcacld-3.0: Add handling for four port connection

Add support to handle 2 sap and 1 ml sta link.
Currently, get pcl fails for fourth connection when
2 sap link and 1 ml sta link is present due to which
fourth connection is not allowed as pcl len is becoming 0.

Fix is to add handling for fourth connection when existing
concurrency is P2P/SAP + P2P+SAP + 1 ML STA link.

Change-Id: Ief969018da14096f758fea4bd06d17e7e8d039b7
CRs-Fixed: 3219328
Sheenam Monga 2 years ago
parent
commit
8076b56e37

+ 1 - 1
components/cmn_services/interface_mgr/src/wlan_if_mgr_roam.c

@@ -814,7 +814,7 @@ QDF_STATUS if_mgr_validate_candidate(struct wlan_objmgr_vdev *vdev,
 	 * disabled in peer assoc.
 	 */
 	if (!wlan_vdev_mlme_is_mlo_link_vdev(vdev) &&
-	    !policy_mgr_allow_concurrency(psoc, mode, chan_freq,
+	    !policy_mgr_is_concurrency_allowed(psoc, mode, chan_freq,
 					  HW_MODE_20_MHZ, conc_ext_flags)) {
 		ifmgr_info("Concurrency not allowed for this channel freq %d bssid "QDF_MAC_ADDR_FMT", selecting next",
 			   chan_freq,

+ 25 - 22
components/cmn_services/policy_mgr/inc/wlan_policy_mgr_public_struct.h

@@ -908,12 +908,14 @@ enum policy_mgr_two_connection_mode {
  *
  * @PM_STA_SAP_SCC_24_SAP_5_DBS: STA & SAP connection on 2.4 Ghz SCC, another
  * SAP on 5 G
- * @PM_STA_SAP_SCC_5_SAP_24_DBS: STA & SAP connection on 5 Ghz SCC, another
- * SAP on 2.4 G
  * @PM_STA_SAP_24_STA_5_DBS: STA & SAP connection on 2.4 Ghz SCC/MCC, another
  * STA on 5G
- * @PM_STA_STA_24_SAP_5_DBS: STA & STA connection on 2.4 GHZ SCC/MCC,
- * SAP on 5 GHZ
+ * @PM_24_SCC_MCC_PLUS_5_DBS: ANY 2 link on 2.4 GHZ mac and one link on 5 GHZ
+ * doing DBS
+ * @PM_5_SCC_MCC_PLUS_24_DBS: ANY 2 link on 5 GHZ mac and one link on 2.4 GHZ
+ * doing DBS
+ * @PM_STA_SAP_SCC_5_SAP_24_DBS: STA & SAP connection on 5 Ghz SCC, another
+ * SAP on 2.4 G
  * @PM_STA_SAP_5_STA_24_DBS: STA & SAP connection on 5 Ghz SCC/MCC, another
  * STA on 2.4 G
  * @PM_STA_STA_5_SAP_24_DBS: STA & STA connection on 5 GHZ SCC/MCC,
@@ -954,7 +956,7 @@ enum policy_mgr_two_connection_mode {
  * and second STA on 5Ghz SMM
  * @PM_NAN_DISC_24_STA_24_STA_5_DBS: NAN Disc on 2.4Ghz and first STA on 2.4Ghz
  * and second STA on 5Ghz DBS
- * @PM_STA_STA_SAP_MCC_SCC_5G_HIGH_PLUS_5_LOW_SBS: ANY 2 link on 5 GHZ high mac
+ * @PM_MCC_SCC_5G_HIGH_PLUS_5_LOW_SBS: ANY 2 link on 5 GHZ high mac
  * and one link on 5 GHZ low doing SBS
  * @PM_STA_24_SAP_5_HIGH_MCC_STA_5_LOW_SBS : First STA on 2.4 GHZ & SAP on high
  * 5 GHZ MCC on mac 0 and second STA on low 5 GHZ on mac1 doing SBS
@@ -966,7 +968,7 @@ enum policy_mgr_two_connection_mode {
  * 2.4 GHZ MCC on mac0 and second STA on low 5 GHZ on mac1 doing SBS
  * @PM_STA_STA_5_HIGH_MCC_SAP_5_LOW_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_STA_STA_SAP_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS: Any 2 link on low 5 GHZ mac
+ * @PM_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS: Any 2 link on low 5 GHZ mac
  * and one link on high 5 GHZ freq doing SBS
  * @PM_STA_24_SAP_5_LOW_MCC_STA_5_HIGH_SBS : First STA on 2.4 GHZ & SAP on low
  * 5 GHZ MCC on mac 0 and second STA on high 5 GHZ on mac1 doing SBS
@@ -982,11 +984,12 @@ enum policy_mgr_two_connection_mode {
  */
 enum policy_mgr_three_connection_mode {
 	PM_STA_SAP_SCC_24_SAP_5_DBS,
-	PM_STA_SAP_SCC_5_SAP_24_DBS,
 	PM_STA_SAP_24_STA_5_DBS,
-	PM_STA_STA_24_SAP_5_DBS = PM_STA_SAP_24_STA_5_DBS,
-	PM_STA_SAP_5_STA_24_DBS,
-	PM_STA_STA_5_SAP_24_DBS = PM_STA_SAP_5_STA_24_DBS,
+	PM_24_SCC_MCC_PLUS_5_DBS,
+	PM_5_SCC_MCC_PLUS_24_DBS,
+	PM_STA_SAP_SCC_5_SAP_24_DBS = PM_5_SCC_MCC_PLUS_24_DBS,
+	PM_STA_SAP_5_STA_24_DBS = PM_5_SCC_MCC_PLUS_24_DBS,
+	PM_STA_STA_5_SAP_24_DBS = PM_5_SCC_MCC_PLUS_24_DBS,
 	PM_NAN_DISC_SAP_SCC_24_NDI_5_DBS,
 	PM_NAN_DISC_NDI_SCC_24_SAP_5_DBS,
 	PM_SAP_NDI_SCC_5_NAN_DISC_24_DBS,
@@ -1011,28 +1014,28 @@ enum policy_mgr_three_connection_mode {
 	PM_NAN_DISC_24_STA_5_STA_24_DBS,
 	PM_NAN_DISC_24_STA_24_STA_5_SMM,
 	PM_NAN_DISC_24_STA_24_STA_5_DBS,
-	PM_STA_STA_SAP_MCC_SCC_5G_HIGH_PLUS_5_LOW_SBS,
+	PM_MCC_SCC_5G_HIGH_PLUS_5_LOW_SBS,
 	PM_STA_24_SAP_5_HIGH_MCC_STA_5_LOW_SBS =
-		PM_STA_STA_SAP_MCC_SCC_5G_HIGH_PLUS_5_LOW_SBS,
+		PM_MCC_SCC_5G_HIGH_PLUS_5_LOW_SBS,
 	PM_STA_24_STA_5_HIGH_MCC_SAP_5_LOW_SBS =
-		PM_STA_STA_SAP_MCC_SCC_5G_HIGH_PLUS_5_LOW_SBS,
+		PM_MCC_SCC_5G_HIGH_PLUS_5_LOW_SBS,
 	PM_STA_SAP_5_HIGH_STA_5_LOW_SBS =
-		PM_STA_STA_SAP_MCC_SCC_5G_HIGH_PLUS_5_LOW_SBS,
+		PM_MCC_SCC_5G_HIGH_PLUS_5_LOW_SBS,
 	PM_STA_5_HIGH_SAP_24_MCC_STA_5_LOW_SBS =
-		PM_STA_STA_SAP_MCC_SCC_5G_HIGH_PLUS_5_LOW_SBS,
+		PM_MCC_SCC_5G_HIGH_PLUS_5_LOW_SBS,
 	PM_STA_STA_5_HIGH_MCC_SAP_5_LOW_SBS =
-		PM_STA_STA_SAP_MCC_SCC_5G_HIGH_PLUS_5_LOW_SBS,
-	PM_STA_STA_SAP_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS,
+		PM_MCC_SCC_5G_HIGH_PLUS_5_LOW_SBS,
+	PM_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS,
 	PM_STA_24_SAP_5_LOW_MCC_STA_5_HIGH_SBS =
-		PM_STA_STA_SAP_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS,
+		PM_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS,
 	PM_STA_24_STA_5_LOW_MCC_SAP_5_HIGH_SBS =
-		PM_STA_STA_SAP_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS,
+		PM_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS,
 	PM_STA_SAP_5_LOW_STA_5_HIGH_SBS =
-		PM_STA_STA_SAP_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS,
+		PM_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS,
 	PM_STA_5_LOW_SAP_24_MCC_STA_5_HIGH_SBS =
-		PM_STA_STA_SAP_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS,
+		PM_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS,
 	PM_STA_STA_5_LOW_MCC_SAP_5_HIGH_SBS =
-		PM_STA_STA_SAP_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS,
+		PM_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS,
 
 	PM_MAX_THREE_CONNECTION_MODE,
 };

+ 10 - 11
components/cmn_services/policy_mgr/src/wlan_policy_mgr_get_set_utils.c

@@ -3300,10 +3300,10 @@ policy_mgr_ml_link_vdev_need_to_be_disabled(struct wlan_objmgr_psoc *psoc,
 	 * For non-assoc link vdev set link as disabled if concurency is
 	 * not allowed
 	 */
-	return !policy_mgr_allow_concurrency(psoc, PM_STA_MODE,
-					     wlan_get_operation_chan_freq(vdev),
-					     HW_MODE_20_MHZ,
-					     conc_ext_flags.value);
+	return !policy_mgr_is_concurrency_allowed(psoc, PM_STA_MODE,
+					wlan_get_operation_chan_freq(vdev),
+					HW_MODE_20_MHZ,
+					conc_ext_flags.value);
 }
 
 static void
@@ -4129,7 +4129,7 @@ static bool policy_mgr_is_concurrency_allowed_4_port(
 					struct policy_mgr_pcl_list pcl)
 {
 	uint32_t i;
-	struct policy_mgr_psoc_priv_obj *pm_ctx;
+	struct policy_mgr_psoc_priv_obj *pm_ctx = NULL;
 	uint8_t sap_cnt, go_cnt;
 
 	/* new STA may just have ssid, no channel until bssid assigned */
@@ -4148,11 +4148,11 @@ static bool policy_mgr_is_concurrency_allowed_4_port(
 			return false;
 		}
 
-		if (policy_mgr_get_mcc_to_scc_switch_mode(psoc) !=
-		    QDF_MCC_TO_SCC_SWITCH_FORCE_WITHOUT_DISCONNECTION) {
+		if (!policy_mgr_is_force_scc(psoc)) {
 			policy_mgr_err("couldn't start 4th port for bad force scc cfg");
 			return false;
 		}
+
 		if (!policy_mgr_is_dbs_enable(psoc) ||
 		    !pm_ctx->cfg.sta_sap_scc_on_dfs_chnl  ||
 		    !pm_ctx->cfg.sta_sap_scc_on_lte_coex_chnl) {
@@ -4160,7 +4160,6 @@ static bool policy_mgr_is_concurrency_allowed_4_port(
 				"Couldn't start 4th port for bad cfg of dual mac, dfs scc, lte coex scc");
 			return false;
 		}
-
 		for (i = 0; i < pcl.pcl_len; i++)
 			if (ch_freq == pcl.pcl_list[i])
 				return true;
@@ -5085,9 +5084,9 @@ policy_mgr_sta_ml_link_enable_allowed(struct wlan_objmgr_psoc *psoc,
 	conc_ext_flags.value = policy_mgr_get_conc_ext_flags(vdev, false);
 	wlan_objmgr_vdev_release_ref(vdev, WLAN_POLICY_MGR_ID);
 
-	return policy_mgr_allow_concurrency(psoc, PM_STA_MODE,
-					    disabled_link_freq, HW_MODE_20_MHZ,
-					    conc_ext_flags.value);
+	return policy_mgr_is_concurrency_allowed(psoc, PM_STA_MODE,
+					disabled_link_freq, HW_MODE_20_MHZ,
+					conc_ext_flags.value);
 }
 
 /*

+ 190 - 1
components/cmn_services/policy_mgr/src/wlan_policy_mgr_pcl.c

@@ -2400,6 +2400,183 @@ policy_mgr_get_index_for_ml_sta_sap(
 						sta_freq_list, ml_sta_idx);
 }
 
+/**
+ * policy_mgr_get_index_for_3_given_freq_dbs() - Find the index for next
+ * connection for given 3 freq in DBS mode
+ * @pm_ctx: policy manager context
+ * @index: Index to return for next connection
+ * @freq1: freq of interface 1
+ * @freq2: freq of interface 2
+ * @freq3: freq of interface 3
+ *
+ * This function finds the index for next connection for 3 freq in DBS mode.
+ *
+ * Return: none
+ */
+static void
+policy_mgr_get_index_for_3_given_freq_dbs(
+	struct policy_mgr_psoc_priv_obj *pm_ctx,
+	enum policy_mgr_three_connection_mode *index,
+	qdf_freq_t freq1, qdf_freq_t freq2, qdf_freq_t freq3)
+{
+	/* If all freq are on same band */
+	if ((WLAN_REG_IS_24GHZ_CH_FREQ(freq1) ==
+	     WLAN_REG_IS_24GHZ_CH_FREQ(freq2) &&
+	    (WLAN_REG_IS_24GHZ_CH_FREQ(freq2) ==
+	     WLAN_REG_IS_24GHZ_CH_FREQ(freq3)))) {
+		policy_mgr_err("Invalid mode for all freq %d, %d and %d on same band",
+			       freq1, freq2, freq3);
+		return;
+	}
+
+	/*
+	 * If freq1 and freq2 are on same band and freq3 is on differet band and
+	 * is not sharing mac with any SAP. STA on same band is handled above,
+	 * so both SAP on same band mean STA cannot be on same band. This can
+	 * happen if SBS is not enabled.
+	 */
+	if (WLAN_REG_IS_24GHZ_CH_FREQ(freq1) ==
+	    WLAN_REG_IS_24GHZ_CH_FREQ(freq2)) {
+		if (WLAN_REG_IS_24GHZ_CH_FREQ(freq3))
+			/*
+			 * As all 3 cannot be on same band, so if freq3 is
+			 * 2.4 GHZ mean both freq1 and freq2 are on 5 / 6 GHZ
+			 */
+			*index = PM_5_SCC_MCC_PLUS_24_DBS;
+		else
+			/*
+			 * As all 3 cannot be on same band, so if freq3 is
+			 * 5 / 6 GHZ, mean both freq1 and freq2 are on 2.4 GHZ.
+			 */
+			*index = PM_24_SCC_MCC_PLUS_5_DBS;
+		return;
+	}
+
+	/*
+	 * if freq1 and freq 2 are on different band (2 GHZ + 5 GHZ/6 GHZ DBS),
+	 * check with which freq the freq3 will share mac, and return index as
+	 * per it.
+	 */
+	if (WLAN_REG_IS_24GHZ_CH_FREQ(freq3))
+		*index = PM_24_SCC_MCC_PLUS_5_DBS;
+	else
+		*index = PM_5_SCC_MCC_PLUS_24_DBS;
+}
+
+/**
+ * policy_mgr_get_index_for_3_given_freq_sbs() - Find the index for next
+ * connection for 3 given freq, in case current HW mode is SBS
+ * @pm_ctx: policy manager context
+ * @index: Index to return for next connection
+ * @freq1: freq of interface 1
+ * @freq2: freq of interface 2
+ * @freq3: freq of interface 3
+ *
+ * This function finds the index for next
+ * connection for 3 given freq, in case current HW mode is SBS
+ *
+ * Return: none
+ */
+static void policy_mgr_get_index_for_3_given_freq_sbs(
+	struct policy_mgr_psoc_priv_obj *pm_ctx,
+	enum policy_mgr_three_connection_mode *index,
+	qdf_freq_t freq1, qdf_freq_t freq2, qdf_freq_t freq3)
+{
+	qdf_freq_t sbs_cut_off_freq;
+	qdf_freq_t shared_5_ghz_freq = 0;
+
+	/*
+	 * Sanity check: At least 2 of the given freq needs to be creating SBS
+	 * separation for HW mode to be in SBS, if not it shouldn't have
+	 * entered this API.
+	 */
+	if (!policy_mgr_are_sbs_chan(pm_ctx->psoc, freq1, freq2) &&
+	    !policy_mgr_are_sbs_chan(pm_ctx->psoc, freq2, freq3) &&
+	    !policy_mgr_are_sbs_chan(pm_ctx->psoc, freq3, freq1)) {
+		policy_mgr_err("freq1 %d, freq2 %d and freq3 %d, none of the 2 connections/3 vdevs are leading to SBS",
+			       freq1, freq2, freq3);
+		return;
+	}
+
+	sbs_cut_off_freq =  policy_mgr_get_sbs_cut_off_freq(pm_ctx->psoc);
+	if (!sbs_cut_off_freq) {
+		policy_mgr_err("Invalid cutoff freq");
+		return;
+	}
+	/*
+	 * if freq1 on freq2 same mac, get the 5 / 6 GHZ freq from it check
+	 * and determine shared mac.
+	 */
+	if (policy_mgr_2_freq_same_mac_in_sbs(pm_ctx, freq1, freq2)) {
+		/*
+		 * If freq1 is 2.4 GHZ that mean freq2 is 5 / 6 GHZ.
+		 * so take desision using freq2.
+		 */
+		if (WLAN_REG_IS_24GHZ_CH_FREQ(freq1))
+			shared_5_ghz_freq = freq2;
+		else
+			/* freq1 5 / 6 GHZ, use freq1 */
+			shared_5_ghz_freq = freq1;
+	} else if (policy_mgr_2_freq_same_mac_in_sbs(pm_ctx, freq2, freq3)) {
+		/*
+		 * If freq2 is 2.4 GHZ that mean freq3 is 5 / 6 GHZ.
+		 * so take desision using freq3.
+		 */
+		if (WLAN_REG_IS_24GHZ_CH_FREQ(freq2))
+			shared_5_ghz_freq = freq3;
+		else
+			/* freq2 5 / 6 GHZ, use freq1 */
+			shared_5_ghz_freq = freq2;
+	} else if (policy_mgr_2_freq_same_mac_in_sbs(pm_ctx, freq3, freq1)) {
+		/*
+		 * If freq1 is 2.4 GHZ that mean freq3 is 5 / 6 GHZ.
+		 * so take desision using freq3.
+		 */
+		if (WLAN_REG_IS_24GHZ_CH_FREQ(freq1))
+			shared_5_ghz_freq = freq3;
+		else
+			/* freq1 5 / 6 GHZ, use freq1 */
+			shared_5_ghz_freq = freq1;
+	}
+
+	if (!shared_5_ghz_freq ||
+	    WLAN_REG_IS_24GHZ_CH_FREQ(shared_5_ghz_freq)) {
+		policy_mgr_err("shared_5_ghz_freq %d is not 5 / 6 GHZ",
+			       shared_5_ghz_freq);
+		return;
+	}
+
+	/* If shared 5 / 6 GHZ freq is low 5 GHZ, then return high 5 GHZ freq */
+	if (shared_5_ghz_freq < sbs_cut_off_freq)
+		*index = PM_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS;
+	else
+		*index = PM_MCC_SCC_5G_HIGH_PLUS_5_LOW_SBS;
+}
+
+static void
+policy_mgr_get_index_for_ml_sta_sap_sap(
+			struct policy_mgr_psoc_priv_obj *pm_ctx,
+			enum policy_mgr_three_connection_mode *index,
+			qdf_freq_t ml_sta_freq, qdf_freq_t sap_freq_1,
+			qdf_freq_t sap_freq_2)
+{
+	/*
+	 * P2P GO/P2P CLI are treated as SAP to optimize as pcl
+	 * table is same for all three.
+	 */
+	policy_mgr_debug("channel: ML sta0: %d, SAP0: %d, SAP1: %d",
+			 ml_sta_freq, sap_freq_1, sap_freq_2);
+	if (policy_mgr_is_current_hwmode_sbs(pm_ctx->psoc))
+		/* if current mode is SBS */
+		return policy_mgr_get_index_for_3_given_freq_sbs(pm_ctx, index,
+							ml_sta_freq, sap_freq_1,
+							sap_freq_2);
+
+	/* current HW mode is DBS */
+	policy_mgr_get_index_for_3_given_freq_dbs(pm_ctx, index, ml_sta_freq,
+						  sap_freq_1, sap_freq_2);
+}
+
 #else /* WLAN_FEATURE_11BE_MLO */
 
 static inline void
@@ -2409,6 +2586,12 @@ policy_mgr_get_index_for_ml_sta_sap(
 			qdf_freq_t sap_freq, qdf_freq_t *sta_freq_list,
 			uint8_t *ml_sta_idx) {}
 
+static inline void
+policy_mgr_get_index_for_ml_sta_sap_sap(
+			struct policy_mgr_psoc_priv_obj *pm_ctx,
+			enum policy_mgr_three_connection_mode *index,
+			qdf_freq_t ml_sta_freq, qdf_freq_t sap_freq_1,
+			qdf_freq_t sap_freq_2) {}
 #endif /* WLAN_FEATURE_11BE_MLO */
 
 enum policy_mgr_three_connection_mode
@@ -2465,7 +2648,13 @@ enum policy_mgr_three_connection_mode
 			 count_sap, count_sta, count_ndi, count_nan_disc,
 			 num_ml_sta);
 
-	if (count_sap == 2 && count_sta == 1) {
+	if (count_sap == 2 && num_ml_sta == 1) {
+		policy_mgr_get_index_for_ml_sta_sap_sap(
+				pm_ctx, &index,
+				freq_list[ml_sta_idx[0]],
+				pm_conc_connection_list[list_sap[0]].freq,
+				pm_conc_connection_list[list_sap[1]].freq);
+	} else if (count_sap == 2 && count_sta == 1 && !num_ml_sta) {
 		policy_mgr_debug(
 			"channel: sap0: %d, sap1: %d, sta0: %d",
 			pm_conc_connection_list[list_sap[0]].freq,

+ 12 - 4
components/cmn_services/policy_mgr/src/wlan_policy_mgr_tables_2x2_dbs_i.h

@@ -1992,16 +1992,24 @@ fourth_connection_pcl_dbs_sbs_table
 	[PM_NDI_MODE] = { PM_5G, PM_5G, PM_5G } },
 	[PM_NAN_DISC_24_STA_24_STA_5_DBS] = {
 	[PM_NDI_MODE] = { PM_5G, PM_5G, PM_5G } },
-	[PM_STA_SAP_24_STA_5_DBS] = {
+	[PM_24_SCC_MCC_PLUS_5_DBS] = {
+	[PM_STA_MODE] = { PM_SCC_ON_5_CH_5G, PM_SCC_ON_5_CH_5G,
+			 PM_SCC_ON_5_CH_5G},
 	[PM_SAP_MODE] = { PM_SCC_ON_5_CH_5G, PM_SCC_ON_5_CH_5G,
 			 PM_SCC_ON_5_CH_5G} },
-	[PM_STA_SAP_5_STA_24_DBS] = {
+	[PM_5_SCC_MCC_PLUS_24_DBS] = {
+	[PM_STA_MODE] = { PM_SBS_CH_2G, PM_SBS_CH_2G,
+			  PM_SBS_CH_2G },
 	[PM_SAP_MODE] = { PM_SBS_CH_2G, PM_SBS_CH_2G,
 			  PM_SBS_CH_2G } },
-	[PM_STA_STA_SAP_MCC_SCC_5G_HIGH_PLUS_5_LOW_SBS] = {
+	[PM_MCC_SCC_5G_HIGH_PLUS_5_LOW_SBS] = {
+	[PM_STA_MODE] = {PM_SCC_ON_5G_LOW_5G_LOW, PM_SCC_ON_5G_LOW_5G_LOW,
+			 PM_SCC_ON_5G_LOW_5G_LOW},
 	[PM_SAP_MODE] = {PM_SCC_ON_5G_LOW_5G_LOW, PM_SCC_ON_5G_LOW_5G_LOW,
 			 PM_SCC_ON_5G_LOW_5G_LOW} },
-	[PM_STA_STA_SAP_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS] = {
+	[PM_MCC_SCC_5G_LOW_PLUS_5_HIGH_SBS] = {
+	[PM_STA_MODE] = {PM_SCC_ON_5G_HIGH_5G_HIGH, PM_SCC_ON_5G_HIGH_5G_HIGH,
+			 PM_SCC_ON_5G_HIGH_5G_HIGH},
 	[PM_SAP_MODE] = {PM_SCC_ON_5G_HIGH_5G_HIGH, PM_SCC_ON_5G_HIGH_5G_HIGH,
 			 PM_SCC_ON_5G_HIGH_5G_HIGH} },
 };