mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 10:39:04 +00:00
mt76: update to Git HEAD (2024-04-03)
605624a4e17b mt76: fix path to page_pool helper include e4de3592c4e3 wifi: mt76: mt7603: fix tx queue of loopback packets 446f652c967c wifi: mt76: mt7603: add wpdma tx eof flag for PSE client reset 669aba47a145 wifi: mt76: mt7915: fix HE PHY capability regression 5914ea57a31f wifi: mt76: mt7915: workaround dubious x | !y warning e8b5991f7dac wifi: mt76: mt7915: workaround too long expansion sparse warnings e507b4e32ead wifi: mt76: mt7921: fix fw used for offload check for mt7922 725f531c1459 wifi: mt76: connac: check for null before dereferencing b108dda7e201 wifi: mt76: mt7996: fix size of txpower MCU command 5b7616491f07 wifi: mt76: mt7921: introduce mt7920 PCIe support 0436995feca9 wifi: mt76: mt7921s: fix potential hung tasks during chip recovery 75759dca73d5 wifi: mt76: mt7925: ensure 4-byte alignment for suspend & wow command b96ab5e62010 wifi: mt76: mt7996: fix uninitialized variable in mt7996_irq_tasklet() 7ff11c7259a3 wifi: mt76: sdio: move mcu queue size check inside critical section 02846a5d0f0f wifi: mt76: mt7915: Remove unused of_gpio.h cb8df32e0475 wifi: mt76: mt7996: disable rx header translation for BMC entry a4c4b550512e wifi: mt76: connac: use peer address for station BMC entry 260c5b7c3ba0 wifi: mt76: mt7996: set RCPI value in rate control command 0b7e645db9c2 wifi: mt76: connac: enable HW CSO module for mt7996 f19035fe0b4d wifi: mt76: mt7996: fix non-main BSS no beacon issue for MBSS scenario 424e9df466ce wifi: mt76: mt7996: fix potential memory leakage when reading chip temperature f70cb4f0508e wifi: mt76: connac: enable critical packet mode support for mt7992 5f1bf8865247 wifi: mt76: mt7996: add sanity checks for background radar trigger 1e336a8582dc wifi: mt76: connac: use muar idx 0xe for non-mt799x as well Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
0b10e5a5dc
commit
a10a6fbac7
@ -1,16 +1,16 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=mt76
|
||||
PKG_RELEASE=2
|
||||
PKG_RELEASE=1
|
||||
|
||||
PKG_LICENSE:=GPLv2
|
||||
PKG_LICENSE_FILES:=
|
||||
|
||||
PKG_SOURCE_URL:=https://github.com/openwrt/mt76
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_DATE:=2024-03-18
|
||||
PKG_SOURCE_VERSION:=2135e201e7a9339e018d4e2d4a33c73266e674d7
|
||||
PKG_MIRROR_HASH:=530db8a70d18295677989aafc9c1757b151ef77e359985417f1d36e7d2415d33
|
||||
PKG_SOURCE_DATE:=2024-04-03
|
||||
PKG_SOURCE_VERSION:=1e336a8582dce2ef32ddd440d423e9afef961e71
|
||||
PKG_MIRROR_HASH:=f3801af80d5f9c1aa266c9401d4dfa2d501df0382c81fd249150e17dddc70936
|
||||
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
PKG_USE_NINJA:=0
|
||||
|
@ -1,24 +0,0 @@
|
||||
--- a/mac80211.c
|
||||
+++ b/mac80211.c
|
||||
@@ -4,7 +4,9 @@
|
||||
*/
|
||||
#include <linux/sched.h>
|
||||
#include <linux/of.h>
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(6,6,0)
|
||||
#include <net/page_pool.h>
|
||||
+#endif
|
||||
#include "mt76.h"
|
||||
|
||||
#define CHAN2G(_idx, _freq) { \
|
||||
--- a/mt76.h
|
||||
+++ b/mt76.h
|
||||
@@ -13,6 +13,9 @@
|
||||
#include <linux/leds.h>
|
||||
#include <linux/usb.h>
|
||||
#include <linux/average.h>
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,6,0)
|
||||
+#include <net/page_pool/helpers.h>
|
||||
+#endif
|
||||
#include <linux/soc/mediatek/mtk_wed.h>
|
||||
#include <net/mac80211.h>
|
||||
#include "util.h"
|
@ -1,81 +0,0 @@
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Mon, 25 Mar 2024 18:54:02 +0100
|
||||
Subject: [PATCH] wifi: mt76: mt7603: add debugfs attr for disabling frames
|
||||
buffering
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
MT7603EN and MT7628AN were reported by multiple users to be unstable
|
||||
under high traffic. Transmission of packets could stop for seconds often
|
||||
leading to disconnections.
|
||||
|
||||
Long research & debugging revelaed a close relation between MCU
|
||||
interrupts of type PKT_TYPE_TXS and slowdowns / stalls. That led to
|
||||
questioning frames buffering feature.
|
||||
|
||||
It turns out that disabling SKBs loopback code makes mt7603 devices much
|
||||
more stable under load. There are still some traffic hiccups but those
|
||||
happen like once every an hour and end up in recovery in most cases.
|
||||
|
||||
Add a debugfs option for disabling frames buffering so users can give it
|
||||
a try. If this solution yields a success we can make this feature
|
||||
disabled by default.
|
||||
|
||||
This change was successfully tested using 2 GHz AP interface on:
|
||||
1. Netgear R6220 - MT7621ST (SoC) + MT7603EN (WiFi) + MT7612EN (WiFi)
|
||||
2. Xiaomi Mi Router 4C - MT7628AN (Wi-Fi SoC)
|
||||
|
||||
Link: https://lore.kernel.org/linux-wireless/7c96d5ee-86c1-8068-1b58-40db6087a24f@gmail.com/
|
||||
Closes: https://github.com/openwrt/mt76/issues/865
|
||||
Fixes: c8846e101502 ("mt76: add driver for MT7603E and MT7628/7688")
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
---
|
||||
mt7603/debugfs.c | 2 ++
|
||||
mt7603/dma.c | 3 +++
|
||||
mt7603/init.c | 1 +
|
||||
mt7603/mt7603.h | 2 ++
|
||||
4 files changed, 8 insertions(+)
|
||||
|
||||
--- a/mt7603/debugfs.c
|
||||
+++ b/mt7603/debugfs.c
|
||||
@@ -115,4 +115,6 @@ void mt7603_init_debugfs(struct mt7603_d
|
||||
&dev->sensitivity_limit);
|
||||
debugfs_create_bool("dynamic_sensitivity", 0600, dir,
|
||||
&dev->dynamic_sensitivity);
|
||||
+ debugfs_create_bool("frames_buffering", 0600, dir,
|
||||
+ &dev->frames_buffering);
|
||||
}
|
||||
--- a/mt7603/dma.c
|
||||
+++ b/mt7603/dma.c
|
||||
@@ -27,6 +27,9 @@ mt7603_rx_loopback_skb(struct mt7603_dev
|
||||
u32 val;
|
||||
u8 tid = 0;
|
||||
|
||||
+ if (!dev->frames_buffering)
|
||||
+ goto free;
|
||||
+
|
||||
if (skb->len < MT_TXD_SIZE + sizeof(struct ieee80211_hdr))
|
||||
goto free;
|
||||
|
||||
--- a/mt7603/init.c
|
||||
+++ b/mt7603/init.c
|
||||
@@ -517,6 +517,7 @@ int mt7603_register_device(struct mt7603
|
||||
dev->slottime = 9;
|
||||
dev->sensitivity_limit = 28;
|
||||
dev->dynamic_sensitivity = true;
|
||||
+ dev->frames_buffering = true;
|
||||
|
||||
ret = mt7603_init_hardware(dev);
|
||||
if (ret)
|
||||
--- a/mt7603/mt7603.h
|
||||
+++ b/mt7603/mt7603.h
|
||||
@@ -155,6 +155,8 @@ struct mt7603_dev {
|
||||
u32 reset_test;
|
||||
|
||||
unsigned int reset_cause[__RESET_CAUSE_MAX];
|
||||
+
|
||||
+ bool frames_buffering;
|
||||
};
|
||||
|
||||
extern const struct mt76_driver_ops mt7603_drv_ops;
|
Loading…
Reference in New Issue
Block a user