qcacld-3.0: [11AX] Add dot11mode changes to support 11ax

Add new dot11mode and update the utility functions to derive
the dot11mode based on the userspace config, INI config and
FW capability.

Change-Id: I5780120ef7bc2b78fd596e937fe14a2c8ad88348
CRs-Fixed: 1073481
diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
index 2a7434b..f4f9827 100644
--- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c
+++ b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
@@ -794,9 +794,12 @@
 			IS_DOT11_MODE_HT(session->dot11mode);
 		session->vhtCapability =
 			IS_DOT11_MODE_VHT(session->dot11mode);
-		QDF_TRACE(QDF_MODULE_ID_PE, QDF_TRACE_LEVEL_INFO,
-			  FL("*****session->vhtCapability = %d"),
-			  session->vhtCapability);
+		session->he_capable =
+			IS_DOT11_MODE_HE(session->dot11mode);
+
+		lim_log(mac_ctx, LOG1, FL("HT[%d], VHT[%d], HE[%d]"),
+			session->htCapability, session->vhtCapability,
+			session->he_capable);
 		session->txLdpcIniFeatureEnabled =
 			sme_start_bss_req->txLdpcIniFeatureEnabled;
 #ifdef WLAN_FEATURE_11W
@@ -899,7 +902,8 @@
 			(session->htSecondaryChannelOffset) ? 1 : 0;
 		QDF_TRACE(QDF_MODULE_ID_PE, QDF_TRACE_LEVEL_INFO,
 			  FL("cbMode %u"), sme_start_bss_req->cbMode);
-		if (session->vhtCapability || session->htCapability) {
+		if (session->he_capable || session->vhtCapability ||
+		    session->htCapability) {
 			chanwidth = sme_start_bss_req->vht_channel_width;
 			lim_log(mac_ctx, LOG1,
 				FL("vht_channel_width %u htSupportedChannelWidthSet %d"),
@@ -918,7 +922,7 @@
 		}
 
 		if (session->vhtCapability &&
-				(session->ch_width > CH_WIDTH_80MHZ)) {
+			(session->ch_width > CH_WIDTH_80MHZ)) {
 			session->nss = 1;
 			lim_log(mac_ctx, LOG1, FL("nss set to [%d]"),
 							session->nss);
@@ -1700,8 +1704,10 @@
 		/*Store Persona */
 		session->pePersona = sme_join_req->staPersona;
 		QDF_TRACE(QDF_MODULE_ID_PE, QDF_TRACE_LEVEL_INFO,
-			  FL("PE PERSONA=%d cbMode %u"),
-			  session->pePersona, sme_join_req->cbMode);
+			  FL("PE PERSONA=%d cbMode %u nwType: %d dot11mode: %d"),
+			  session->pePersona, sme_join_req->cbMode,
+			  session->nwType, session->dot11mode);
+
 		/* Copy The channel Id to the session Table */
 		session->currentOperChannel = bss_desc->channelId;
 		if (IS_5G_CH(session->currentOperChannel))
@@ -1730,12 +1736,16 @@
 					session->vht_config.su_beam_former);
 		}
 
+		session->he_capable =
+			IS_DOT11_MODE_HE(session->dot11mode);
+
 		lim_log(mac_ctx, LOG1,
-				FL("vhtCapability: %d su_beam_formee: %d txbf_csn_value: %d su_tx_bformer %d"),
+				FL("vhtCapability: %d su_beam_formee: %d txbf_csn_value: %d su_tx_bformer %d he_capable: %d"),
 				session->vhtCapability,
 				session->vht_config.su_beam_formee,
 				session->vht_config.csnof_beamformer_antSup,
-				session->vht_config.su_beam_former);
+				session->vht_config.su_beam_former,
+				session->he_capable);
 		/*Phy mode */
 		session->gLimPhyMode = bss_desc->nwType;
 		handle_ht_capabilityand_ht_info(mac_ctx, session);