Kaynağa Gözat

qcacld-3.0: Add 160/80+80 MHz support for STA mode

Allow 160 MHz and 80+80 MHz support in concurrency mode.
Also add support for 160 MHz and 80+80 MHz in VHT Capabilities IE
in STA assoc request frame.

Change-Id: Id3aab3308c68d0a623d5c4916e1bd46c6deaedde
CRs-Fixed: 2014380
Nitesh Shah 8 yıl önce
ebeveyn
işleme
c8c444042c

+ 0 - 52
core/cds/src/cds_concurrency.c

@@ -3864,44 +3864,6 @@ bool cds_is_ibss_conn_exist(uint8_t *ibss_channel)
 	return status;
 }
 
-/**
- * cds_vht160_conn_exist() - to check if we have a connection
- * already using vht160 or vht80+80
- *
- * This routine will check if vht160 connection already exist or
- * no. If it exist then this routine will return true.
- *
- * Return: true if vht160 connection exist else false
- */
-static bool cds_vht160_conn_exist(void)
-{
-	uint32_t conn_index;
-	bool status = false;
-	cds_context_type *cds_ctx;
-
-	cds_ctx = cds_get_context(QDF_MODULE_ID_QDF);
-	if (!cds_ctx) {
-		cds_err("Invalid CDS Context");
-		return status;
-	}
-
-	qdf_mutex_acquire(&cds_ctx->qdf_conc_list_lock);
-	for (conn_index = 0; conn_index < MAX_NUMBER_OF_CONC_CONNECTIONS;
-		conn_index++) {
-		if (conc_connection_list[conn_index].in_use &&
-			((conc_connection_list[conn_index].bw ==
-			HW_MODE_80_PLUS_80_MHZ) ||
-			(conc_connection_list[conn_index].bw ==
-			HW_MODE_160_MHZ))) {
-			 status = true;
-			 break;
-		}
-	}
-	qdf_mutex_release(&cds_ctx->qdf_conc_list_lock);
-
-	return status;
-}
-
 /**
  * cds_is_5g_channel_allowed() - check if 5g channel is allowed
  * @channel: channel number which needs to be validated
@@ -4144,20 +4106,6 @@ bool cds_allow_concurrency(enum cds_con_mode mode,
 		qdf_mutex_release(&cds_ctx->qdf_conc_list_lock);
 	}
 
-	/* don't allow concurrency on vht160 or vht 80+80 */
-	if (num_connections &&
-			((bw == HW_MODE_80_PLUS_80_MHZ) ||
-				(bw == HW_MODE_160_MHZ))) {
-		cds_err("No VHT160, we have one connection already");
-		goto done;
-	}
-
-	if (cds_vht160_conn_exist()) {
-		cds_err("VHT160/80+80 connection exists, no concurrency");
-		goto done;
-	}
-
-
 	status = true;
 
 done:

+ 4 - 0
core/mac/src/pe/lim/lim_send_management_frames.c

@@ -1845,6 +1845,10 @@ lim_send_assoc_req_mgmt_frame(tpAniSirGlobal mac_ctx,
 	    pe_session->vhtCapabilityPresentInBeacon) {
 		lim_log(mac_ctx, LOG1, FL("Populate VHT IEs in Assoc Request"));
 		populate_dot11f_vht_caps(mac_ctx, pe_session, &frm->VHTCaps);
+		/* Enable 160/80+80 MHz channel width support for STA mode */
+		if (pe_session->pePersona == QDF_STA_MODE)
+			frm->VHTCaps.supportedChannelWidthSet =
+				VHT_CAP_160_AND_80P80_SUPP;
 		QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_PE, QDF_TRACE_LEVEL_DEBUG,
 				   &frm->VHTCaps, sizeof(frm->VHTCaps));
 		vht_enabled = true;