From 3acac3288cf8405bc65fc2fb5521e17653977776 Mon Sep 17 00:00:00 2001 From: Carlos Garces Date: Mon, 18 Oct 2021 16:28:25 +0200 Subject: [PATCH] Replace AMPDU emun structures with kernel provided Port 98b32c71a455ff289442779fee02ad60a6217006 --- core/rtw_ap.c | 4 ++-- core/rtw_mlme.c | 6 +++--- core/rtw_mlme_ext.c | 12 ++++++------ hal/rtl8192e/rtl8192e_hal_init.c | 2 +- hal/rtl8192e/usb/usb_halinit.c | 2 +- include/wifi.h | 24 ------------------------ 6 files changed, 13 insertions(+), 37 deletions(-) diff --git a/core/rtw_ap.c b/core/rtw_ap.c index e524d3a..4a299f7 100644 --- a/core/rtw_ap.c +++ b/core/rtw_ap.c @@ -1898,7 +1898,7 @@ int rtw_check_beacon_data(_adapter *padapter, u8 *pbuf, int len) u8 channel, network_type, supportRate[NDIS_802_11_LENGTH_RATES_EX]; int supportRateNum = 0; u8 WMM_PARA_IE[] = {0x00, 0x50, 0xf2, 0x02, 0x01, 0x01}; - HT_CAP_AMPDU_DENSITY best_ampdu_density; + enum ieee80211_min_mpdu_spacing best_ampdu_density; struct registry_priv *pregistrypriv = &padapter->registrypriv; struct security_priv *psecuritypriv = &padapter->securitypriv; struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); @@ -2241,7 +2241,7 @@ int rtw_check_beacon_data(_adapter *padapter, u8 *pbuf, int len) p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, WLAN_EID_HT_CAPABILITY, &ie_len, (pbss_network->IELength - _BEACON_IE_OFFSET_)); if (p && ie_len > 0) { u8 rf_type = 0; - HT_CAP_AMPDU_FACTOR max_rx_ampdu_factor = MAX_AMPDU_FACTOR_64K; + enum ieee80211_max_ampdu_length_exp max_rx_ampdu_factor = IEEE80211_HT_MAX_AMPDU_64K; struct rtw_ieee80211_ht_cap *pht_cap = (struct rtw_ieee80211_ht_cap *)(p + 2); if (0) { diff --git a/core/rtw_mlme.c b/core/rtw_mlme.c index 5d70d49..899b78d 100644 --- a/core/rtw_mlme.c +++ b/core/rtw_mlme.c @@ -4618,8 +4618,8 @@ unsigned int rtw_restructure_ht_ie(_adapter *padapter, u8 *in_ie, u8 *out_ie, ui { u32 ielen, out_len; u32 rx_packet_offset, max_recvbuf_sz; - HT_CAP_AMPDU_FACTOR max_rx_ampdu_factor; - HT_CAP_AMPDU_DENSITY best_ampdu_density; + enum ieee80211_max_ampdu_length_exp max_rx_ampdu_factor; + enum ieee80211_min_mpdu_spacing best_ampdu_density; unsigned char *p, *pframe; struct rtw_ieee80211_ht_cap ht_capie; u8 cbw40_enable = 0, rf_type = 0, rf_num = 0, rx_stbc_nss = 0, rx_nss = 0; @@ -4791,7 +4791,7 @@ unsigned int rtw_restructure_ht_ie(_adapter *padapter, u8 *in_ie, u8 *out_ie, ui */ if (padapter->driver_rx_ampdu_factor != 0xFF) - max_rx_ampdu_factor = (HT_CAP_AMPDU_FACTOR)padapter->driver_rx_ampdu_factor; + max_rx_ampdu_factor = (enum ieee80211_max_ampdu_length_exp)padapter->driver_rx_ampdu_factor; else rtw_hal_get_def_var(padapter, HW_VAR_MAX_RX_AMPDU_FACTOR, &max_rx_ampdu_factor); diff --git a/core/rtw_mlme_ext.c b/core/rtw_mlme_ext.c index 61ba46e..5627430 100644 --- a/core/rtw_mlme_ext.c +++ b/core/rtw_mlme_ext.c @@ -3255,7 +3255,7 @@ exit: u8 rtw_rx_ampdu_size(_adapter *adapter) { u8 size; - HT_CAP_AMPDU_FACTOR max_rx_ampdu_factor; + enum ieee80211_max_ampdu_length_exp max_rx_ampdu_factor; #ifdef CONFIG_BT_COEXIST if (rtw_btcoex_IsBTCoexCtrlAMPDUSize(adapter) == _TRUE) { @@ -3275,7 +3275,7 @@ u8 rtw_rx_ampdu_size(_adapter *adapter) /* default value based on max_rx_ampdu_factor */ if (adapter->driver_rx_ampdu_factor != 0xFF) - max_rx_ampdu_factor = (HT_CAP_AMPDU_FACTOR)adapter->driver_rx_ampdu_factor; + max_rx_ampdu_factor = (enum ieee80211_max_ampdu_length_exp)adapter->driver_rx_ampdu_factor; else rtw_hal_get_def_var(adapter, HW_VAR_MAX_RX_AMPDU_FACTOR, &max_rx_ampdu_factor); @@ -3286,13 +3286,13 @@ u8 rtw_rx_ampdu_size(_adapter *adapter) MSDU or AMSDU. The size variable means how many MSDUs or AMSDUs, it's not Kbytes. */ - if (MAX_AMPDU_FACTOR_64K == max_rx_ampdu_factor) + if (IEEE80211_HT_MAX_AMPDU_64K == max_rx_ampdu_factor) size = 64; - else if (MAX_AMPDU_FACTOR_32K == max_rx_ampdu_factor) + else if (IEEE80211_HT_MAX_AMPDU_32K == max_rx_ampdu_factor) size = 32; - else if (MAX_AMPDU_FACTOR_16K == max_rx_ampdu_factor) + else if (IEEE80211_HT_MAX_AMPDU_16K == max_rx_ampdu_factor) size = 16; - else if (MAX_AMPDU_FACTOR_8K == max_rx_ampdu_factor) + else if (IEEE80211_HT_MAX_AMPDU_8K == max_rx_ampdu_factor) size = 8; else size = 64; diff --git a/hal/rtl8192e/rtl8192e_hal_init.c b/hal/rtl8192e/rtl8192e_hal_init.c index 9bc4ec2..08835e9 100644 --- a/hal/rtl8192e/rtl8192e_hal_init.c +++ b/hal/rtl8192e/rtl8192e_hal_init.c @@ -4509,7 +4509,7 @@ GetHalDefVar8192E( *((u32 *)pValue) = 8; break; case HW_VAR_BEST_AMPDU_DENSITY: - *((u32 *)pValue) = AMPDU_DENSITY_VALUE_7; + *((u32 *)pValue) = IEEE80211_HT_MPDU_DENSITY_16; break; default: bResult = GetHalDefVar(Adapter, eVariable, pValue); diff --git a/hal/rtl8192e/usb/usb_halinit.c b/hal/rtl8192e/usb/usb_halinit.c index 2714f6a..67e129e 100644 --- a/hal/rtl8192e/usb/usb_halinit.c +++ b/hal/rtl8192e/usb/usb_halinit.c @@ -1710,7 +1710,7 @@ GetHalDefVar8192EUsb( switch (eVariable) { case HW_VAR_MAX_RX_AMPDU_FACTOR: - *((u32 *)pValue) = MAX_AMPDU_FACTOR_64K; /* MAX_AMPDU_FACTOR_64K; */ + *((u32 *)pValue) = IEEE80211_HT_MAX_AMPDU_64K; /* IEEE80211_HT_MAX_AMPDU_64K; */ break; default: GetHalDefVar8192E(Adapter, eVariable, pValue); diff --git a/include/wifi.h b/include/wifi.h index 8f24a5d..f47333b 100644 --- a/include/wifi.h +++ b/include/wifi.h @@ -636,31 +636,7 @@ struct ADDBA_request { unsigned short BA_starting_seqctrl; } __attribute__((packed)); -typedef enum _HT_CAP_AMPDU_FACTOR { - MAX_AMPDU_FACTOR_8K = 0, - MAX_AMPDU_FACTOR_16K = 1, - MAX_AMPDU_FACTOR_32K = 2, - MAX_AMPDU_FACTOR_64K = 3, -} HT_CAP_AMPDU_FACTOR; -typedef enum _VHT_CAP_AMPDU_FACTOR { - MAX_AMPDU_FACTOR_128K = 4, - MAX_AMPDU_FACTOR_256K = 5, - MAX_AMPDU_FACTOR_512K = 6, - MAX_AMPDU_FACTOR_1M = 7, -} VHT_CAP_AMPDU_FACTOR; - - -typedef enum _HT_CAP_AMPDU_DENSITY { - AMPDU_DENSITY_VALUE_0 = 0 , /* For no restriction */ - AMPDU_DENSITY_VALUE_1 = 1 , /* For 1/4 us */ - AMPDU_DENSITY_VALUE_2 = 2 , /* For 1/2 us */ - AMPDU_DENSITY_VALUE_3 = 3 , /* For 1 us */ - AMPDU_DENSITY_VALUE_4 = 4 , /* For 2 us */ - AMPDU_DENSITY_VALUE_5 = 5 , /* For 4 us */ - AMPDU_DENSITY_VALUE_6 = 6 , /* For 8 us */ - AMPDU_DENSITY_VALUE_7 = 7 , /* For 16 us */ -} HT_CAP_AMPDU_DENSITY; /* 802.11n HT capabilities masks */ #define IEEE80211_HT_CAP_RX_STBC_1R 0x0100