From 462ccf90bec9234195956aaa211ee49209b161f4 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 2 Dec 2021 11:26:36 +0100 Subject: [PATCH 01/26] mt76: update to the latest version a6451fea5a3d mt76: mt7615: improve wmm index allocation 1911486414dc mt76: mt7915: improve wmm index allocation 7998a41d1321 mt76: clear sta powersave flag after notifying driver 664475574438 mt76: mt7603: introduce SAR support 5c0da39c940b mt76: mt7915: introduce SAR support 77fc6c439a32 mt76: mt7603: improve reliability of tx powersave filtering 094b3d800835 firmware: update mt7663 rebb firmware to 20200904171623 25237b19bcc1 mt76: eeprom: tolerate corrected bit-flips 1463cb4c6ac2 mt76: mt7921: fix boolreturn.cocci warning 586bad6020f7 mt76: mt7921: use correct iftype data on 6GHz cap init 8ec95c910425 mt76: mt7921s: fix bus hang with wrong privilege 688e30c7d854 firmware: update mt7921 firmware to version 20211014 6fad970893dd mt76: fix key pointer overwrite in mt7921s_write_txwi/mt7663_usb_sdio_write_txwi 95acf972750c mt76: fix 802.3 RX fail by hdr_trans 3f402b0cf6c0 mt76: mt7921s: fix possible kernel crash due to invalid Rx count 929a03a8d65d mt76: connac: fix last_chan configuration in mt76_connac_mcu_rate_txpower_band Signed-off-by: Felix Fietkau (cherry-picked from commit 7e153900566ec1aebdc4f15f5a9d9ff9b9401cc1) --- package/kernel/mt76/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/kernel/mt76/Makefile b/package/kernel/mt76/Makefile index e947f1a2f3..ca4ef5d137 100644 --- a/package/kernel/mt76/Makefile +++ b/package/kernel/mt76/Makefile @@ -8,9 +8,9 @@ PKG_LICENSE_FILES:= PKG_SOURCE_URL:=https://github.com/openwrt/mt76 PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2021-11-23 -PKG_SOURCE_VERSION:=99225b985cbcab4707589f1fa313436f4bf1e368 -PKG_MIRROR_HASH:=6444c7d49d778c7621b03f0f201ce41f6dc9ac00dedb29c66478360b4fd60492 +PKG_SOURCE_DATE:=2021-12-02 +PKG_SOURCE_VERSION:=929a03a8d65daf912eb09ae07df522b863c7a8fc +PKG_MIRROR_HASH:=8078d9f40fa341936252d27447821e4826af800b07e5fc412abcea34e648be59 PKG_MAINTAINER:=Felix Fietkau PKG_USE_NINJA:=0 From b1e684fa88c171032e2da5437a507b63bf18d9e1 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 2 Dec 2021 13:52:18 +0100 Subject: [PATCH 02/26] mac80211: fix queue assignment of aggregation start requests Signed-off-by: Felix Fietkau (cherry-picked from commit 15d8c7aa74c202c530dbd53e53b00e418f0b64f4) --- ...DBA-requests-using-the-tid-queue-of-.patch | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 package/kernel/mac80211/patches/subsys/308-mac80211-send-ADDBA-requests-using-the-tid-queue-of-.patch diff --git a/package/kernel/mac80211/patches/subsys/308-mac80211-send-ADDBA-requests-using-the-tid-queue-of-.patch b/package/kernel/mac80211/patches/subsys/308-mac80211-send-ADDBA-requests-using-the-tid-queue-of-.patch new file mode 100644 index 0000000000..1c213289c5 --- /dev/null +++ b/package/kernel/mac80211/patches/subsys/308-mac80211-send-ADDBA-requests-using-the-tid-queue-of-.patch @@ -0,0 +1,28 @@ +From: Felix Fietkau +Date: Thu, 2 Dec 2021 13:30:05 +0100 +Subject: [PATCH] mac80211: send ADDBA requests using the tid/queue of the + aggregation session + +Sending them out on a different queue can cause a race condition where a +number of packets in the queue may be discarded by the receiver, because +the ADDBA request is sent too early. +This affects any driver with software A-MPDU setup which does not allocate +packet seqno in hardware on tx, regardless of whether iTXQ is used or not. +The only driver I've seen that explicitly deals with this issue internally +is mwl8k. + +Cc: stable@vger.kernel.org +Signed-off-by: Felix Fietkau +--- + +--- a/net/mac80211/agg-tx.c ++++ b/net/mac80211/agg-tx.c +@@ -106,7 +106,7 @@ static void ieee80211_send_addba_request + mgmt->u.action.u.addba_req.start_seq_num = + cpu_to_le16(start_seq_num << 4); + +- ieee80211_tx_skb(sdata, skb); ++ ieee80211_tx_skb_tid(sdata, skb, tid); + } + + void ieee80211_send_bar(struct ieee80211_vif *vif, u8 *ra, u16 tid, u16 ssn) From 1276ef9c1c2cc4bd3e6e26b0d5e667a52523dcab Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 2 Dec 2021 14:11:21 +0100 Subject: [PATCH 03/26] mac80211: fix tx aggregation locking issue Signed-off-by: Felix Fietkau (cherry-picked from commit a1a71a71999001502fa86136dbf8925da8341098) --- ...don-t-schedule_and_wake_txq-under-st.patch | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 package/kernel/mac80211/patches/subsys/309-mac80211-agg-tx-don-t-schedule_and_wake_txq-under-st.patch diff --git a/package/kernel/mac80211/patches/subsys/309-mac80211-agg-tx-don-t-schedule_and_wake_txq-under-st.patch b/package/kernel/mac80211/patches/subsys/309-mac80211-agg-tx-don-t-schedule_and_wake_txq-under-st.patch new file mode 100644 index 0000000000..008ee49cfb --- /dev/null +++ b/package/kernel/mac80211/patches/subsys/309-mac80211-agg-tx-don-t-schedule_and_wake_txq-under-st.patch @@ -0,0 +1,79 @@ +From: Johannes Berg +Date: Mon, 29 Nov 2021 15:32:47 +0200 +Subject: [PATCH] mac80211: agg-tx: don't schedule_and_wake_txq() under + sta->lock + +When we call ieee80211_agg_start_txq(), that will in turn call +schedule_and_wake_txq(). Called from ieee80211_stop_tx_ba_cb() +this is done under sta->lock, which leads to certain circular +lock dependencies, as reported by Chris Murphy: +https://lore.kernel.org/r/CAJCQCtSXJ5qA4bqSPY=oLRMbv-irihVvP7A2uGutEbXQVkoNaw@mail.gmail.com + +In general, ieee80211_agg_start_txq() is usually not called +with sta->lock held, only in this one place. But it's always +called with sta->ampdu_mlme.mtx held, and that's therefore +clearly sufficient. + +Change ieee80211_stop_tx_ba_cb() to also call it without the +sta->lock held, by factoring it out of ieee80211_remove_tid_tx() +(which is only called in this one place). + +This breaks the locking chain and makes it less likely that +we'll have similar locking chain problems in the future. + +Reported-by: Chris Murphy +Signed-off-by: Johannes Berg +Signed-off-by: Luca Coelho +--- + +--- a/net/mac80211/agg-tx.c ++++ b/net/mac80211/agg-tx.c +@@ -9,7 +9,7 @@ + * Copyright 2007, Michael Wu + * Copyright 2007-2010, Intel Corporation + * Copyright(c) 2015-2017 Intel Deutschland GmbH +- * Copyright (C) 2018 - 2020 Intel Corporation ++ * Copyright (C) 2018 - 2021 Intel Corporation + */ + + #include +@@ -213,6 +213,8 @@ ieee80211_agg_start_txq(struct sta_info + struct ieee80211_txq *txq = sta->sta.txq[tid]; + struct txq_info *txqi; + ++ lockdep_assert_held(&sta->ampdu_mlme.mtx); ++ + if (!txq) + return; + +@@ -290,7 +292,6 @@ static void ieee80211_remove_tid_tx(stru + ieee80211_assign_tid_tx(sta, tid, NULL); + + ieee80211_agg_splice_finish(sta->sdata, tid); +- ieee80211_agg_start_txq(sta, tid, false); + + kfree_rcu(tid_tx, rcu_head); + } +@@ -889,6 +890,7 @@ void ieee80211_stop_tx_ba_cb(struct sta_ + { + struct ieee80211_sub_if_data *sdata = sta->sdata; + bool send_delba = false; ++ bool start_txq = false; + + ht_dbg(sdata, "Stopping Tx BA session for %pM tid %d\n", + sta->sta.addr, tid); +@@ -906,10 +908,14 @@ void ieee80211_stop_tx_ba_cb(struct sta_ + send_delba = true; + + ieee80211_remove_tid_tx(sta, tid); ++ start_txq = true; + + unlock_sta: + spin_unlock_bh(&sta->lock); + ++ if (start_txq) ++ ieee80211_agg_start_txq(sta, tid, false); ++ + if (send_delba) + ieee80211_send_delba(sdata, sta->sta.addr, tid, + WLAN_BACK_INITIATOR, WLAN_REASON_QSTA_NOT_USE); From efc76b13610ccccb2d69c97e49abfaa3781930be Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 2 Dec 2021 14:27:22 +0100 Subject: [PATCH 04/26] mac80211: bump PKG_RELEASE Signed-off-by: Felix Fietkau --- package/kernel/mac80211/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile index d8268f158e..211bb346f3 100644 --- a/package/kernel/mac80211/Makefile +++ b/package/kernel/mac80211/Makefile @@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=mac80211 PKG_VERSION:=5.10.68-1 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.10.68/ PKG_HASH:=bba161b0084590c677a84b80993709e388a3c478f29ed0c475d4fce1b9162968 From 266890bb12d6d5b70430c7ef585f23cbb0aa435e Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 3 Dec 2021 10:56:17 +0100 Subject: [PATCH 05/26] mt76: update to the latest version 71e08471ab56 mt76: eeprom: fix return code on corrected bit-flips 9a8fc6636d83 mt76: move sar_capa configuration in common code 7cdbea1dc82a mt76: only access ieee80211_hdr after mt76_insert_ccmp_hdr 678071ef7029 mt76: mt7615: clear mcu error interrupt status on mt7663 Signed-off-by: Felix Fietkau (cherry-picked from commit fc4398fe71810f3bb5637bdfd0b3975a8ec858f0) --- package/kernel/mt76/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/kernel/mt76/Makefile b/package/kernel/mt76/Makefile index ca4ef5d137..8210478c37 100644 --- a/package/kernel/mt76/Makefile +++ b/package/kernel/mt76/Makefile @@ -8,9 +8,9 @@ PKG_LICENSE_FILES:= PKG_SOURCE_URL:=https://github.com/openwrt/mt76 PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2021-12-02 -PKG_SOURCE_VERSION:=929a03a8d65daf912eb09ae07df522b863c7a8fc -PKG_MIRROR_HASH:=8078d9f40fa341936252d27447821e4826af800b07e5fc412abcea34e648be59 +PKG_SOURCE_DATE:=2021-12-03 +PKG_SOURCE_VERSION:=678071ef70297b7264661c356ddb3c8cf7f3c87b +PKG_MIRROR_HASH:=b1f8613f7c65ca6a893f83ed9efc3f7ce72b9b4904fd11b89264f57f4f2a3b5e PKG_MAINTAINER:=Felix Fietkau PKG_USE_NINJA:=0 From 5124b96e7235af834b18c98651267bf7baffcb02 Mon Sep 17 00:00:00 2001 From: Hannu Nyman Date: Sat, 4 Dec 2021 16:49:42 +0200 Subject: [PATCH 06/26] busybox: update to 1.33.2 bugfix release Update busybox to 1.33.2, which includes only 5 commits after 1.33.1 Bug fix release. 1.33.2 has fixes for hush and ash (parsing fixes) and unlzma (fix where we could read before beginning of buffer). https://git.busybox.net/busybox/log/?h=1_33_2 Signed-off-by: Hannu Nyman --- package/utils/busybox/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/utils/busybox/Makefile b/package/utils/busybox/Makefile index 7ac042e9f7..a9d3013638 100644 --- a/package/utils/busybox/Makefile +++ b/package/utils/busybox/Makefile @@ -5,14 +5,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=busybox -PKG_VERSION:=1.33.1 +PKG_VERSION:=1.33.2 PKG_RELEASE:=$(AUTORELEASE) PKG_FLAGS:=essential PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://www.busybox.net/downloads \ http://sources.buildroot.net -PKG_HASH:=12cec6bd2b16d8a9446dd16130f2b92982f1819f6e1c5f5887b6db03f5660d28 +PKG_HASH:=6843ba7977081e735fa0fdb05893e3c002c8c5ad7c9c80da206e603cc0ac47e7 PKG_BUILD_DEPENDS:=BUSYBOX_CONFIG_PAM:libpam PKG_BUILD_PARALLEL:=1 From c67509efd7d0c43eb3f622f06c8a31aa28d22f6e Mon Sep 17 00:00:00 2001 From: "Sergey V. Lobanov" Date: Fri, 26 Nov 2021 20:26:17 +0300 Subject: [PATCH 07/26] ramips: fix tl-mr3020-v3 switch topology to configure vlans via luci Currently it is not possible to configure VLANs via LUCI on tplink tl-mr3020-v3. This patch fixes switch topology for the LUCI interface. Signed-off-by: Sergey V. Lobanov [copied commit message from github PR] Signed-off-by: Christian Lamparter (cherry picked from commit e22c91e144d63ccbd7b76b370a53652c48db1d6f) --- target/linux/ramips/mt76x8/base-files/etc/board.d/02_network | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network index 82794be60b..7fc69ac8b2 100755 --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network @@ -25,7 +25,6 @@ ramips_setup_interfaces() tplink,re200-v4|\ tplink,re220-v2|\ tplink,re305-v1|\ - tplink,tl-mr3020-v3|\ tplink,tl-wr802n-v4|\ tplink,tl-wa801nd-v5|\ widora,neo-16m|\ @@ -34,6 +33,10 @@ ramips_setup_interfaces() ucidef_add_switch_attr "switch0" "enable" "false" ucidef_set_interface_lan "eth0" ;; + tplink,tl-mr3020-v3) + ucidef_add_switch "switch0" \ + "0:lan" "6@eth0" + ;; asus,rt-n10p-v3|\ asus,rt-n11p-b1|\ asus,rt-n12-vp-b1|\ From 06547e0a58daf768ff9776339cd31231dcd5c0ea Mon Sep 17 00:00:00 2001 From: Evgeniy Isaev Date: Tue, 11 May 2021 13:45:51 +0500 Subject: [PATCH 08/26] ath79: add support for Xiaomi AIoT Router AC2350 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Device specifications * SoC: QCA9563 @ 775MHz (MIPS 74Kc) * RAM: 128MiB DDR2 * Flash: 16MiB SPI-NOR (EN25QH128) * Wireless 2.4GHz (SoC): b/g/n, 3x3 * Wireless 5Ghz (QCA9988): a/n/ac, 4x4 MU-MIMO * IoT Wireless 2.4GHz (QCA6006): currently unusable * Ethernet (AR8327): 3 LAN × 1GbE, 1 WAN × 1GbE * LEDs: Internet (blue/orange), System (blue/orange) * Buttons: Reset * UART: through-hole on PCB ([VCC 3.3v](RX)(GND)(TX) 115200, 8n1) * Power: 12VDC, 1,5A MAC addresses map (like in OEM firmware) art@0x0 88:C3:97:*:57 wan/label art@0x1002 88:C3:97:*:2D lan/wlan2g art@0x5006 88:C3:97:*:2C wlan5g Obtain SSH Access 1. Download and flash the firmware version 1.3.8 (China). 2. Login to the router web interface and get the value of `stok=` from the URL 3. Open a new tab and go to the following URL (replace with the stok value gained above; line breaks are only for easier handling, please put together all four lines into a single URL without any spaces): http://192.168.31.1/cgi-bin/luci/;stok=/api/misystem/set_config_iotdev ?bssid=any&user_id=any&ssid=-h%0Anvram%20set%20ssh_en%3D1%0Anvram%20commit %0Ased%20-i%20%27s%2Fchannel%3D.%2A%2Fchannel%3D%5C%5C%22debug%5C%5C%22%2F g%27%20%2Fetc%2Finit.d%2Fdropbear%0A%2Fetc%2Finit.d%2Fdropbear%20start%0A 4. Wait 30-60 seconds (this is the time required to generate keys for the SSH server on the router). Create Full Backup 1. Obtain SSH Access. 2. Create backup of all flash (on router): dd if=/dev/mtd0 of=/tmp/ALL.backup 3. Copy backup to PC (on PC): scp root@192.168.31.1:/tmp/ALL.backup ./ Tip: backup of the original firmware, taken three times, increases the chances of recovery :) Calculate The Password * Locally using shell (replace "12345/E0QM98765" with your router's serial number): On Linux printf "%s6d2df50a-250f-4a30-a5e6-d44fb0960aa0" "12345/E0QM98765" | \ md5sum - | head -c8 && echo On macOS printf "%s6d2df50a-250f-4a30-a5e6-d44fb0960aa0" "12345/E0QM98765" | \ md5 | head -c8 * Locally using python script (replace "12345/E0QM98765" with your router's serial number): wget https://raw.githubusercontent.com/eisaev/ax3600-files/master/scripts/calc_passwd.py python3.7 -c 'from calc_passwd import calc_passwd; print(calc_passwd("12345/E0QM98765"))' * Online https://www.oxygen7.cn/miwifi/ Debricking (lite) If you have a healthy bootloader, you can use recovery via TFTP using programs like TinyPXE on Windows or dnsmasq on Linux. To switch the router to TFTP recovery mode, hold down the reset button, connect the power supply, and release the button after about 10 seconds. The router must be connected directly to the PC via the LAN port. Debricking You will need a full dump of your flash, a CH341 programmer, and a clip for in-circuit programming. Install OpenWRT 1. Obtain SSH Access. 2. Create script (on router): echo '#!/bin/sh' > /tmp/flash_fw.sh echo >> /tmp/flash_fw.sh echo '. /bin/boardupgrade.sh' >> /tmp/flash_fw.sh echo >> /tmp/flash_fw.sh echo 'board_prepare_upgrade' >> /tmp/flash_fw.sh echo 'mtd erase rootfs_data' >> /tmp/flash_fw.sh echo 'mtd write /tmp/openwrt.bin firmware' >> /tmp/flash_fw.sh echo 'sleep 3' >> /tmp/flash_fw.sh echo 'reboot' >> /tmp/flash_fw.sh echo >> /tmp/flash_fw.sh chmod +x /tmp/flash_fw.sh 3. Copy `openwrt-ath79-generic-xiaomi_aiot-ac2350-squashfs-sysupgrade.bin` to the router (on PC): scp openwrt-ath79-generic-xiaomi_aiot-ac2350-squashfs-sysupgrade.bin \ root@192.168.31.1:/tmp/openwrt.bin 4. Flash OpenWRT (on router): /bin/ash /tmp/flash_fw.sh & 5. SSH connection will be interrupted - this is normal. 6. Wait for the indicator to turn blue. Signed-off-by: Evgeniy Isaev [improve commit message formatting slightly] Signed-off-by: Adrian Schmutzler (cherry picked from commit 6c148116f778bfd2db88476cee4753b32538eafe) --- .../ath79/dts/qca9563_xiaomi_aiot-ac2350.dts | 177 ++++++++++++++++++ .../generic/base-files/etc/board.d/01_leds | 3 + .../generic/base-files/etc/board.d/02_network | 6 +- .../etc/hotplug.d/firmware/11-ath10k-caldata | 5 + target/linux/ath79/image/generic.mk | 9 + 5 files changed, 199 insertions(+), 1 deletion(-) create mode 100644 target/linux/ath79/dts/qca9563_xiaomi_aiot-ac2350.dts diff --git a/target/linux/ath79/dts/qca9563_xiaomi_aiot-ac2350.dts b/target/linux/ath79/dts/qca9563_xiaomi_aiot-ac2350.dts new file mode 100644 index 0000000000..d8fc589d58 --- /dev/null +++ b/target/linux/ath79/dts/qca9563_xiaomi_aiot-ac2350.dts @@ -0,0 +1,177 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qca956x.dtsi" + +#include +#include + +/ { + model = "Xiaomi AIoT AC2350"; + compatible = "xiaomi,aiot-ac2350", "qca,qca9563"; + + aliases { + label-mac-device = ð0; + + led-boot = &led_system_orange; + led-failsafe = &led_system_orange; + led-running = &led_system_blue; + led-upgrade = &led_system_orange; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&gpio 2 GPIO_ACTIVE_HIGH>; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_system_blue: system_blue { + label = "blue:system"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + }; + + led_system_orange: system_orange { + label = "orange:system"; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + }; + + wan_blue { + label = "blue:wan"; + gpios = <&gpio 8 GPIO_ACTIVE_LOW>; + }; + + wan_orange { + label = "orange:wan"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + }; + + gpio-export { + compatible = "gpio-export"; + + wps { + gpio-export,name = "wps"; + gpio-export,output = <0>; + gpios = <&gpio 1 GPIO_ACTIVE_HIGH>; + }; + + usb-reset { + gpio-export,name = "usb-reset"; + gpio-export,output = <0>; + gpios = <&gpio 19 GPIO_ACTIVE_HIGH>; + }; + }; +}; + +&spi { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <50000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "Bootloader"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "Nvram"; + reg = <0x30000 0x10000>; + }; + + partition@40000 { + label = "Bdata"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "crash"; + reg = <0x50000 0x10000>; + read-only; + }; + + art: partition@60000 { + label = "art"; + reg = <0x60000 0x10000>; + read-only; + }; + + partition@70000 { + label = "cfg_bak"; + reg = <0x70000 0x20000>; + read-only; + }; + + partition@90000 { + label = "overlay"; + reg = <0x90000 0x170000>; + read-only; + }; + + partition@200000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x200000 0xe00000>; + }; + }; + }; +}; + +&mdio0 { + status = "okay"; + + phy-mask = <0x1>; + + phy0: ethernet-phy@0 { + reg = <0>; + phy-mode = "sgmii"; + + qca,ar8327-initvals = < + 0x04 0x00000080 /* PORT0 PAD MODE CTRL */ + 0x08 0x01000000 /* PORT5 PAD MODE CTRL */ + 0x0c 0x00000000 /* PORT6 PAD MODE CTRL */ + 0x10 0x602613a0 /* POWER_ON_STRAP */ + 0x50 0xcf35cf35 /* LED_CTRL0 */ + 0x54 0xca35ca35 /* LED_CTRL1 */ + 0x58 0xc935c935 /* LED_CTRL2 */ + 0x5c 0x03ffff00 /* LED_CTRL3 */ + 0x7c 0x000000fe /* PORT0_STATUS */ + 0x94 0x000010c2 /* PORT6_STATUS */ + 0xe0 0xc74164de /* SGMII_CTRL */ + >; + }; +}; + +ð0 { + status = "okay"; + + phy-mode = "sgmii"; + phy-handle = <&phy0>; + + mtd-mac-address = <&art 0x0>; +}; + +&wmac { + status = "okay"; + + mtd-cal-data = <&art 0x1000>; +}; + +&pcie { + status = "okay"; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds b/target/linux/ath79/generic/base-files/etc/board.d/01_leds index 7c5eeb1112..3031b4703b 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds @@ -407,6 +407,9 @@ wd,mynet-wifi-rangeextender) ucidef_set_led_rssi "rssimedium" "RSSIMED" "blue:rssi-med" "wlan0" "33" "100" ucidef_set_led_rssi "rssihigh" "RSSIMAX" "blue:rssi-max" "wlan0" "66" "100" ;; +xiaomi,aiot-ac2350) + ucidef_set_led_switch "wan" "WAN" "blue:wan" "switch0" "0x02" + ;; yuncore,a770) ucidef_set_led_netdev "wan" "WAN" "green:wan" "eth1" ucidef_set_led_switch "lan" "LAN" "green:lan" "switch0" "0x10" diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index c4d9d76941..d4f53e7dae 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -310,7 +310,8 @@ ath79_setup_interfaces() ucidef_add_switch "switch0" \ "0@eth0" "2:lan" "3:wan" ;; - nec,wg800hp) + nec,wg800hp|\ + xiaomi,aiot-ac2350) ucidef_add_switch "switch0" \ "0@eth0" "2:lan" "3:lan" "4:lan" "1:wan" ;; @@ -663,6 +664,9 @@ ath79_setup_macs() wd,mynet-wifi-rangeextender) lan_mac=$(nvram get et0macaddr) ;; + xiaomi,aiot-ac2350) + lan_mac=$(mtd_get_mac_binary art 0x1002) + ;; zyxel,nbg6616) label_mac=$(mtd_get_mac_ascii u-boot-env ethaddr) ;; diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index 783895525b..14103a7310 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -243,6 +243,11 @@ case "$FIRMWARE" in caldata_extract "art" 0x5000 0x2f20 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) +1) ;; + xiaomi,aiot-ac2350) + caldata_extract "art" 0x5000 0x2f20 + ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \ + /lib/firmware/ath10k/QCA9984/hw1.0/board.bin + ;; yuncore,a782|\ yuncore,xd4200) caldata_extract "art" 0x5000 0x2f20 diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 5ba64b9803..ac9fa2b3de 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -2203,6 +2203,15 @@ define Device/winchannel_wb2000 endef TARGET_DEVICES += winchannel_wb2000 +define Device/xiaomi_aiot-ac2350 + SOC := qca9563 + DEVICE_VENDOR := Xiaomi + DEVICE_MODEL := AIoT AC2350 + DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9984-ct + IMAGE_SIZE := 14336k +endef +TARGET_DEVICES += xiaomi_aiot-ac2350 + define Device/xiaomi_mi-router-4q SOC := qca9561 DEVICE_VENDOR := Xiaomi From 14940aee4566cff33fff9e068fb9559a1925cf44 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 5 Dec 2021 16:43:36 +0000 Subject: [PATCH 09/26] kernel: bump 5.4 to 5.4.163 Removed upstreamed: target/linux/mvebu/patches-5.4/001-PCI-aardvark-Wait-for-endpoint-to-be-ready-before-tr.patch target/linux/mvebu/patches-5.4/016-PCI-aardvark-Train-link-immediately-after-enabling-t.patch target/linux/mvebu/patches-5.4/017-PCI-aardvark-Improve-link-training.patch target/linux/mvebu/patches-5.4/018-PCI-aardvark-Issue-PERST-via-GPIO.patch target/linux/mvebu/patches-5.4/020-arm64-dts-marvell-armada-37xx-Set-pcie_reset_pin-to-.patch The following patch does not apply to upstream any more and needs some more work to make it work fully again. I am not sure if we are still able to set the UART to a none standard baud rate. target/linux/ath79/patches-5.4/921-serial-core-add-support-for-boot-console-with-arbitr.patch These patches needed manually changes: target/linux/generic/pending-5.4/110-ehci_hcd_ignore_oc.patch target/linux/ipq806x/patches-5.4/0065-arm-override-compiler-flags.patch target/linux/layerscape/patches-5.4/804-crypto-0016-MLKU-114-1-crypto-caam-reduce-page-0-regs-access-to-.patch target/linux/mvebu/patches-5.4/019-PCI-aardvark-Add-PHY-support.patch target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch All others updated automatically. Compile-tested on: malta/le, armvirt/64, lantiq/xrx200 Runtime-tested on: malta/le, armvirt/64, lantiq/xrx200 Signed-off-by: Hauke Mehrtens --- include/kernel-version.mk | 4 +- ...mware-loader-for-uPD720201-and-uPD72.patch | 10 +- .../802-usb-xhci-force-msi-renesas-xhci.patch | 2 +- .../910-unaligned_access_hacks.patch | 2 +- ...support-for-boot-console-with-arbitr.patch | 54 ----- .../950-0037-Add-dwc_otg-driver.patch | 2 +- ...oup-Disable-cgroup-memory-by-default.patch | 8 +- ...Show-that-the-VIA-VL805-supports-LPM.patch | 2 +- ...or-host-controllers-that-don-t-updat.patch | 2 +- ...-inbound-resource-parsing-to-helpers.patch | 6 +- ...finitions-for-HEVC-stateless-decodin.patch | 2 +- ...h-Add-a-format-for-column-YUV4-2-0-m.patch | 2 +- ...-0504-mmc-sdhci-Silence-MMC-warnings.patch | 4 +- ...core-Add-sensor-ancillary-data-V4L2-.patch | 2 +- ...core-Add-ISP-statistics-output-V4L2-.patch | 2 +- ...car-csi2-Negotiate-data-lanes-number.patch | 6 +- ...l-Add-14-bit-raw-bayer-pixel-formats.patch | 2 +- ...dd-14-bit-raw-greyscale-pixel-format.patch | 2 +- ...l-format-for-MIPI-packed-12bit-luma-.patch | 2 +- ...l-format-for-MIPI-packed-14bit-luma-.patch | 2 +- ...tft-Add-support-for-display-variants.patch | 6 +- ...-quirks-add-link-TRB-quirk-for-VL805.patch | 2 +- ...M-dts-BCM5301X-Specify-PWM-in-the-DT.patch | 4 +- ...dts-BCM5301X-Specify-uart2-in-the-DT.patch | 2 +- ...dts-BCM5301X-Specify-pcie2-in-the-DT.patch | 2 +- ...1X-Harmonize-EHCI-OHCI-DT-nodes-name.patch | 4 +- ...CM5310X-Harmonize-xHCI-DT-nodes-name.patch | 2 +- ...-Use-corretc-pinctrl-compatible-for-.patch | 2 +- ...01X-Update-Ethernet-switch-node-name.patch | 2 +- ...-Add-a-default-compatible-for-switch.patch | 2 +- ...-Provide-defaults-ports-container-no.patch | 2 +- ...01X-Update-Northstar-pinctrl-binding.patch | 2 +- ...low-limiting-ports-for-ehci-platform.patch | 2 +- ...IPS-BCM63XX-add-support-for-BCM63268.patch | 4 +- ...MIPS-BCM63XX-add-support-for-BCM6318.patch | 6 +- ...X-add-clkdev-lookups-for-device-tree.patch | 20 +- .../430-MIPS-BCM63XX-add-nand-clocks.patch | 6 +- ...ast-GRO-for-skbs-with-Ethernet-heade.patch | 2 +- ...sfs-attributes-for-VPD-pages-0h-and-.patch | 6 +- .../301-mips_image_cmdline_hack.patch | 2 +- .../661-use_fq_codel_by_default.patch | 2 +- .../generic/hack-5.4/721-phy_packets.patch | 2 +- .../generic/hack-5.4/902-debloat_proc.patch | 2 +- .../hack-5.4/904-debloat_dma_buf.patch | 4 +- ...CPU_MIPS64-for-remaining-MIPS64-CPUs.patch | 2 +- .../pending-5.4/110-ehci_hcd_ignore_oc.patch | 8 +- .../300-mips_expose_boot_raw.patch | 4 +- ...-support-hardware-flow-table-offload.patch | 4 +- ...ng-with-source-address-failed-policy.patch | 18 +- ...T-skip-GRO-for-foreign-MAC-addresses.patch | 10 +- ...dd-support-for-threaded-NAPI-polling.patch | 18 +- .../0065-arm-override-compiler-flags.patch | 6 +- .../0001-MIPS-lantiq-add-pcie-driver.patch | 2 +- .../lantiq/patches-5.4/0152-lantiq-VPE.patch | 2 +- ...t-to-remap-kernel-cacheable-memory-t.patch | 2 +- ...d-support-to-map-cacheable-and-non-s.patch | 2 +- ...-dts-0011-ARM-dts-accumulated-change.patch | 14 +- ...DWC3-IP-VBUS-glitch-issue-on-LS1021A.patch | 2 +- ...replace-ftm0-with-ftm_alarm0-DT-node.patch | 7 +- ...fix-that-FlexTimer-cannot-wakeup-sys.patch | 2 +- ...-fsl-Add-clock-names-mclk0-for-SAI-n.patch | 4 +- ...link-too-be-created-with-a-cftype-fi.patch | 4 +- ...bfq-revert-bfq.weight-symlink-change.patch | 4 +- ...t-break-apart-ocelot_vlan_port_apply.patch | 12 +- ...break-out-fdb-operations-into-abstra.patch | 2 +- ...change-prototypes-of-hwtstamping-ioc.patch | 4 +- ...change-prototypes-of-switchdev-port-.patch | 10 +- ...refactor-struct-ocelot_port-out-of-f.patch | 14 +- ...separate-net_device-related-items-ou.patch | 28 +-- ...cc-ocelot-refactor-ethtool-callbacks.patch | 10 +- ...move-port-initialization-into-separa.patch | 6 +- ...initialize-list-of-multicast-address.patch | 2 +- ...split-assignment-of-the-cpu-port-int.patch | 6 +- ...don-t-hardcode-the-number-of-the-CPU.patch | 4 +- ...move-invariant-configs-out-of-adjust.patch | 2 +- ...create-a-helper-for-changing-the-por.patch | 6 +- ...adjust-MTU-on-the-CPU-port-in-NPI-mo.patch | 2 +- ...separate-the-implementation-of-switc.patch | 2 +- ...publish-structure-definitions-to-inc.patch | 30 +-- ...export-ocelot_hwstamp_get-set-functi.patch | 2 +- ...t-use-skb-queue-instead-of-skbs-list.patch | 6 +- ...scc-ocelot-tsn-configuration-support.patch | 2 +- ...ocelot-add-VCAP-IS2-rule-to-trap-PTP.patch | 6 +- ...Workaround-to-allow-traffic-to-CPU-i.patch | 2 +- ..._ocelot-don-t-flood-unicast-traffic-.patch | 4 +- ...K-19053-crypto-caam-RNG4-TRNG-errata.patch | 2 +- ...o-caam-reduce-page-0-regs-access-to-.patch | 12 +- ...rypto-caam-add-Secure-Memory-support.patch | 10 +- ...-caam-Change-structure-type-represen.patch | 4 +- ...2-2-crypto-caam-add-power-management.patch | 2 +- ...aer-pme-interrupts-with-none-MSI-MSI.patch | 2 +- ...move-EH-SINGLE_STEP_SET_FEATURE-impl.patch | 2 +- ...host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch | 2 +- ...e-print-suggested-message-if-failed-.patch | 2 +- ...st-xhci-do-warm-reset-for-link-state.patch | 2 +- ...agate-resolved-link-config-via-mac_l.patch | 2 +- ...t-for-endpoint-to-be-ready-before-tr.patch | 50 ----- ...in-link-immediately-after-enabling-t.patch | 60 ----- ...7-PCI-aardvark-Improve-link-training.patch | 208 ------------------ ...18-PCI-aardvark-Issue-PERST-via-GPIO.patch | 123 ----------- .../019-PCI-aardvark-Add-PHY-support.patch | 14 +- ...l-armada-37xx-Set-pcie_reset_pin-to-.patch | 93 -------- ...-t-touch-PCIe-registers-if-no-card-c.patch | 4 +- ...-initialization-with-old-Marvell-s-A.patch | 2 +- ...r-Gateworks-PLX-PEX860x-switch-with-.patch | 6 +- ...0031-uvc-add-iPassion-iP2970-support.patch | 6 +- ...erial-add-ugly-custom-baud-rate-hack.patch | 2 +- .../ramips/patches-5.4/0098-disable_cm.patch | 4 +- ...122-mips-ralink-enable-zboot-support.patch | 2 +- .../300-mips-add-rtl838x-platform.patch | 2 +- .../302-clocksource-add-rtl9300-driver.patch | 4 +- 111 files changed, 260 insertions(+), 847 deletions(-) delete mode 100644 target/linux/ath79/patches-5.4/921-serial-core-add-support-for-boot-console-with-arbitr.patch delete mode 100644 target/linux/mvebu/patches-5.4/001-PCI-aardvark-Wait-for-endpoint-to-be-ready-before-tr.patch delete mode 100644 target/linux/mvebu/patches-5.4/016-PCI-aardvark-Train-link-immediately-after-enabling-t.patch delete mode 100644 target/linux/mvebu/patches-5.4/017-PCI-aardvark-Improve-link-training.patch delete mode 100644 target/linux/mvebu/patches-5.4/018-PCI-aardvark-Issue-PERST-via-GPIO.patch delete mode 100644 target/linux/mvebu/patches-5.4/020-arm64-dts-marvell-armada-37xx-Set-pcie_reset_pin-to-.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 688660cbbd..ecb2857263 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) endif -LINUX_VERSION-5.4 = .158 +LINUX_VERSION-5.4 = .163 -LINUX_KERNEL_HASH-5.4.158 = 6e018fecdc8fc24553756e582d83b82d65b10a6b03ef36262a24911f839b8d59 +LINUX_KERNEL_HASH-5.4.163 = 6246fe1776d83039d71f74eb839f38ebdec23e1b37a7bf76f3bce13cbf0290be remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/apm821xx/patches-5.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch b/target/linux/apm821xx/patches-5.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch index 220e5da73b..b85f62e680 100644 --- a/target/linux/apm821xx/patches-5.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch +++ b/target/linux/apm821xx/patches-5.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch @@ -48,7 +48,7 @@ Signed-off-by: Vinod Koul #include "xhci.h" #include "xhci-trace.h" -@@ -65,6 +67,44 @@ +@@ -72,6 +74,44 @@ #define PCI_DEVICE_ID_ASMEDIA_2142_XHCI 0x2142 #define PCI_DEVICE_ID_ASMEDIA_3242_XHCI 0x3242 @@ -93,7 +93,7 @@ Signed-off-by: Vinod Koul static const char hcd_name[] = "xhci_hcd"; static struct hc_driver __read_mostly xhci_pci_hc_driver; -@@ -311,6 +351,873 @@ static void xhci_pme_acpi_rtd3_enable(st +@@ -327,6 +367,873 @@ static void xhci_pme_acpi_rtd3_enable(st static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { } #endif /* CONFIG_ACPI */ @@ -967,7 +967,7 @@ Signed-off-by: Vinod Koul /* called during probe() after chip reset completes */ static int xhci_pci_setup(struct usb_hcd *hcd) { -@@ -352,6 +1259,27 @@ static int xhci_pci_probe(struct pci_dev +@@ -368,6 +1275,27 @@ static int xhci_pci_probe(struct pci_dev struct hc_driver *driver; struct usb_hcd *hcd; @@ -995,7 +995,7 @@ Signed-off-by: Vinod Koul driver = (struct hc_driver *)id->driver_data; /* Prevent runtime suspending between USB-2 and USB-3 initialization */ -@@ -413,6 +1341,16 @@ static void xhci_pci_remove(struct pci_d +@@ -429,6 +1357,16 @@ static void xhci_pci_remove(struct pci_d { struct xhci_hcd *xhci; @@ -1012,7 +1012,7 @@ Signed-off-by: Vinod Koul xhci = hcd_to_xhci(pci_get_drvdata(dev)); xhci->xhc_state |= XHCI_STATE_REMOVING; -@@ -552,6 +1490,11 @@ static int xhci_pci_resume(struct usb_hc +@@ -568,6 +1506,11 @@ static int xhci_pci_resume(struct usb_hc if (pdev->vendor == PCI_VENDOR_ID_INTEL) usb_enable_intel_xhci_ports(pdev); diff --git a/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch b/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch index 6980ce80ee..1fe38dc60a 100644 --- a/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch +++ b/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch @@ -13,7 +13,7 @@ produce a noisy warning. --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c -@@ -290,6 +290,7 @@ static void xhci_pci_quirks(struct devic +@@ -297,6 +297,7 @@ static void xhci_pci_quirks(struct devic pdev->device == 0x0015) { xhci->quirks |= XHCI_RESET_ON_RESUME; xhci->quirks |= XHCI_ZERO_64B_REGS; diff --git a/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch index d2200c8976..26c4a7b213 100644 --- a/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch @@ -754,7 +754,7 @@ ptr = ip6hoff + sizeof(struct ipv6hdr); --- a/include/net/neighbour.h +++ b/include/net/neighbour.h -@@ -274,8 +274,10 @@ static inline bool neigh_key_eq128(const +@@ -275,8 +275,10 @@ static inline bool neigh_key_eq128(const const u32 *n32 = (const u32 *)n->primary_key; const u32 *p32 = pkey; diff --git a/target/linux/ath79/patches-5.4/921-serial-core-add-support-for-boot-console-with-arbitr.patch b/target/linux/ath79/patches-5.4/921-serial-core-add-support-for-boot-console-with-arbitr.patch deleted file mode 100644 index 2a2aafa568..0000000000 --- a/target/linux/ath79/patches-5.4/921-serial-core-add-support-for-boot-console-with-arbitr.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 4d3c17975c7814884a721fe693b3adf5c426d759 Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens -Date: Tue, 10 Nov 2015 22:18:39 +0100 -Subject: [RFC] serial: core: add support for boot console with arbitrary - baud rates - -The Arduino Yun uses a baud rate of 250000 by default. The serial is -going over the Atmel ATmega and is used to connect to this chip. -Without this patch Linux wants to switch the console to 9600 Baud. - -With this patch Linux will use the configured baud rate and not a -default one specified in uart_register_driver(). - -Signed-off-by: Hauke Mehrtens -[rebased to 4.14, slightly reworded commit message] -Signed-off-by: Sungbo Eo ---- - drivers/tty/serial/serial_core.c | 6 +++++- - include/linux/console.h | 1 + - 2 files changed, 6 insertions(+), 1 deletions(-) - ---- a/drivers/tty/serial/serial_core.c -+++ b/drivers/tty/serial/serial_core.c -@@ -220,6 +220,8 @@ static int uart_port_startup(struct tty_ - if (retval == 0) { - if (uart_console(uport) && uport->cons->cflag) { - tty->termios.c_cflag = uport->cons->cflag; -+ tty->termios.c_ospeed = uport->cons->baud; -+ tty->termios.c_ispeed = uport->cons->baud; - uport->cons->cflag = 0; - } - /* -@@ -2110,8 +2112,10 @@ uart_set_options(struct uart_port *port, - * Allow the setting of the UART parameters with a NULL console - * too: - */ -- if (co) -+ if (co) { - co->cflag = termios.c_cflag; -+ co->baud = baud; -+ } - - return 0; - } ---- a/include/linux/console.h -+++ b/include/linux/console.h -@@ -153,6 +153,7 @@ struct console { - short flags; - short index; - int cflag; -+ int baud; - void *data; - struct console *next; - }; diff --git a/target/linux/bcm27xx/patches-5.4/950-0037-Add-dwc_otg-driver.patch b/target/linux/bcm27xx/patches-5.4/950-0037-Add-dwc_otg-driver.patch index f514d9940d..b7cf6857ab 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0037-Add-dwc_otg-driver.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0037-Add-dwc_otg-driver.patch @@ -1040,7 +1040,7 @@ Signed-off-by: Jonathan Bell } --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5369,7 +5369,7 @@ static void port_event(struct usb_hub *h +@@ -5379,7 +5379,7 @@ static void port_event(struct usb_hub *h port_dev->over_current_count++; port_over_current_notify(port_dev); diff --git a/target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch b/target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch index d4818b2239..aa7629ac0b 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch @@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c -@@ -5721,6 +5721,9 @@ int __init cgroup_init_early(void) +@@ -5744,6 +5744,9 @@ int __init cgroup_init_early(void) return 0; } @@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell /** * cgroup_init - cgroup initialization * -@@ -5759,6 +5762,12 @@ int __init cgroup_init(void) +@@ -5782,6 +5785,12 @@ int __init cgroup_init(void) mutex_unlock(&cgroup_mutex); @@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell for_each_subsys(ss, ssid) { if (ss->early_init) { struct cgroup_subsys_state *css = -@@ -6168,6 +6177,10 @@ static int __init cgroup_disable(char *s +@@ -6191,6 +6200,10 @@ static int __init cgroup_disable(char *s strcmp(token, ss->legacy_name)) continue; @@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell static_branch_disable(cgroup_subsys_enabled_key[i]); pr_info("Disabling %s control group subsystem\n", ss->name); -@@ -6177,6 +6190,31 @@ static int __init cgroup_disable(char *s +@@ -6200,6 +6213,31 @@ static int __init cgroup_disable(char *s } __setup("cgroup_disable=", cgroup_disable); diff --git a/target/linux/bcm27xx/patches-5.4/950-0211-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch b/target/linux/bcm27xx/patches-5.4/950-0211-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch index cf3cb58362..dfc6193625 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0211-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0211-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch @@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c -@@ -259,6 +259,10 @@ static void xhci_pci_quirks(struct devic +@@ -266,6 +266,10 @@ static void xhci_pci_quirks(struct devic pdev->device == 0x3432) xhci->quirks |= XHCI_BROKEN_STREAMS; diff --git a/target/linux/bcm27xx/patches-5.4/950-0264-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch b/target/linux/bcm27xx/patches-5.4/950-0264-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch index 683f0905ef..e5cff71905 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0264-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0264-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch @@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c -@@ -260,8 +260,10 @@ static void xhci_pci_quirks(struct devic +@@ -267,8 +267,10 @@ static void xhci_pci_quirks(struct devic xhci->quirks |= XHCI_BROKEN_STREAMS; if (pdev->vendor == PCI_VENDOR_ID_VIA && diff --git a/target/linux/bcm27xx/patches-5.4/950-0441-PCI-of-Add-inbound-resource-parsing-to-helpers.patch b/target/linux/bcm27xx/patches-5.4/950-0441-PCI-of-Add-inbound-resource-parsing-to-helpers.patch index bbcb3aeeda..8f21837db7 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0441-PCI-of-Add-inbound-resource-parsing-to-helpers.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0441-PCI-of-Add-inbound-resource-parsing-to-helpers.patch @@ -82,7 +82,7 @@ Cc: linux-rockchip@lists.infradead.org --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -1176,7 +1176,8 @@ static int advk_pcie_probe(struct platfo +@@ -1523,7 +1523,8 @@ static int advk_pcie_probe(struct platfo return ret; } @@ -402,7 +402,7 @@ Cc: linux-rockchip@lists.infradead.org } --- a/include/linux/pci.h +++ b/include/linux/pci.h -@@ -2279,6 +2279,7 @@ struct irq_domain; +@@ -2281,6 +2281,7 @@ struct irq_domain; struct irq_domain *pci_host_bridge_of_msi_domain(struct pci_bus *bus); int pci_parse_request_of_pci_ranges(struct device *dev, struct list_head *resources, @@ -410,7 +410,7 @@ Cc: linux-rockchip@lists.infradead.org struct resource **bus_range); /* Arch may override this (weak) */ -@@ -2287,9 +2288,11 @@ struct device_node *pcibios_get_phb_of_n +@@ -2289,9 +2290,11 @@ struct device_node *pcibios_get_phb_of_n #else /* CONFIG_OF */ static inline struct irq_domain * pci_host_bridge_of_msi_domain(struct pci_bus *bus) { return NULL; } diff --git a/target/linux/bcm27xx/patches-5.4/950-0492-media-v4l-Add-definitions-for-HEVC-stateless-decodin.patch b/target/linux/bcm27xx/patches-5.4/950-0492-media-v4l-Add-definitions-for-HEVC-stateless-decodin.patch index effff9b748..f0c311d916 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0492-media-v4l-Add-definitions-for-HEVC-stateless-decodin.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0492-media-v4l-Add-definitions-for-HEVC-stateless-decodin.patch @@ -838,7 +838,7 @@ Signed-off-by: Mauro Carvalho Chehab break; --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c -@@ -1356,6 +1356,7 @@ static void v4l_fill_fmtdesc(struct v4l2 +@@ -1374,6 +1374,7 @@ static void v4l_fill_fmtdesc(struct v4l2 case V4L2_PIX_FMT_VP8_FRAME: descr = "VP8 Frame"; break; case V4L2_PIX_FMT_VP9: descr = "VP9"; break; case V4L2_PIX_FMT_HEVC: descr = "HEVC"; break; /* aka H.265 */ diff --git a/target/linux/bcm27xx/patches-5.4/950-0499-media-videodev2.h-Add-a-format-for-column-YUV4-2-0-m.patch b/target/linux/bcm27xx/patches-5.4/950-0499-media-videodev2.h-Add-a-format-for-column-YUV4-2-0-m.patch index 5a309827e2..e2e0ec72db 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0499-media-videodev2.h-Add-a-format-for-column-YUV4-2-0-m.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0499-media-videodev2.h-Add-a-format-for-column-YUV4-2-0-m.patch @@ -278,7 +278,7 @@ Signed-off-by: Dave Stevenson pixfmt-nv24 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c -@@ -1258,6 +1258,8 @@ static void v4l_fill_fmtdesc(struct v4l2 +@@ -1276,6 +1276,8 @@ static void v4l_fill_fmtdesc(struct v4l2 case V4L2_PIX_FMT_NV61M: descr = "Y/CrCb 4:2:2 (N-C)"; break; case V4L2_PIX_FMT_NV12MT: descr = "Y/CbCr 4:2:0 (64x32 MB, N-C)"; break; case V4L2_PIX_FMT_NV12MT_16X16: descr = "Y/CbCr 4:2:0 (16x16 MB, N-C)"; break; diff --git a/target/linux/bcm27xx/patches-5.4/950-0504-mmc-sdhci-Silence-MMC-warnings.patch b/target/linux/bcm27xx/patches-5.4/950-0504-mmc-sdhci-Silence-MMC-warnings.patch index ba815eecfd..bf15071587 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0504-mmc-sdhci-Silence-MMC-warnings.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0504-mmc-sdhci-Silence-MMC-warnings.patch @@ -22,7 +22,7 @@ Signed-off-by: Maxime Ripard #define MAX_TUNING_LOOP 40 -@@ -2768,7 +2768,7 @@ static void sdhci_timeout_timer(struct t +@@ -2780,7 +2780,7 @@ static void sdhci_timeout_timer(struct t spin_lock_irqsave(&host->lock, flags); if (host->cmd && !sdhci_data_line_cmd(host->cmd)) { @@ -31,7 +31,7 @@ Signed-off-by: Maxime Ripard mmc_hostname(host->mmc)); sdhci_dumpregs(host); -@@ -2790,7 +2790,7 @@ static void sdhci_timeout_data_timer(str +@@ -2802,7 +2802,7 @@ static void sdhci_timeout_data_timer(str if (host->data || host->data_cmd || (host->cmd && sdhci_data_line_cmd(host->cmd))) { diff --git a/target/linux/bcm27xx/patches-5.4/950-0641-media-uapi-v4l2-core-Add-sensor-ancillary-data-V4L2-.patch b/target/linux/bcm27xx/patches-5.4/950-0641-media-uapi-v4l2-core-Add-sensor-ancillary-data-V4L2-.patch index 69414e381c..3fa056258c 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0641-media-uapi-v4l2-core-Add-sensor-ancillary-data-V4L2-.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0641-media-uapi-v4l2-core-Add-sensor-ancillary-data-V4L2-.patch @@ -65,7 +65,7 @@ Signed-off-by: Naushir Patuck + --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c -@@ -1332,6 +1332,7 @@ static void v4l_fill_fmtdesc(struct v4l2 +@@ -1350,6 +1350,7 @@ static void v4l_fill_fmtdesc(struct v4l2 case V4L2_META_FMT_VSP1_HGT: descr = "R-Car VSP1 2-D Histogram"; break; case V4L2_META_FMT_UVC: descr = "UVC Payload Header Metadata"; break; case V4L2_META_FMT_D4XX: descr = "Intel D4xx UVC Metadata"; break; diff --git a/target/linux/bcm27xx/patches-5.4/950-0669-media-uapi-v4l2-core-Add-ISP-statistics-output-V4L2-.patch b/target/linux/bcm27xx/patches-5.4/950-0669-media-uapi-v4l2-core-Add-ISP-statistics-output-V4L2-.patch index 082dff510c..d3404b8531 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0669-media-uapi-v4l2-core-Add-ISP-statistics-output-V4L2-.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0669-media-uapi-v4l2-core-Add-ISP-statistics-output-V4L2-.patch @@ -74,7 +74,7 @@ Signed-off-by: Naushir Patuck + --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c -@@ -1333,6 +1333,7 @@ static void v4l_fill_fmtdesc(struct v4l2 +@@ -1351,6 +1351,7 @@ static void v4l_fill_fmtdesc(struct v4l2 case V4L2_META_FMT_UVC: descr = "UVC Payload Header Metadata"; break; case V4L2_META_FMT_D4XX: descr = "Intel D4xx UVC Metadata"; break; case V4L2_META_FMT_SENSOR_DATA: descr = "Sensor Ancillary Metadata"; break; diff --git a/target/linux/bcm27xx/patches-5.4/950-0803-media-rcar-csi2-Negotiate-data-lanes-number.patch b/target/linux/bcm27xx/patches-5.4/950-0803-media-rcar-csi2-Negotiate-data-lanes-number.patch index f54b33e59c..def9ab09d5 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0803-media-rcar-csi2-Negotiate-data-lanes-number.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0803-media-rcar-csi2-Negotiate-data-lanes-number.patch @@ -119,7 +119,7 @@ Signed-off-by: Jacopo Mondi unsigned int i; int mbps, ret; -@@ -520,10 +571,18 @@ static int rcsi2_start_receiver(struct r +@@ -522,10 +573,18 @@ static int rcsi2_start_receiver(struct r fld |= FLD_FLD_NUM(1); } @@ -140,7 +140,7 @@ Signed-off-by: Jacopo Mondi if (mbps < 0) return mbps; -@@ -570,7 +629,7 @@ static int rcsi2_start_receiver(struct r +@@ -572,7 +631,7 @@ static int rcsi2_start_receiver(struct r rcsi2_write(priv, PHYCNT_REG, phycnt | PHYCNT_SHUTDOWNZ); rcsi2_write(priv, PHYCNT_REG, phycnt | PHYCNT_SHUTDOWNZ | PHYCNT_RSTZ); @@ -149,7 +149,7 @@ Signed-off-by: Jacopo Mondi if (ret) return ret; -@@ -747,6 +806,7 @@ static int rcsi2_notify_bound(struct v4l +@@ -749,6 +808,7 @@ static int rcsi2_notify_bound(struct v4l } priv->remote = subdev; diff --git a/target/linux/bcm27xx/patches-5.4/950-0844-media-v4l-Add-14-bit-raw-bayer-pixel-formats.patch b/target/linux/bcm27xx/patches-5.4/950-0844-media-v4l-Add-14-bit-raw-bayer-pixel-formats.patch index 1bb9a932a3..4717f0dbc5 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0844-media-v4l-Add-14-bit-raw-bayer-pixel-formats.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0844-media-v4l-Add-14-bit-raw-bayer-pixel-formats.patch @@ -125,7 +125,7 @@ Signed-off-by: Mauro Carvalho Chehab + - R\ :sub:`33high` --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c -@@ -1298,6 +1298,10 @@ static void v4l_fill_fmtdesc(struct v4l2 +@@ -1316,6 +1316,10 @@ static void v4l_fill_fmtdesc(struct v4l2 case V4L2_PIX_FMT_SGBRG12P: descr = "12-bit Bayer GBGB/RGRG Packed"; break; case V4L2_PIX_FMT_SGRBG12P: descr = "12-bit Bayer GRGR/BGBG Packed"; break; case V4L2_PIX_FMT_SRGGB12P: descr = "12-bit Bayer RGRG/GBGB Packed"; break; diff --git a/target/linux/bcm27xx/patches-5.4/950-0845-media-v4l-Add-14-bit-raw-greyscale-pixel-format.patch b/target/linux/bcm27xx/patches-5.4/950-0845-media-v4l-Add-14-bit-raw-greyscale-pixel-format.patch index 1910668595..52bff95e54 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0845-media-v4l-Add-14-bit-raw-greyscale-pixel-format.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0845-media-v4l-Add-14-bit-raw-greyscale-pixel-format.patch @@ -111,7 +111,7 @@ Signed-off-by: Mauro Carvalho Chehab pixfmt-y16 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c -@@ -1212,6 +1212,7 @@ static void v4l_fill_fmtdesc(struct v4l2 +@@ -1230,6 +1230,7 @@ static void v4l_fill_fmtdesc(struct v4l2 case V4L2_PIX_FMT_Y6: descr = "6-bit Greyscale"; break; case V4L2_PIX_FMT_Y10: descr = "10-bit Greyscale"; break; case V4L2_PIX_FMT_Y12: descr = "12-bit Greyscale"; break; diff --git a/target/linux/bcm27xx/patches-5.4/950-0847-media-Add-a-pixel-format-for-MIPI-packed-12bit-luma-.patch b/target/linux/bcm27xx/patches-5.4/950-0847-media-Add-a-pixel-format-for-MIPI-packed-12bit-luma-.patch index b5d407b205..1f562bc1c3 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0847-media-Add-a-pixel-format-for-MIPI-packed-12bit-luma-.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0847-media-Add-a-pixel-format-for-MIPI-packed-12bit-luma-.patch @@ -75,7 +75,7 @@ Signed-off-by: Dave Stevenson pixfmt-y10p --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c -@@ -1217,6 +1217,7 @@ static void v4l_fill_fmtdesc(struct v4l2 +@@ -1235,6 +1235,7 @@ static void v4l_fill_fmtdesc(struct v4l2 case V4L2_PIX_FMT_Y16_BE: descr = "16-bit Greyscale BE"; break; case V4L2_PIX_FMT_Y10BPACK: descr = "10-bit Greyscale (Packed)"; break; case V4L2_PIX_FMT_Y10P: descr = "10-bit Greyscale (MIPI Packed)"; break; diff --git a/target/linux/bcm27xx/patches-5.4/950-0848-media-Add-a-pixel-format-for-MIPI-packed-14bit-luma-.patch b/target/linux/bcm27xx/patches-5.4/950-0848-media-Add-a-pixel-format-for-MIPI-packed-14bit-luma-.patch index f8b255f15a..4aefd822e2 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0848-media-Add-a-pixel-format-for-MIPI-packed-14bit-luma-.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0848-media-Add-a-pixel-format-for-MIPI-packed-14bit-luma-.patch @@ -84,7 +84,7 @@ Signed-off-by: Dave Stevenson pixfmt-y16 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c -@@ -1218,6 +1218,7 @@ static void v4l_fill_fmtdesc(struct v4l2 +@@ -1236,6 +1236,7 @@ static void v4l_fill_fmtdesc(struct v4l2 case V4L2_PIX_FMT_Y10BPACK: descr = "10-bit Greyscale (Packed)"; break; case V4L2_PIX_FMT_Y10P: descr = "10-bit Greyscale (MIPI Packed)"; break; case V4L2_PIX_FMT_Y12P: descr = "12-bit Greyscale (MIPI Packed)"; break; diff --git a/target/linux/bcm27xx/patches-5.4/950-0960-staging-fbtft-Add-support-for-display-variants.patch b/target/linux/bcm27xx/patches-5.4/950-0960-staging-fbtft-Add-support-for-display-variants.patch index 7206bad51d..30178b0eb8 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0960-staging-fbtft-Add-support-for-display-variants.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0960-staging-fbtft-Add-support-for-display-variants.patch @@ -94,7 +94,7 @@ Signed-off-by: Phil Elwell #include