同步更新
This commit is contained in:
27
ath.mk
27
ath.mk
@@ -1,5 +1,5 @@
|
||||
PKG_DRIVERS += \
|
||||
ath ath5k ath6kl ath6kl-sdio ath6kl-usb ath9k ath9k-common ath9k-htc ath10k ath10k-sdio ath10k-smallbuffers \
|
||||
ath ath5k ath6kl ath6kl-sdio ath6kl-usb ath9k ath9k-common ath9k-htc ath10k ath10k-smallbuffers \
|
||||
ath11k ath11k-ahb ath11k-pci ath12k carl9170 owl-loader ar5523 wil6210 qcom-qmi-helpers
|
||||
|
||||
PKG_CONFIG_DEPENDS += \
|
||||
@@ -40,7 +40,7 @@ ifdef CONFIG_PACKAGE_MAC80211_TRACING
|
||||
endif
|
||||
|
||||
config-$(call config_package,qcom-qmi-helpers) += QCOM_QMI_HELPERS
|
||||
config-$(call config_package,ath,regular sdio smallbuffers) += ATH_CARDS ATH_COMMON
|
||||
config-$(call config_package,ath,regular smallbuffers) += ATH_CARDS ATH_COMMON
|
||||
config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG ATH11K_DEBUG ATH12K_DEBUG ATH9K_STATION_STATISTICS
|
||||
config-$(CONFIG_PACKAGE_ATH_DFS) += ATH9K_DFS_CERTIFIED ATH10K_DFS_CERTIFIED
|
||||
config-$(CONFIG_PACKAGE_ATH_SPECTRAL) += ATH9K_COMMON_SPECTRAL ATH10K_SPECTRAL ATH11K_SPECTRAL
|
||||
@@ -62,7 +62,6 @@ config-$(CONFIG_ATH11K_THERMAL) += ATH11K_THERMAL
|
||||
|
||||
config-$(call config_package,ath9k-htc) += ATH9K_HTC
|
||||
config-$(call config_package,ath10k,regular) += ATH10K ATH10K_PCI
|
||||
config-$(call config_package,ath10k-sdio,sdio) += ATH10K ATH10K_SDIO
|
||||
config-$(call config_package,ath10k-smallbuffers,smallbuffers) += ATH10K ATH10K_PCI ATH10K_SMALLBUFFERS
|
||||
config-$(call config_package,ath11k) += ATH11K
|
||||
config-$(call config_package,ath11k-ahb) += ATH11K_AHB
|
||||
@@ -295,30 +294,10 @@ define KernelPackage/ath10k/config
|
||||
|
||||
config ATH10K_THERMAL
|
||||
bool "Enable thermal sensors and throttling support"
|
||||
default y
|
||||
depends on PACKAGE_kmod-ath10k || PACKAGE_kmod-ath10k-sdio || PACKAGE_kmod-ath10k-smallbuffers
|
||||
depends on PACKAGE_kmod-ath10k || PACKAGE_kmod-ath10k-smallbuffers
|
||||
|
||||
endef
|
||||
|
||||
define KernelPackage/ath10k-sdio
|
||||
$(call KernelPackage/mac80211/Default)
|
||||
TITLE:=Atheros 802.11ac SDIO wireless cards support
|
||||
URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath10k
|
||||
DEPENDS+= +kmod-ath +kmod-mmc +@DRIVER_11AC_SUPPORT \
|
||||
+ATH10K_THERMAL:kmod-hwmon-core +ATH10K_THERMAL:kmod-thermal
|
||||
FILES:= \
|
||||
$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_core.ko \
|
||||
$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_sdio.ko
|
||||
AUTOLOAD:=$(call AutoProbe,ath10k_core)
|
||||
MODPARAMS.ath10k_core:=frame_mode=2
|
||||
VARIANT:=sdio
|
||||
endef
|
||||
|
||||
define KernelPackage/ath10k-sdio/description
|
||||
This module adds support for wireless adapters based on
|
||||
Atheros IEEE 802.11ac family of chipsets with SDIO bus.
|
||||
endef
|
||||
|
||||
define KernelPackage/ath10k-smallbuffers
|
||||
$(call KernelPackage/ath10k)
|
||||
TITLE+= (small buffers for low-RAM devices)
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
--- a/drivers/net/wireless/ath/ath10k/core.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/core.c
|
||||
@@ -3554,7 +3554,8 @@ int ath10k_core_register(struct ath10k *
|
||||
* Forcing the work to be done immediately works around this problem
|
||||
* but may also delay the boot when firmware images cannot be found.
|
||||
*/
|
||||
- flush_workqueue(ar->workqueue);
|
||||
+ if (ar->hif.bus != ATH10K_BUS_SDIO)
|
||||
+ flush_workqueue(ar->workqueue);
|
||||
|
||||
return 0;
|
||||
}
|
||||
--- a/drivers/net/wireless/ath/ath10k/debug.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/debug.c
|
||||
@@ -1262,6 +1262,9 @@ static int ath10k_debug_cal_data_fetch(s
|
||||
if (ar->hw_params.cal_data_len == 0)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
+ if (ar->hif.bus == ATH10K_BUS_SDIO)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
hi_addr = host_interest_item_address(HI_ITEM(hi_board_data));
|
||||
|
||||
ret = ath10k_hif_diag_read(ar, hi_addr, &addr, sizeof(addr));
|
||||
@@ -1,10 +0,0 @@
|
||||
--- a/drivers/net/wireless/ath/ath10k/mac.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/mac.c
|
||||
@@ -5054,6 +5054,7 @@ static void ath10k_mac_setup_ht_vht_cap(
|
||||
if (ar->phy_capability & WHAL_WLAN_11G_CAPABILITY) {
|
||||
band = &ar->mac.sbands[NL80211_BAND_2GHZ];
|
||||
band->ht_cap = ht_cap;
|
||||
+ band->vht_cap = vht_cap;
|
||||
}
|
||||
if (ar->phy_capability & WHAL_WLAN_11A_CAPABILITY) {
|
||||
band = &ar->mac.sbands[NL80211_BAND_5GHZ];
|
||||
@@ -18,7 +18,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
|
||||
--- a/drivers/net/wireless/ath/ath10k/mac.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/mac.c
|
||||
@@ -10122,7 +10122,6 @@ int ath10k_mac_register(struct ath10k *a
|
||||
@@ -10121,7 +10121,6 @@ int ath10k_mac_register(struct ath10k *a
|
||||
ieee80211_hw_set(ar->hw, CHANCTX_STA_CSA);
|
||||
ieee80211_hw_set(ar->hw, QUEUE_CONTROL);
|
||||
ieee80211_hw_set(ar->hw, SUPPORTS_TX_FRAG);
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
--- a/drivers/net/wireless/ath/ath11k/mac.c
|
||||
+++ b/drivers/net/wireless/ath/ath11k/mac.c
|
||||
@@ -2868,9 +2868,9 @@ static void ath11k_peer_assoc_h_phymode(
|
||||
} else if (sta->deflink.vht_cap.vht_supported &&
|
||||
!ath11k_peer_assoc_h_vht_masked(vht_mcs_mask)) {
|
||||
if (sta->deflink.bandwidth == IEEE80211_STA_RX_BW_40)
|
||||
- phymode = MODE_11AC_VHT40;
|
||||
+ phymode = MODE_11AC_VHT40_2G;
|
||||
else
|
||||
- phymode = MODE_11AC_VHT20;
|
||||
+ phymode = MODE_11AC_VHT20_2G;
|
||||
} else if (sta->deflink.ht_cap.ht_supported &&
|
||||
!ath11k_peer_assoc_h_ht_masked(ht_mcs_mask)) {
|
||||
if (sta->deflink.bandwidth == IEEE80211_STA_RX_BW_40)
|
||||
@@ -5547,6 +5547,9 @@ static void ath11k_mac_setup_ht_vht_cap(
|
||||
*ht_cap_info = ht_cap;
|
||||
band->ht_cap = ath11k_create_ht_cap(ar, ht_cap,
|
||||
rate_cap_rx_chainmask);
|
||||
+
|
||||
+ band->vht_cap = ath11k_create_vht_cap(ar, rate_cap_tx_chainmask,
|
||||
+ rate_cap_rx_chainmask);
|
||||
}
|
||||
|
||||
if (cap->supported_bands & WMI_HOST_WLAN_5G_CAP &&
|
||||
--- a/drivers/net/wireless/ath/ath11k/wmi.c
|
||||
+++ b/drivers/net/wireless/ath/ath11k/wmi.c
|
||||
@@ -411,6 +411,8 @@ ath11k_pull_mac_phy_cap_svc_ready_ext(st
|
||||
* handled.
|
||||
*/
|
||||
if (mac_phy_caps->supported_bands & WMI_HOST_WLAN_2G_CAP) {
|
||||
+ pdev_cap->vht_cap = mac_phy_caps->vht_cap_info_2g;
|
||||
+ pdev_cap->vht_mcs = mac_phy_caps->vht_supp_mcs_2g;
|
||||
pdev_cap->tx_chain_mask = mac_phy_caps->tx_chain_mask_2g;
|
||||
pdev_cap->rx_chain_mask = mac_phy_caps->rx_chain_mask_2g;
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
--- a/drivers/net/wireless/ath/ath11k/dp_rx.c
|
||||
+++ b/drivers/net/wireless/ath/ath11k/dp_rx.c
|
||||
@@ -371,8 +371,8 @@ int ath11k_dp_rxbufs_replenish(struct at
|
||||
num_remain = req_entries;
|
||||
|
||||
while (num_remain > 0) {
|
||||
- skb = dev_alloc_skb(DP_RX_BUFFER_SIZE +
|
||||
- DP_RX_BUFFER_ALIGN_SIZE);
|
||||
+ skb = alloc_skb(DP_RX_BUFFER_SIZE +
|
||||
+ DP_RX_BUFFER_ALIGN_SIZE, GFP_ATOMIC);
|
||||
if (!skb)
|
||||
break;
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
From: Chukun Pan <amadeus@jmu.edu.cn>
|
||||
To: Jakub Kicinski <kubakici@wp.pl>
|
||||
Cc: Kalle Valo <kvalo@kernel.org>,
|
||||
"David S . Miller" <davem@davemloft.net>,
|
||||
Eric Dumazet <edumazet@google.com>,
|
||||
Paolo Abeni <pabeni@redhat.com>,
|
||||
Matthias Brugger <matthias.bgg@gmail.com>,
|
||||
Lintel Huang <lintel.huang@gmail.com>,
|
||||
linux-wireless@vger.kernel.org, netdev@vger.kernel.org,
|
||||
linux-kernel@vger.kernel.org, Chukun Pan <amadeus@jmu.edu.cn>
|
||||
Subject: [PATCH] wifi: mt7601u: Add AP mode support
|
||||
Date: Tue, 26 Jul 2022 00:16:03 +0800 [thread overview]
|
||||
Message-ID: <20220725161603.15201-1-amadeus@jmu.edu.cn> (raw)
|
||||
|
||||
Add AP mode support to mt7601u chipset.
|
||||
Simply tested it with firmware version
|
||||
201302052146 and it seems working fine.
|
||||
|
||||
Run-tested-by: Lintel Huang <lintel.huang@gmail.com>
|
||||
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
|
||||
---
|
||||
drivers/net/wireless/mediatek/mt7601u/init.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/net/wireless/mediatek/mt7601u/init.c
|
||||
+++ b/drivers/net/wireless/mediatek/mt7601u/init.c
|
||||
@@ -609,7 +609,8 @@ int mt7601u_register_device(struct mt760
|
||||
SET_IEEE80211_PERM_ADDR(hw, dev->macaddr);
|
||||
|
||||
wiphy->features |= NL80211_FEATURE_ACTIVE_MONITOR;
|
||||
- wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION);
|
||||
+ wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) |
|
||||
+ BIT(NL80211_IFTYPE_AP);
|
||||
wiphy->flags |= WIPHY_FLAG_SUPPORTS_TDLS;
|
||||
|
||||
wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST);
|
||||
@@ -1,36 +0,0 @@
|
||||
--- a/net/mac80211/vht.c
|
||||
+++ b/net/mac80211/vht.c
|
||||
@@ -137,7 +137,8 @@ ieee80211_vht_cap_ie_to_sta_vht_cap(stru
|
||||
have_80mhz = false;
|
||||
for (i = 0; i < sband->n_channels; i++) {
|
||||
if (sband->channels[i].flags & (IEEE80211_CHAN_DISABLED |
|
||||
- IEEE80211_CHAN_NO_80MHZ))
|
||||
+ IEEE80211_CHAN_NO_80MHZ) &
|
||||
+ (sband->band != NL80211_BAND_2GHZ))
|
||||
continue;
|
||||
|
||||
have_80mhz = true;
|
||||
--- a/net/mac80211/util.c
|
||||
+++ b/net/mac80211/util.c
|
||||
@@ -1329,7 +1329,8 @@ static int ieee80211_put_preq_ies_band(s
|
||||
/* Check if any channel in this sband supports at least 80 MHz */
|
||||
for (i = 0; i < sband->n_channels; i++) {
|
||||
if (sband->channels[i].flags & (IEEE80211_CHAN_DISABLED |
|
||||
- IEEE80211_CHAN_NO_80MHZ))
|
||||
+ IEEE80211_CHAN_NO_80MHZ) &
|
||||
+ (sband->band != NL80211_BAND_2GHZ))
|
||||
continue;
|
||||
|
||||
have_80mhz = true;
|
||||
--- a/net/mac80211/mlme.c
|
||||
+++ b/net/mac80211/mlme.c
|
||||
@@ -5760,7 +5760,8 @@ ieee80211_determine_our_sta_mode(struct
|
||||
/* Allow VHT if at least one channel on the sband supports 80 MHz */
|
||||
for (i = 0; i < sband->n_channels; i++) {
|
||||
if (sband->channels[i].flags & (IEEE80211_CHAN_DISABLED |
|
||||
- IEEE80211_CHAN_NO_80MHZ))
|
||||
+ IEEE80211_CHAN_NO_80MHZ) &
|
||||
+ (sband->band != NL80211_BAND_2GHZ))
|
||||
continue;
|
||||
|
||||
have_80mhz = true;
|
||||
Reference in New Issue
Block a user