|
@@ -10705,6 +10705,33 @@ void sme_update_eht_cap_nss(mac_handle_t mac_handle, uint8_t session_id,
|
|
|
uint8_t nss)
|
|
|
{
|
|
|
}
|
|
|
+
|
|
|
+void sme_set_eht_bw_cap(mac_handle_t mac_handle, uint8_t vdev_id,
|
|
|
+ enum eSirMacHTChannelWidth chwidth)
|
|
|
+{
|
|
|
+ struct mac_context *mac_ctx = MAC_CONTEXT(mac_handle);
|
|
|
+ struct csr_roam_session *session;
|
|
|
+
|
|
|
+ session = CSR_GET_SESSION(mac_ctx, vdev_id);
|
|
|
+ if (!session) {
|
|
|
+ sme_debug("No session for id %d", vdev_id);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ sme_debug("Config EHT caps for BW %d", chwidth);
|
|
|
+ mac_ctx->mlme_cfg->eht_caps.dot11_eht_cap.support_320mhz_6ghz = 0;
|
|
|
+
|
|
|
+ if (chwidth < eHT_CHANNEL_WIDTH_320MHZ) {
|
|
|
+ sme_debug("EHT caps config not required for bw: %d", chwidth);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ mac_ctx->mlme_cfg->eht_caps.dot11_eht_cap.support_320mhz_6ghz = 1;
|
|
|
+ qdf_mem_copy(&mac_ctx->eht_cap_5g,
|
|
|
+ &mac_ctx->mlme_cfg->eht_caps.dot11_eht_cap,
|
|
|
+ sizeof(tDot11fIEeht_cap));
|
|
|
+
|
|
|
+ csr_update_session_eht_cap(mac_ctx, session);
|
|
|
+}
|
|
|
#endif
|
|
|
|
|
|
#ifdef WLAN_FEATURE_11AX
|
|
@@ -14815,6 +14842,7 @@ void sme_set_he_bw_cap(mac_handle_t mac_handle, uint8_t vdev_id,
|
|
|
sizeof(tDot11fIEhe_cap));
|
|
|
break;
|
|
|
case eHT_CHANNEL_WIDTH_160MHZ:
|
|
|
+ case eHT_CHANNEL_WIDTH_320MHZ:
|
|
|
mac_ctx->mlme_cfg->he_caps.dot11_he_cap.chan_width_1 = 1;
|
|
|
mac_ctx->mlme_cfg->he_caps.dot11_he_cap.chan_width_2 = 1;
|
|
|
*((uint16_t *)
|