openwrt/staging/stintel.git
20 months agobmips: batch process eth_type_trans() in rx path
Sieng Piaw Liew [Wed, 29 Jun 2022 08:16:13 +0000 (16:16 +0800)]
bmips: batch process eth_type_trans() in rx path

Improve cache efficiency by running eth_type_trans() in its own loop.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
20 months agobmips: batch process rx path
Sieng Piaw Liew [Wed, 29 Jun 2022 08:11:38 +0000 (16:11 +0800)]
bmips: batch process rx path

Use netif_receive_skb_list() to batch process rx skb. This improves
cache efficiency.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
20 months agobmips: improve rx loop
Sieng Piaw Liew [Thu, 23 Jun 2022 06:48:42 +0000 (14:48 +0800)]
bmips: improve rx loop

Use existing rx processed count to track against budget, thereby making
budget decrement operation redundant.
rx_desc_count can be calculated outside the rx loop, making the loop a
bit smaller.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
20 months agobmips: switch to napi_build_skb() to reuse skbuff_heads
Sieng Piaw Liew [Thu, 23 Jun 2022 04:49:28 +0000 (12:49 +0800)]
bmips: switch to napi_build_skb() to reuse skbuff_heads

napi_build_skb() reuses NAPI skbuff_head cache in order to save some
cycles on freeing/allocating skbuff_heads on every new rx or completed
tx.
Use napi_consume_skb() to feed the cache with skbuff_heads of completed
tx so it's never empty.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
20 months agobmips: check NAPI context when refilling rx SKB
Sieng Piaw Liew [Thu, 23 Jun 2022 03:49:23 +0000 (11:49 +0800)]
bmips: check NAPI context when refilling rx SKB

Check if we're in NAPI context when refilling rx. Normally we're almost
always running in NAPI context. Dispatch to napi_alloc_frag() directly
instead of relying on netdev_alloc_frag() which does the same but with
the overhead of local_bh_disable/enable.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
[improve code format]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agobmips: convert to build_skb()
Sieng Piaw Liew [Thu, 23 Jun 2022 03:16:47 +0000 (11:16 +0800)]
bmips: convert to build_skb()

We can increase the efficiency of rx path by using buffers to receive
packets then build SKBs around them just before passing into the network
stack. In contrast, preallocating SKBs too early reduces CPU cache
efficiency.
Performance is slightly increased but the changes allow more
potential optimizations.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
[improve code format]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agobmips: use netdev_alloc_skb() for copybreak
Sieng Piaw Liew [Wed, 22 Jun 2022 05:22:17 +0000 (13:22 +0800)]
bmips: use netdev_alloc_skb() for copybreak

bmips is using Broadcom B53 DSA driver which means the ethernet driver
must compensate for 6 bytes tags from the internal switch.
This means using NET_IP_ALIGN actually misaligns the skb, lowering
performance significantly. Therefore napi_alloc_skb() which uses
NET_IP_ALIGN is changed to netdev_alloc_skb().
Performance in iperf3 is increased from ~47Mbps to 52Mbps.

Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
20 months agoramips: mt7621: TP-Link EAP235/615-Wall: add poe passthrough gpio definitions
André Fonseca [Mon, 27 Feb 2023 11:58:08 +0000 (12:58 +0100)]
ramips: mt7621: TP-Link EAP235/615-Wall: add poe passthrough gpio definitions

Add the missing definitions for the PoE passthrough functionality.
The relevant pin is already being exported, but it is missing from
the initial board configuration file. With this change, the user is
now able to toggle the PoE passthorough functionality via the uci cli

Signed-off-by: André Fonseca <mail@andrefonseca.pt>
20 months agobpf-headers: fix package category
Chukun Pan [Sun, 12 Feb 2023 15:19:16 +0000 (23:19 +0800)]
bpf-headers: fix package category

This removes the non-selectable 'Kernel' item
when make menuconfig.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
20 months agouboot-mediatek: mark all packages as hidden
Felix Fietkau [Sat, 4 Mar 2023 15:26:54 +0000 (16:26 +0100)]
uboot-mediatek: mark all packages as hidden

They are enabled by selecting devices. Fixes build errors when enabling extra
devices without creating a new config from scratch.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agoramips: fix wrong pcie port number for Arcadyan WE420223-99
Mikhail Zhilkin [Sun, 26 Feb 2023 18:28:54 +0000 (18:28 +0000)]
ramips: fix wrong pcie port number for Arcadyan WE420223-99

Wrong pcie port number for WLAN causes missing 5g WLAN interface with 5.15
kernel on Arcadyan WE420223-99 (KPN Experia WiFi).

This changes port from pcie0 to pcie1.

[1.331556] mt7621-pci 1e140000.pcie: pcie0 no card, disable it (RST & CLK)
[1.345299] mt7621-pci 1e140000.pcie: pcie2 no card, disable it (RST & CLK)
[1.359116] mt7621-pci 1e140000.pcie: PCIE1 enabled

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
20 months agoramips: add support for D-Link Dir-853 A1
Hang Zhou [Sun, 26 Feb 2023 09:13:33 +0000 (20:13 +1100)]
ramips: add support for D-Link Dir-853 A1

Specifications:
* SoC: MT7621AT
* RAM: 256MB (NT5CC64M16GP-DI)
* Flash: 16MB NOR SPI flash (GD25Q127CSIG, using GD25Q128C driver)
* WiFi: MT7615DN (2.4GHz+5Ghz) with DBDC
* Ethernet: 4x1000M LAN, 1x 1000M WAN
* LEDs: Power Blue+Orange,Wan Blue+Orange,WPS Blue,"2.4G"Blue, "5G" Blue,
  USB Blue
* Buttons: Reset,WPS, Wifi
* Serial interface: on board but not populated, pinout (from the DC jack
side to the WAN port side) is "3.3V Input Output Gnd". Baud rate is 57600,
settings are 8 data bits, no parity bit, one stop bit, and no flow control.

Stock flash layout:
```
GD25Q128C(c8 40180000) (16384 Kbytes)
mtd .name = raspi, .size = 0x01000000 (16M) .erasesize = 0x00010000 (64K)
.numeraseregions = 0
Creating 7 MTD partitions on "raspi":
0x000000000000-0x000001000000 : "ALL"
0x000000000000-0x000000030000 : "Bootloader"
0x000000030000-0x000000040000 : "Config"
0x000000040000-0x000000050000 : "Factory"
0x000000050000-0x000000060000 : "Config2"
0x000000060000-0x000000fb0000 : "Kernel"
0x000000fb0000-0x000001000000 : "Private"
```
The kernel partition will be replaced with the OpenWrt image, the other
partitions are left untouched.

"Config2" seems to be the config storage used by the stock firmware.

"Private" is a 320kB empty JFFS2 partition that comes with the stock
firmware. One can get a larger space for OpenWrt by merging it with
"Kernel".

OpenWrt flash layout:
```
0x000000000000-0x000000030000 : "u-boot"
0x000000030000-0x000000040000 : "u-boot-env"
0x000000040000-0x000000050000 : "factory"
0x000000050000-0x000000060000 : "config2_stock"
0x000000060000-0x000000fb0000 : "firmware"
0x000000fb0000-0x000001000000 : "private_stock"
```

The OpenWrt image must have 96 bytes of padding in the header.

MAC addresses on OEM firmware:
|       | location on the flash  | notes     |
|------ |----------------------- |---------- |
| lan (eth2)  | factory + 0xe000       | on label  |
| wan (eth3)  | factory + 0xe006       |           |
| 2.4g (rax0)  | not on flash           | lan + 1   |
| 5g (ra0)  | not on flash           | lan + 2   |

Mac addresses of the 2.4g and 5g interface are stored as ASCII strings in
the u-boot-env partition, but they are not used. OpenWrt calculates
Wifi Mac addresses based on the LAN Mac.

Flash and test instructions:
Flash the encrypted image (available in the OpenWrt forum) through the
stock D-Dink web interface.

1. Open the case, and solder the 4-pin header near the WAN port.
2. Connect it to a USB-UART TTL (3.3V) adapter, no need to connect VCC.
3. Open a terminal emulator (e.g. `screen /dev/ttyUSB0` on linux) with
the settings mentioned above.
4. Setup a TFTP server on your PC that can serve
`xxx-ramips-mt7621-dlink_dir-853-a1-initramfs-kernel.bin`.
5. Connect any LAN port to your PC and set a static IPv4 address to
192.168.0.101 (netmask 255.255.255.0).
6. Power on the device and keeps pressing 1 until you see the prompt.
7. Use default IP addresses and enter the file name accordingly, then hit
enter.
8. Wait until it boots to OpenWrt, the default IP address is 192.168.1.1,
you need to change your PC network adapter to use DHCP in order to access
LUCI.
9. So far, the OpenWrt runs in RAM and the flash contents are not touched.
You can try OpenWrt without having to overwrite the stock firmware, a
reboot clears all changes.
10. Optionally, backup the stock firmware (the "firmware" partition) in
Luci.
11. To permantly install OpenWrt to the device , click
on "System -> Backup/Flash Firmware" in Luci and flash
`xxx-ramips-mt7621-dlink_dir-853-a1-squashfs-sysupgrade.bin`

Known problems:
* WLAN0 defaults to 5G after a fresh installation, to enable 2.4G network,
you need to config it manually in LUCI.

* If you see jffs2 related warnings/errors after updating from the stock
web interface, you need to do a reset in LUCI. The error will be gone after
a cold reboot.

Signed-off-by: Hang Zhou <929513338qq@gmail.com>
20 months agoipq807x: don't generate factory.ubi for Buffalo WXR-5950AX12
INAGAKI Hiroshi [Sat, 25 Feb 2023 00:56:27 +0000 (09:56 +0900)]
ipq807x: don't generate factory.ubi for Buffalo WXR-5950AX12

On WXR-5950AX12, squashfs-factory.ubi is unnecessary for OpenWrt
installation and other purposes, so drop it from IMAGES and don't
generate to prevent confusion of users.

Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
20 months agogeneric: MIPS: Add barriers between dcache & icache flushes
David Bauer [Thu, 2 Mar 2023 15:53:59 +0000 (16:53 +0100)]
generic: MIPS: Add barriers between dcache & icache flushes

This fixes spurious boot-errors with some ath79 MIPS 74Kc boards such
as the AC Lite as well as Archer C7 v2.

The missing barrier leads to the icache flush being executed before the
dcache writeback, which results in the CPU executing the dummy infinite
loop in tlbmiss_handler_setup_pgd.

Applying this patch from upstream ensures the dcache is written back
before flushing the icache.

Signed-off-by: David Bauer <mail@david-bauer.net>
20 months agokernel: bump 5.15 to 5.15.98
John Audia [Fri, 3 Mar 2023 18:39:04 +0000 (13:39 -0500)]
kernel: bump 5.15 to 5.15.98

Removed upstreamed:
backport-5.15/883-0001-net-Remove-WARN_ON_ONCE-sk-sk_forward_alloc-from-sk_.patch[1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.98&id=e7f460696340fe5caba5f21ddb262a44a2388af2

Build system: x86_64
Build-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
20 months agompc85xx: p2020: enable CONFIG_MAX63XX_WATCHDOG
Josef Schlehofer [Mon, 5 Sep 2022 14:36:26 +0000 (16:36 +0200)]
mpc85xx: p2020: enable CONFIG_MAX63XX_WATCHDOG

This enables CONFIG_MAX63XX_WATCHDOG [1], which can be used on P2020
RDB.

[1] https://cateee.net/lkddb/web-lkddb/MAX63XX_WATCHDOG.html

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
20 months agokernel: add support for max6370 watchdog via GPIO
Josef Schlehofer [Mon, 5 Sep 2022 12:54:44 +0000 (14:54 +0200)]
kernel: add support for max6370 watchdog via GPIO

This backports the third version [1], which is awaiting upstream merge. It
adds support for watchdog max6370, which is connected via GPIO. It
is useful primarily for P2020 RDB and Turris 1.x routers, which are
not yet supported.

[1] https://www.spinics.net/lists/linux-watchdog/msg23299.html

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
20 months agokernel: move CONFIG_PAGE_POOL to generic
Nick Hainke [Thu, 23 Feb 2023 10:45:52 +0000 (11:45 +0100)]
kernel: move CONFIG_PAGE_POOL to generic

Move "# CONFIG_PAGE_POOL is not set" to generic.

Suggested-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Nick Hainke <vincent@systemli.org>
20 months agomac80211: fix regression in sw a-msdu tx introduced in mesh improvement patches
Felix Fietkau [Fri, 3 Mar 2023 10:20:46 +0000 (11:20 +0100)]
mac80211: fix regression in sw a-msdu tx introduced in mesh improvement patches

Fixes: 6262d3eb068c ("mac80211: sync mesh fast xmit patch with upstream requested changes")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agobmips: loader-lzma: drop unused RAMSIZE parameter
Álvaro Fernández Rojas [Thu, 2 Mar 2023 17:32:29 +0000 (18:32 +0100)]
bmips: loader-lzma: drop unused RAMSIZE parameter

This parameter has never been used.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agobcm63xx: loader-lzma: drop unused RAMSIZE parameter
Álvaro Fernández Rojas [Thu, 2 Mar 2023 17:00:40 +0000 (18:00 +0100)]
bcm63xx: loader-lzma: drop unused RAMSIZE parameter

This parameter has never been used.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
20 months agofritz-tools: fix segfault in caldata-extract
David Bauer [Tue, 28 Feb 2023 18:53:44 +0000 (19:53 +0100)]
fritz-tools: fix segfault in caldata-extract

 * Fix incorrect error message in case input file opening fails
 * Don't close files in case the pointers are invalid

Signed-off-by: David Bauer <mail@david-bauer.net>
20 months agomac80211: add mesh fast-rx support
Felix Fietkau [Thu, 2 Mar 2023 13:03:47 +0000 (14:03 +0100)]
mac80211: add mesh fast-rx support

This helps bring down rx CPU usage by avoiding calls to the rx handlers in
the slow path. Supports forwarding and local rx, including A-MSDU.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agokernel: fix mtk dsa tag padding
Felix Fietkau [Thu, 2 Mar 2023 11:58:16 +0000 (12:58 +0100)]
kernel: fix mtk dsa tag padding

The padding intended to avoid corrupted non-zero padding payload was
accidentally adding too many padding bytes, tripping up some setups.
Fix this by using eth_skb_pad instead.
Fixes #11942.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agolinux-firmware: add mt7986 offload firmware
Felix Fietkau [Thu, 2 Mar 2023 10:24:15 +0000 (11:24 +0100)]
linux-firmware: add mt7986 offload firmware

This is needed for WED support on MT7986.
Enable it by default for the filogic subtarget.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agomt76: update to the latest version
Felix Fietkau [Wed, 1 Mar 2023 18:59:35 +0000 (19:59 +0100)]
mt76: update to the latest version

71d84bfb343e wifi: mt76: mt76x0u: report firmware version through ethtool
99d13130b517 wifi: mt76: support ww power config in dts node
09c614734880 Revert "wifi: mt76: mt7996: rely on mt76_connac2_mac_decode_he_radiotap"
e1c9c1cb50a8 mt76: mt7921: Let PCI core handle power state and use pm_sleep_ptr()
34064dbcd72a wifi: mt76: mt7921e: add pci .shutdown() support
18ccfa73a9e2 wifi: mt76: remove redundent MCU_UNI_CMD_* definitions
282845ce7f3d wifi: mt76: mt7921: fix wrong command to set STA channel
546934dacfd4 wifi: mt76: mt7921: fix PCI DMA hang after reboot
fc2ed0dfc5b0 wifi: mt76: mt7996: Remove unneeded semicolon
1b602db9c235 wifi: mt76: mt7915: unlock on error in mt7915_thermal_temp_store()
ce2438aa616a wifi: mt76: mt7996: fix radiotap bitfield
17ec2146b8f0 wifi: mt76: dynamic channel bandwidth changes in AP mode
ab2d3650a456 wifi: mt76: mt7915: expose device tree match table
90d78253498e wifi: mt76: mt7915: add dev->hif2 support for mt7916 WED device
a69c34a60451 wifi: mt76: mt7915: rework init flow in mt7915_thermal_init()
39079b5e44a7 wifi: mt76: drop the incorrect scatter and gather frame
f9ca70d6367a wifi: mt76: mt7915: add back 160MHz channel width support for MT7915
eff7666e1aa4 wifi: mt76: handle failure of vzalloc in mt7615_coredump_work
920bc6e1fc8e wifi: mt76: do not run mt76_unregister_device() on unregistered hw
b0721b96927b wifi: mt76: connac: refresh tx session timer for WED device
c32d6d849c43 wifi: mt76: usb: fix use-after-free in mt76u_free_rx_queue

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agomac80211: add patch for allowing the driver to refresh aggregation sessions
Felix Fietkau [Thu, 2 Mar 2023 10:18:14 +0000 (11:18 +0100)]
mac80211: add patch for allowing the driver to refresh aggregation sessions

Required by a mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agomac80211: backport upstream HE/VHT capability handling changes
Felix Fietkau [Wed, 1 Mar 2023 13:41:01 +0000 (14:41 +0100)]
mac80211: backport upstream HE/VHT capability handling changes

Will be required by an mt76 update at some point

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agomac80211: sync mesh fast xmit patch with upstream requested changes
Felix Fietkau [Tue, 28 Feb 2023 10:05:48 +0000 (11:05 +0100)]
mac80211: sync mesh fast xmit patch with upstream requested changes

Signed-off-by: Felix Fietkau <nbd@nbd.name>
20 months agotoolchain/binutils: switch to version 2.40 by default
Hauke Mehrtens [Mon, 20 Feb 2023 21:38:27 +0000 (22:38 +0100)]
toolchain/binutils: switch to version 2.40 by default

This was build tested with all core packages on all targets
successfully.

This was run tested on the following systems:
* lantiq/xrx200 musl
* x86/64 musl
* x86/64 glibc
* malta/be

The size of some of the initramfs images from lantiq/xrx increased by
240 bytes.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
20 months agotoolchain/binutils: backport stable patches
Hauke Mehrtens [Mon, 20 Feb 2023 21:35:50 +0000 (22:35 +0100)]
toolchain/binutils: backport stable patches

Add the patches with real changes from the binutils 2.40 stable branch.
I am not aware that we ran into any of these problems, but I think it is
better to take the existing stable patches.

They were exported like this:
git format-patch binutils-2_40...origin/binutils-2_40-branch
I removed the patches changing the version numbers and updating the
translations only.

I removed the following patches:
 *Automatic-date-updat*
 001-Re-enable-development.-Update-version-to-2.40.0.patch
 004-Updated-translations-for-the-gas-and-binutils-sub-di.patch
 015-Updated-Swedish-translation-for-the-binutils-sub-dir.patch
 027-Updated-Swedish-translation-for-the-binutils-sub-dir.patch

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
20 months agokernel: fix hwmon-gsc driver
Tim Harvey [Tue, 28 Feb 2023 00:11:33 +0000 (16:11 -0800)]
kernel: fix hwmon-gsc driver

Fix hwmon-gsc driver by replacing out-of-tree hwmon-gsc driver with in-tree
driver that was merged in Linux v5.8:
 - remove the old out-of-tree module
 - add configuration for the in-tree modules

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
20 months agomt7621: move uboot-envtools to DEFAULT_PACKAGES
Bjørn Mork [Tue, 28 Feb 2023 11:39:36 +0000 (12:39 +0100)]
mt7621: move uboot-envtools to DEFAULT_PACKAGES

Several devices depend on fw_printenv during sysupgrade.  Make sure
it always is present in all images, including initramfs images built
by the buildbots.

Fixes: 2449a632084b ("ramips: mt7621: Add support for ZyXEL NR7101")
Signed-off-by: Bjørn Mork <bjorn@mork.no>
20 months agoramips: rt5350: enable lzma-loader for ALLNET ALL5003
Sergio Paracuellos [Sat, 25 Feb 2023 11:01:40 +0000 (12:01 +0100)]
ramips: rt5350: enable lzma-loader for ALLNET ALL5003

Fixes the boot loader LZMA decompression issue:
LZMA ERROR 1 - must RESET board to recover

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
20 months agokexec-tools: update to 2.0.26
Nick Hainke [Sun, 28 Aug 2022 04:57:17 +0000 (06:57 +0200)]
kexec-tools: update to 2.0.26

Release Notes:
- 2.0.22: https://www.spinics.net/lists/kexec/msg26864.html
- 2.0.23: https://www.spinics.net/lists/kexec/msg27693.html
- 2.0.24: https://www.spinics.net/lists/kexec/msg28922.html
- 2.0.25: https://lore.kernel.org/all/YuYl22cyGldQQc5m@vergenet.net/
- 2.0.26: https://www.spinics.net/lists/kexec/msg30743.html

Remove upstreamed patch:
- 001-arm-do-not-copy-magic-4-bytes-of-appended-DTB-in-zIm.patch

Tested-by: Linhui Liu <liulinhui36@gmail.com> # x86_64
Signed-off-by: Nick Hainke <vincent@systemli.org>
20 months agokernel: add tty led trigger kernel module package
Florian Eckert [Wed, 8 Feb 2023 08:23:08 +0000 (09:23 +0100)]
kernel: add tty led trigger kernel module package

This allows LEDs to be controlled by activity on ttys which includes
serial devices like '/dev/ttyS0'.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
20 months agokernel: bump 5.15 to 5.15.96
John Audia [Mon, 27 Feb 2023 22:54:37 +0000 (17:54 -0500)]
kernel: bump 5.15 to 5.15.96

All patches automatically rebased.

Build system: x86_64
Build-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
20 months agokernel: bump 5.15 to 5.15.95
John Audia [Thu, 23 Feb 2023 11:16:52 +0000 (06:16 -0500)]
kernel: bump 5.15 to 5.15.95

Removed upstreamed:
backport-5.15/807-v6.1-0003-nvmem-core-add-error-handling-for-dev_set_name.patch[1]
bcm47xx/patches-5.15/070-net-bgmac-fix-BCM5358-support-by-setting-correct-fla.patch[2]

Added fix:
backport-5.15/883-0001-net-Remove-WARN_ON_ONCE-sk-sk_forward_alloc-from-sk_.patch[3]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.95&id=14eea6449473c1f55e196cc104ba16d144465869
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.95&id=2603a5ca6223bb3a88814e2728335eec14f715ab
3. https://lore.kernel.org/stable/20230227211548.13923-1-kuniyu@amazon.com

Build system: x86_64
Build-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod
Run-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod

Signed-off-by: John Audia <therealgraysky@proton.me>
20 months agofstools: update to the latest master
Rafał Miłecki [Tue, 28 Feb 2023 09:04:56 +0000 (10:04 +0100)]
fstools: update to the latest master

bfe882d libblkid-tiny: add exfat superblock support

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
21 months agobcm47xx: fix bgmac support for BCM5358
Rafał Miłecki [Mon, 27 Feb 2023 09:46:14 +0000 (09:46 +0000)]
bcm47xx: fix bgmac support for BCM5358

Fix two long-standing regressions.

Fixes: https://github.com/openwrt/openwrt/issues/8278
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
21 months agobcm47xx: add pending devices support
Rafał Miłecki [Mon, 27 Feb 2023 07:44:12 +0000 (07:44 +0000)]
bcm47xx: add pending devices support

This includes Lines E2500 V2 and Huawei B593u-12.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
21 months agobcm47xx: reorder MIPS BCM47XX patches
Rafał Miłecki [Mon, 27 Feb 2023 06:30:58 +0000 (06:30 +0000)]
bcm47xx: reorder MIPS BCM47XX patches

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
21 months agomac80211: fix mesh path discovery based on unicast packets
Felix Fietkau [Sun, 26 Feb 2023 19:35:40 +0000 (20:35 +0100)]
mac80211: fix mesh path discovery based on unicast packets

If a packet has reached its intended destination, it was bumped to the code
that accepts it, without first checking if a mesh_path needs to be created
based on the discovered source.
Fix this by moving the destination address check further down

Signed-off-by: Felix Fietkau <nbd@nbd.name>
21 months agomac80211: rework mesh fast xmit implementation
Felix Fietkau [Sun, 26 Feb 2023 12:36:58 +0000 (13:36 +0100)]
mac80211: rework mesh fast xmit implementation

Refactor in order to make use of generic fast xmit functions
Fix issues with mesh SA/DA addressing

Signed-off-by: Felix Fietkau <nbd@nbd.name>
21 months agoocteontx: add f2fs and ext4 support
Tim Harvey [Tue, 21 Feb 2023 23:08:29 +0000 (15:08 -0800)]
octeontx: add f2fs and ext4 support

Add both ext4 and f2fs support for overlayfs. The fstools mount_root
application will choose f2fs if the overlay volume space available
exceeds 100MB, otherwise ext4 is used.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
21 months agoocteontx: add default packages for on-board devices
Tim Harvey [Sat, 18 Feb 2023 01:06:41 +0000 (17:06 -0800)]
octeontx: add default packages for on-board devices

The Gateworks Newport boards supported by the octeontx target have
the following on-board devices:
 - Gateworks System Controller
 - GPIO buttons
 - GPIO leds
 - GPS PPS
 - Accelerometer
 - MCP251X CAN controller

Add kernel drivers for these devices in DEFAULT_PACKAGES

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
21 months agoath79: add support for MikroTik RouterBOARD 911 Lite2/Lite5
Tomasz Maciej Nowak [Wed, 24 Aug 2022 16:05:58 +0000 (18:05 +0200)]
ath79: add support for MikroTik RouterBOARD 911 Lite2/Lite5

Forward-port from ar71xx target the board introduced in commit
eb9e3651dd1a (" ar71xx: add support for the MikroTik RB911-2Hn/5Hn
boards"). Citing:

The patch adds support for the MikroTik RB911-2Hn (911 Lite2)
and the RB911-5Hn (911 Lite5) boards:

  https://mikrotik.com/product/RB911-2Hn
  https://mikrotik.com/product/RB911-5Hn

The two boards are using the same hardware design, the only difference
between the two is the supported wireless band.

Specifications:
  * SoC: Atheros AR9344 (600MHz)
  * RAM: 64MiB
  * Storage: 16 MiB SPI NOR flash
  * Ethernet: 1x100M (Passive PoE in)
  * Wireless: AR9344 built-in wireless MAC, single chain
              802.11b/g/n (911-2Hn) or 802.11a/g/n (911-5Hn)

Notes:
  * Older versions of these boards might be equipped with a NAND
    flash chip instead of the SPI NOR device. Those boards are not
    supported (yet).[1]
  * The MikroTik RB911-5HnD (911 Lite5 Dual) board also uses the
    same hardware. Support for that can be added later with little
    effort probably.[2]

End of citation.

Follow intallation instruction from that commit message, using
openwrt-ath79-mikrotik-mikrotik_routerboard-911-lite-initramfs-kernel.bin
and
openwrt-ath79-mikrotik-mikrotik_routerboard-911-lite-squashfs-sysupgrade.bin
images found in ath79/mikrotik directory. Be advised that the board
accepts 10-30 V on PoE input.

Known issues
Compared to ar71xx target image, there is still small leak of current to
user LED, which makes it lit, although weaker, even if brightness is set
to 0. The cause of that is still unknown.

1. https://github.com/openwrt/openwrt/pull/3652
2. RB911-5HnD should work with this commit or with [1], depending on
   what flash topology was used.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
21 months agoath79: mikrotik: stack ar9344 devices to single dtsi
Tomasz Maciej Nowak [Wed, 24 Aug 2022 16:05:57 +0000 (18:05 +0200)]
ath79: mikrotik: stack ar9344 devices to single dtsi

Most of boards from MikroTik with AR9344 SoC (supported and
un-supported) replicate the same schematic, so stack common device nodes
to a single dtsi.

ar9344_mikrotik_routerboard-16m-nor.dtsi:
- remove include paragraph and wmac node, make it single nor flash node
  for others dts to include

ar9344_mikrotik_routerboard-lhg-5nd.dts:
- move all of the nodes to new file ar9344_mikrotik_routerboard.dtsi
  and leave only power, user and lan LEDs which differ from sxt-5nd-r2
  and other yet unsupported devices

ar9344_mikrotik_routerboard-sxt-5n.dtsi:
- remove, it made no sense to keep it, as only
  ar9344_mikrotik_routerboard-sxt-5nd-r2.dts included this file and
  added only compatible and model

ar9344_mikrotik_routerboard-sxt-5nd-r2.dts:
- include ar9344_mikrotik_routerboard.dtsi
- add nand gpio activating node, beeper, additional LEDs and flash chips
  which previously have been in ar9344_mikrotik_routerboard-sxt-5n.dtsi

ar9344_mikrotik_routerboard.dtsi:
- inherited most of the content from ar9344_mikrotik_routerboard-lhg-5nd.dts
  except three LEDs
- add wmac node, removed from ar9344_mikrotik_routerboard-16m-nor.dtsi

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
21 months agobuild: fix for sourcing targets image config installed via feeds
Prasun Maiti [Wed, 16 Nov 2022 11:03:33 +0000 (16:33 +0530)]
build: fix for sourcing targets image config installed via feeds

Sourcing of image/Config.in will not happen
When a target is installed from target/linux/feeds/

Signed-off-by: Prasun Maiti <prasunmaiti87@gmail.com>
Acked-by: Petr Štetiar <ynezz@true.cz>
21 months agotreewide: remove label = "cpu" from DSA dt-binding
Arınç ÜNAL [Wed, 30 Nov 2022 18:00:13 +0000 (21:00 +0300)]
treewide: remove label = "cpu" from DSA dt-binding

This is not used by the DSA dt-binding, so remove it from all devicetrees.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9cc115d8d6f73dd260de1609182f3645844d6907
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
21 months agobcm53xx: Add D-Link DWL-8610AP board settings
Linus Walleij [Fri, 16 Dec 2022 20:52:44 +0000 (21:52 +0100)]
bcm53xx: Add D-Link DWL-8610AP board settings

The D-Link DWL-8610AP does not make use of the B53 switch
like most equipment. It lies dormant and the machine is using
eth0 and eth1 directly.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
21 months agobcm53xx: Add support for D-Link DWL-8610AP
Linus Walleij [Fri, 16 Dec 2022 20:52:27 +0000 (21:52 +0100)]
bcm53xx: Add support for D-Link DWL-8610AP

The D-Link DWL-8610AP is a pretty straight-forward BC53016
device, D-Link has invented a firmware package format which
is a tar file, and we implement this for the factory image.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
21 months agosunxi: enable CONFIG_NVMEM_SYSFS
Jan-Niklas Burfeind [Fri, 30 Dec 2022 02:41:17 +0000 (03:41 +0100)]
sunxi: enable CONFIG_NVMEM_SYSFS

in both the stable and the testing kernel

h2+/h3/h5 devices have a Secure ID that can be read from
`/sys/bus/nvmem/devices/sunxi-sid0/nvmem`.
Enabling CONFIG_NVMEM_SYSFS grants sysfs access from userspace.

Signed-off-by: Jan-Niklas Burfeind <git@aiyionpri.me>
21 months agogrub2: re-add test module
Tomasz Maciej Nowak [Mon, 23 Jan 2023 13:44:50 +0000 (14:44 +0100)]
grub2: re-add test module

It seems more hardware needs early load of firmware when initialised
to work properly (at least Intel hardware). One of previous case is CPU
microcode, which this series[1] tried to change. The second one is Intel
graphics IC, which needs firmware for controlling DMC circuit (switch
conncted display to DC6 power state). As it stands, the i915 module is
built-in and it seems the hardware can't cope with firmware loaded
later from rootfs, it needs to be supplied when the module is loaded.
Unfortunately we need bootloader to handle the load of firmware in this
case, but as previously mentioned series[1], there was an error when
initrd was hardcoded, instead of testing existence for it and then
loading. To remedy this in later the 55b808e0c4be ('x86: image: add test
module to bootloader') was commited. Which was later accidentally
dropped when grub2 image creation was moved to packages. Therefore bring
back test module, so we can test for cases of existing firmware in
grub.cfg.

1. https://patchwork.ozlabs.org/project/openwrt/cover/20181120162044.16371-1-tomek_n@o2.pl

Fixes: 5a5df62d95f5 ("x86/grub2: move grub2 image creation to package")
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
21 months agox86: remove bootloader upgrade from preinit
Tomasz Maciej Nowak [Mon, 23 Jan 2023 13:44:49 +0000 (14:44 +0100)]
x86: remove bootloader upgrade from preinit

This hack was to bring all existing installations to the newest GRUB
version as fast as possible. Since 19.07.x is EoL we can assume this
task is completed. Now sysupgrade will solely be responsible for
bootloader upgrade.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
21 months agomvebu: add support for Buffalo LinkStation LS220DE
Daniel González Cabanelas [Mon, 20 Feb 2023 23:43:55 +0000 (00:43 +0100)]
mvebu: add support for Buffalo LinkStation LS220DE

The Buffalo LinkStation LS220DE is a dual bay NAS, based on Marvell
Armada 370

Hardware:
   SoC:         Marvell Armada 88F6707
   CPU:         Cortex-A9 800 MHz, 1 core
   Flash 1:     SPI-NOR 1 MiB (U-Boot)
   Flash 2:     NAND 512 MiB (OS)
   RAM:         DDR3 256 MiB
   Ethernet:    1x 1GbE
   USB:         1x 2.0
   SATA:        2x 3Gb/s
   LEDs/Input:  5x / 2x (1x button, 1x slide-switch)
   Fan:         1x casing

Flash instructions, from hard drive:
  1. Get access to the "boot" partition at the hard drive where the stock
     firmware is installed. It can be done with acp-commander or by
     plugging the hard drive to a computer.
  2. Backup the stock uImage:
         mv /boot/uImage.buffalo /boot/uImage.buffalo.bak
  3. Move and rename the Openwrt initramfs image to the boot partition:
         mv openwrt-initramfs-kernel.bin /boot/uImage.buffalo
  4. Power on the Linkstation with the hardrive inside. Now Openwrt will
     boot, but still not installed.
  5. Connect via ssh to OpenWrt:
         ssh root@192.168.1.1
  6. Rename boot files inside boot partition
         mount -t ext3 /dev/sda1 /mnt
         mv /mnt/uImage.buffalo /mnt/uImage.buffalo.openwrt.bak
         mv /mnt/initrd.buffalo /mnt/initrd.buffalo.bak
  7. Format ubi partitions at the NAND flash ("kernel_ubi" and "ubi"):
         ubiformat /dev/mtd0 -y
         ubidetach -p /dev/mtd1
         ubiformat /dev/mtd1 -y
  8. Flash the sysupgrade image:
         sysupgrade -n openwrt-squashfs-sysupgrade.bin
  9. Wait until it finish, the device will reboot with OpenWrt installed
     on the NAND flash.

Restore the stock firmware:
  1. Take the hard drive used for the installation and restore boot backup
     files to their original names:
         mount -t ext3 /dev/sda1 /mnt
         mv /mnt/uImage.buffalo.bak /mnt/uImage.buffalo
         mv /mnt/initrd.buffalo.bak /mnt/initrd.buffalo
  2. Boot from the hard drive and perform a stock firmware update using
     the Buffalo utility. The NAND will be restored to the original
     state.

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
21 months agoocteontx: switch to Kernel 5.15
Tim Harvey [Tue, 21 Feb 2023 20:35:05 +0000 (12:35 -0800)]
octeontx: switch to Kernel 5.15

Switch over from testing version.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
21 months agoramips: Alternative name Asus RT-AC750L for Asus RT-AC1200V2
Karl Chan [Thu, 16 Feb 2023 10:47:21 +0000 (18:47 +0800)]
ramips: Alternative name Asus RT-AC750L for Asus RT-AC1200V2

The Asus RT-AC750L is identical to the already supported Asus RT-AC1200V2. Use the ALT0 buildroot tags to show both devices.

Reference : https://forum.openwrt.org/t/asus-rt-ac750l-is-the-same-as-rt-ac1200-v2/151783

Signed-off-by: Karl Chan <exkc@exkc.moe>
21 months agomac80211: fix mesh fast xmit header cache flush
Felix Fietkau [Thu, 23 Feb 2023 14:06:14 +0000 (15:06 +0100)]
mac80211: fix mesh fast xmit header cache flush

split into multiple functions depending on sta, mpath or mpp

Signed-off-by: Felix Fietkau <nbd@nbd.name>
21 months agoncurses: add alacritty terminfo
Tobias Hilbig [Sat, 25 Feb 2023 10:40:37 +0000 (11:40 +0100)]
ncurses: add alacritty terminfo

Add terminfo file for the terminal emulator alacritty.

https://github.com/alacritty/alacritty

Signed-off-by: Tobias Hilbig <web.tobias@hilbig-ffb.de>
21 months agodnsmasq: bump to v2.89
Kevin Darbyshire-Bryant [Wed, 18 Jan 2023 09:39:18 +0000 (09:39 +0000)]
dnsmasq: bump to v2.89

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
21 months agoipq40xx: Linksys MR8300: fix the USB port power
Daniel González Cabanelas [Thu, 16 Feb 2023 22:04:20 +0000 (23:04 +0100)]
ipq40xx: Linksys MR8300: fix the USB port power

The USB port on the MR8300 randomly fails to feed bus-powered devices.

This is caused by a misconfigured pinmux. The GPIO68 should be used to
enable the USB power (active low), but it's inside the NAND pinmux.

This GPIO pin was found in the original firmware at a startup script in
both MR8300 and EA8300. Therefore apply the fix for both boards.

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
Reviewed-by: Robert Marko <robimarko@gmail.com>
21 months agoramips: correct the PCIe port number for some mt7621 devices
Felix Baumann [Mon, 20 Feb 2023 02:40:20 +0000 (03:40 +0100)]
ramips: correct the PCIe port number for some mt7621 devices

MT7621 uses a new PCIe driver in the 5.15+ kernel. Allocating wrong PCIe
port will cause the PCIe NIC to not work properly. This commit fixes
the wrong port numbers on Netgear R6220, WAC104 and WNDR3700 v5.

According to bootlog, MT7612E (5GHz) is connected to pcie0, and
MT7603E (2GHz) is connected to pcie2:
[2.758986] mt7621-pci 1e140000.pcie: pcie1 no card, disable it (RST & CLK)
[2.772862] mt7621-pci 1e140000.pcie: PCIE0 enabled
[2.782579] mt7621-pci 1e140000.pcie: PCIE2 enabled
...
[3.009151] pci 0000:01:00.0: [14c3:7662] type 00 class 0x028000
[3.125715] pci 0000:02:00.0: [14c3:7603] type 00 class 0x028000

Tested-by: Maximilian Baumgartner <aufhaxer@googlemail.com>
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
[felix.bau@gmx.de: adjust commit message for Netgear devices]
Signed-off-by: Felix Baumann <felix.bau@gmx.de>
21 months agotools/squashfs4: fix PKG_MIRROR_HASH
Daniel Golle [Sat, 25 Feb 2023 17:49:10 +0000 (17:49 +0000)]
tools/squashfs4: fix PKG_MIRROR_HASH

The hash currently matches neither the SHA256 of the Github download
nor the hash of the archive generated by the OpenWrt build system.
(and yes, they differ...)

Set hash of Github-generated tarball.

Fixes: 30f2d516ba ("tools/squashfs4: add new tool for squashfs4 images")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
21 months agomvebu: setup effective thermal zones on Puzzle M901 and M902
Daniel Golle [Sat, 25 Feb 2023 17:42:23 +0000 (17:42 +0000)]
mvebu: setup effective thermal zones on Puzzle M901 and M902

Assign fan with 4 active cooling levels to be used for the main CPU as
well as external SerDes units.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
21 months agomvebu: puzzle: fix fan thermal cooling driver
Daniel Golle [Sat, 25 Feb 2023 02:35:16 +0000 (02:35 +0000)]
mvebu: puzzle: fix fan thermal cooling driver

Several fixes for the Puzzle WT61P803 hwmon driver were needed to make
it behave well as thermal cooling device:
 - wire-up cooling device with OF node in device tree
 - properly parse cooling-levels (u32 with range check vs. u8)
 - actually use cooling-levels
 - keep current state and only write to uC if state has changed
   (avoids flooding the uC with commands which will result in uC crashing)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
21 months agonetifd: update to the latest version
Hauke Mehrtens [Sat, 25 Feb 2023 18:56:12 +0000 (19:56 +0100)]
netifd: update to the latest version

ed65a00 netifd: bridge: Fix format string position
19372d8 netifd: Fix multiple -Wsign-compare warnings
8ebf033 netifd: Do not return values in void function
c77417a netifd: Explicitly zero initialize variables
463a120 netifd: Activate -Wextra compile warnings

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
21 months agoustream-ssl: update to Git version 2023-02-25
Hauke Mehrtens [Sat, 25 Feb 2023 17:37:26 +0000 (18:37 +0100)]
ustream-ssl: update to Git version 2023-02-25

498f6e2 ustream-mbedtls: Use getrandom() instead of /dev/urandom

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
21 months agoath79: add support for GL.iNet GL-X1200
Xinfa Deng [Thu, 9 Feb 2023 07:37:30 +0000 (15:37 +0800)]
ath79: add support for GL.iNet GL-X1200

This patch adds supports for GL-X1200.

Specification:
- SOC: QCA9563 (775MHz)
- Flash: 16 MiB
- RAM: 128 MiB DDR2
- Ethernet: 4x 1Gbps LAN + 1x 1Gbps WAN
- Wireless: QCA9563(2.4GHz) and QCA9886(5GHz)
- SIM: 2x SIM card slots
- MicroSD: 1x microSD slot
- Antenna: 2x external 5dBi antennas
- USB: 1x USB 2.0 port
- Button: 1x reset button
- LED: 16x LEDs (3x GPIO controllable)
- UART: 1x UART on PCB (JP1: 3.3V, RX, TX, GND)
- OEM U-Boot supplies HTTP/GUI access

Implementation Notes
====================

Both the NOR and NAND variants boot off a NOR-based kernel,
consistent with the OEM's firmware.

The mode LEDs are
    * Boot, Running   system
    * Failsafe        2G
    * Upgrade         5G

Installation
============

Using sysupgrade
----------------

sysupgrade may be used to install a NAND image on a device running
a NAND image or a NOR image on a device running a NOR image. It is
recommended to *not* preserve config when upgrading from OEM firmware
or previous versions of OpenWrt. No supported sysupgrade path should
require "force". Transitioning from NOR to NAND can be accomplished

Using U-Boot
------------

The OEM U-Boot can be put into a graphical, firmware-upload mode by
holding down the button on the side of the router while applying power
and for a bit more than five seconds following with the current OEM
U-Boot. The power LED will come on, then the 5G LED will flash five
times, about once a second.  When the 5G LED stops flashing and the
2G LED lights solid, the router's U-Boot will provide an upload page
at http://192.168.1.1/ Either a browser may be used to upload an image,
or a utility such as curl may be used:

curl -X POST -F gl_firmware=\@*-nand-squashfs-factory.img \
         http://192.168.1.1/index.html
or
    curl -X POST -F gl_firmware=\@*-nor-squashfs-sysupgrade.bin \
         http://192.168.1.1/index.html

Note that NOR vs. NAND is based on the file name extension.

Signed-off-by: Xinfa Deng <xinfa.deng@gl-inet.com>
21 months agotoolchain: remove references to $(LIBC)/utils subtarget
Michael Pratt [Tue, 21 Feb 2023 19:58:20 +0000 (14:58 -0500)]
toolchain: remove references to $(LIBC)/utils subtarget

The utils subtarget was used for uClibc and eglibc
which are both obsolete and replaced in Openwrt by mainline
musl and glibc, which do not have a utils Makefile target.

Ref: 5d19a38d8 ("toolchain: sync eglibc headers/build split with uclibc changes")
Fixes: 63fb17520 ("toolchain: remove uClibc-ng")
Suggested-by: Andre Heider <a.heider@gmail.com>
Signed-off-by: Michael Pratt <mcpratt@pm.me>
21 months agotoolchain: cleanup dependencies
Michael Pratt [Wed, 10 Aug 2022 21:56:41 +0000 (17:56 -0400)]
toolchain: cleanup dependencies

Reorganize dependencies between toolchain targets to save a line.
This also puts them in a linear order which is easier to read.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
21 months agotoolchain: fix stampfile dependency
Michael Pratt [Sat, 10 Sep 2022 01:43:18 +0000 (21:43 -0400)]
toolchain: fix stampfile dependency

Use the gcc/final/install target stampfile as the prerequisite
for the toolchain/compile target stampfile.

The previous filename was also incorrect,
the stampfile name format was changed (see reference)
but was never updated here.

The issue was never noticed
because the usage of timestamp.pl was broken
(fixed in previous commit)
causing the extra prereq files passed to 'call stampfile'
to never get checked at all.

Fixes: 5149ed151 ("gcc: split up the build process into three distinct stages")
Signed-off-by: Michael Pratt <mcpratt@pm.me>
21 months agoiproute2: update to 6.2
Nick Hainke [Wed, 22 Feb 2023 14:56:25 +0000 (15:56 +0100)]
iproute2: update to 6.2

Release Notes:
https://lwn.net/Articles/923952/

Refresh patches:
- 110-darwin_fixes.patch
- 115-add-config-xtlibdir.patch
- 140-allow_pfifo_fast.patch
- 140-keep_libmnl_optional.patch
- 145-keep_libelf_optional.patch
- 150-keep_libcap_optional.patch
- 155-keep_tirpc_optional.patch
- 170-ip_tiny.patch
- 175-reduce-dynamic-syms.patch
- 180-drop_FAILED_POLICY.patch
- 190-fix-nls-rpath-link.patch
- 195-build_variant_ip_tc.patch
- 200-drop_libbsd_dependency.patch
- 300-selinux-configurable.patch

Remove upstreamed:
- 320-configure-Remove-include-sys-stat.h.patch

While working on it remove AUTORELEASE.

Signed-off-by: Nick Hainke <vincent@systemli.org>
21 months agoethtool: update to 6.2
Nick Hainke [Wed, 22 Feb 2023 14:50:43 +0000 (15:50 +0100)]
ethtool: update to 6.2

Release notes:
- Feature: link down event statistics (no option)
- Feature: JSON output for coalesce (-c)
- Feature: new link modes (no option)
- Feature: JSON output for ring (-g)
- Feature: netlink handler for RSS get (-x)
- Fix: fix boolean value output in JSON output
- Fix: fix build errors and warnings

Remove upstreamed patches:
- 100-uapi-Bring-in-if-h.patch
- 101-netlink-Fix-maybe-uninitialized-meters-variable.patch
- 102-raw-marvell-c-Fix-build-with-musl-libc.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
21 months agolibcap: update to 2.67
Nick Hainke [Sun, 5 Feb 2023 20:38:19 +0000 (21:38 +0100)]
libcap: update to 2.67

Release notes:
https://sites.google.com/site/fullycapable/release-notes-for-libcap#h.o8papfkfh1x9

While working on it, remove $(AUTORELEASE).

Tested-by: Linhui Liu liulinhui36@gmail.com # Xiaomi AX3600
Signed-off-by: Nick Hainke <vincent@systemli.org>
21 months agobase-files: add support for retrieving IPv6 assignments
Mark Baker [Thu, 2 Feb 2023 01:30:57 +0000 (20:30 -0500)]
base-files: add support for retrieving IPv6 assignments

In DHCPv6-PD enabled environments, addresses are assigned to interfaces.
These new functions retrieve the IPv6 assigned prefix(es).

Signed-off-by: Mark Baker <mark@vpost.net>
21 months agobcm47xx: switch default kernel to the 5.15
Rafał Miłecki [Fri, 24 Feb 2023 11:06:10 +0000 (12:06 +0100)]
bcm47xx: switch default kernel to the 5.15

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
21 months agobcm47xx: relocate LZMA loader #2
Rafał Miłecki [Tue, 7 Feb 2023 14:06:50 +0000 (15:06 +0100)]
bcm47xx: relocate LZMA loader #2

Increased size of the 5.15 kernel requires bumping BZ_TEXT_START again.
Without this CFE hangs at the:
Starting program at 0x80001000

This fixes booting 5.15 based mips74k images on:
1. BCM4706 (Luxul XWR-1750)
2. BCM5357B0 (Linksys E1000 V2.1)
3. BCM47186B0 (Luxul XWR-600)
4. BCM5358 (Linksys E2500 V3)

It isn't needed but also doesn't break:
1. BCM5354 (Asus WL-500gP V2)

Ref: 4cd97e476089 ("bcm47xx: relocate LZMA loader")
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
21 months agokernel: Add CONFIG_PPC_QUEUED_SPINLOCKS configuration option
Hauke Mehrtens [Tue, 21 Feb 2023 22:13:27 +0000 (23:13 +0100)]
kernel: Add CONFIG_PPC_QUEUED_SPINLOCKS configuration option

The CONFIG_PPC_QUEUED_SPINLOCKS configuration option is not defined for
kernel 5.15, it is defined for kernel 5.10.

This fixes the compilation of mpc85xx/p2020 with kernel 5.15.

Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
21 months agomac80211: ath11k: sync with ath-next
Robert Marko [Wed, 22 Feb 2023 17:04:39 +0000 (18:04 +0100)]
mac80211: ath11k: sync with ath-next

Synchronize the ath11k backports with the current ath-next tree.

This backports several memory leak issues, PCI IRQ fixup, peer add locking
fix as well as IPQ5018 support, though IPQ5018 support is unused for now.

This allows to easily backport further fixes as cherry picking them has
started requiring manual conflict resolution.

Signed-off-by: Robert Marko <robimarko@gmail.com>
21 months agokernel: backport NVMEM late fixes from v6.2
Rafał Miłecki [Thu, 23 Feb 2023 08:47:39 +0000 (09:47 +0100)]
kernel: backport NVMEM late fixes from v6.2

They were backported to stable kernels but we backport more stuff on our
own so we have to pick up few remaining.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
21 months agompc85xx: switch default kernel to 5.15
Nick Hainke [Wed, 1 Feb 2023 10:42:57 +0000 (11:42 +0100)]
mpc85xx: switch default kernel to 5.15

The default kernel should be switched to 5.15 in order to enable testing
by a broader audience.

Tested on TP-Link TL-WDR4900 v1.

Acked-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Signed-off-by: Nick Hainke <vincent@systemli.org>
21 months agoopenssl: fix powerpc & arc libatomic dependencies
Eneas U de Queiroz [Tue, 21 Feb 2023 20:55:26 +0000 (17:55 -0300)]
openssl: fix powerpc & arc libatomic dependencies

PowerPC CONFIG_ARCH is defined as powerpc, not ppc.  Fix that in the
DEPENDS condition.

Arc needs to be built with libatomic.  Change the OpenSSL configuration
file, and add it to the libatomic DEPENDS condition.

Fixes: 7e7e76afca "openssl: bump to 3.0.8"
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
21 months agomvebu: mochabin: enlarge PCI memory window
Robert Marko [Sun, 19 Feb 2023 11:58:56 +0000 (12:58 +0100)]
mvebu: mochabin: enlarge PCI memory window

Armada 7040 uses a rather small 15MB memory window for every PCI adapter,
however this is not sufficient for Qualcomm QCA6390 802.11ax cards that
are shipped along with the OpenWrt WLAN model of MOCHAbin as ath11k
requires at least 16MB of memory.

So, similar to what MACCHIATOBin has been doing for years, lets move
to using the second PCIe 2 memory window and expand it to 128MB to
make it future proof.

This has been already sent upstream [1].
[1] https://lore.kernel.org/linux-arm-kernel/20230219121418.1395401-1-robert.marko@sartura.hr/

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
21 months agokernel: update NVMEM subsystem to the v6.3
Rafał Miłecki [Tue, 21 Feb 2023 10:25:49 +0000 (11:25 +0100)]
kernel: update NVMEM subsystem to the v6.3

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
21 months agomcp85xx: Switch TP-Link TL-WDR4900 v1 to DSA
Pawel Dembicki [Thu, 29 Sep 2022 20:25:24 +0000 (22:25 +0200)]
mcp85xx: Switch TP-Link TL-WDR4900 v1 to DSA

This patch introduces DSA support for TP-Link TL-WDR4900 v1 switch.
Swconfig driver for QCA8327 switch is removed because this router is
only one device which use Qualcom swconfig switch.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Tested-by: Nick Hainke <vincent@systemli.org> # TP Link WDR4900 v1 (5.15)
21 months agompc85xx: refresh kernel config
Pawel Dembicki [Thu, 29 Sep 2022 13:18:48 +0000 (15:18 +0200)]
mpc85xx: refresh kernel config

It was done by "make kernel_oldconfig" command for 5.10 and 5.15.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
21 months agoopenssl: bump to 3.0.8
Eneas U de Queiroz [Tue, 7 Feb 2023 21:14:27 +0000 (18:14 -0300)]
openssl: bump to 3.0.8

This is a major update to the current LTS version, supported until
2026-09-07.

Changelog:
https://github.com/openssl/openssl/blob/openssl-3.0.8/CHANGES.md

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
21 months agotools/squashfskit4: drop unused tool
Christian Marangi [Fri, 14 Oct 2022 15:36:21 +0000 (17:36 +0200)]
tools/squashfskit4: drop unused tool

Drop squashfskit4 tool as it got replaced by new version of squashfs4
tool.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
21 months agoimage: update LZMA_XZ_OPTIONS with new squashfs4 tool
Christian Marangi [Mon, 6 Feb 2023 22:28:14 +0000 (23:28 +0100)]
image: update LZMA_XZ_OPTIONS with new squashfs4 tool

The -Xpreset option changed format and dropped the -Xe and just require
the extreme string to be passed to the -Xpreset option.

Update the LZMA_XZ_OPTIONS to reflect this change.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
21 months agotools/squashfs4: add new tool for squashfs4 images
Christian Marangi [Mon, 6 Feb 2023 22:22:43 +0000 (23:22 +0100)]
tools/squashfs4: add new tool for squashfs4 images

squashfs tool is finally reborn and correctly maintained.

Introduce the new version as a replacement for squasfs4kit as it was a
fork and also abandoned.

Add additional patch to add the missing feature present in squashfskit4
but still missing on this new project.

Backport each required patch that fix compilation error on macos.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
21 months agomac80211: fix mesh issues and improve performance
Felix Fietkau [Wed, 15 Feb 2023 18:40:02 +0000 (19:40 +0100)]
mac80211: fix mesh issues and improve performance

fix forwarding received mesh a-msdu packets
add fast xmit support for mesh to improve performance

Signed-off-by: Felix Fietkau <nbd@nbd.name>
21 months agotoolchain: remove installing twice in the "initial" subdir
Andre Heider [Tue, 7 Feb 2023 20:33:33 +0000 (21:33 +0100)]
toolchain: remove installing twice in the "initial" subdir

This was apparently introduced to recreate the toolchain (wipe
staging_dir/toolchain*, but keep build_dir/toolchain*, followed by a
`make toolchain/compile`).

But it leaves leftovers and causes re-links to happen at src_install phase,
because of the changed paths, possibly adding yet another source of issues.

With the prior commits removing various hacks related to the "initial"
folder we can remove installing it twice altogether.

The recreated toolchain is exactly the same as before.

Signed-off-by: Andre Heider <a.heider@gmail.com>
21 months agotoolchain/musl: remove libgcc_initial hack
Andre Heider [Thu, 9 Feb 2023 10:06:31 +0000 (11:06 +0100)]
toolchain/musl: remove libgcc_initial hack

This reverts r15599 [0].

This was added to fix an uclibc rebuild issue, but since uclibc
isn't supported anymore [Fixes:] this can be removed.

[0] https://git.openwrt.org/?p=openwrt/svn-archive/archive.git;a=commitdiff;h=016a052efeee6bc2da3f501a8c66b5aea20350b4

Fixes: 63fb1752 "toolchain: remove uClibc-ng"
Signed-off-by: Andre Heider <a.heider@gmail.com>
21 months agotoolchain/glibc: fixup the libm.so linker script too
Andre Heider [Mon, 30 Jan 2023 09:55:53 +0000 (10:55 +0100)]
toolchain/glibc: fixup the libm.so linker script too

Add it to the existing list to fix it up.

Found by mold:
toolchain-x86_64_gcc-12.2.0_glibc/lib/libm.so:4: GROUP ( /lib/libm.so.6  AS_NEEDED ( /lib/libmvec.so.1 ) )
                                                         ^ library not found: /lib/libm.so.6

Signed-off-by: Andre Heider <a.heider@gmail.com>
21 months agotoolchain/gcc: remove glibc libgcc_eh hack
Andre Heider [Thu, 9 Feb 2023 09:09:08 +0000 (10:09 +0100)]
toolchain/gcc: remove glibc libgcc_eh hack

A modern glibc only links against libgcc_eh for its tests or when building it
static, which doesn't happen here.

Reverts a hunk of: a3edea1b "add support for alternative C libraries..."

Signed-off-by: Andre Heider <a.heider@gmail.com>
21 months agotoolchain/binutils: get rid of outdated linaro version string hack
Andre Heider [Wed, 8 Feb 2023 19:20:27 +0000 (20:20 +0100)]
toolchain/binutils: get rid of outdated linaro version string hack

This reverts commit 9d1b619cb1a7dd18cd12cab0d9f93452b10e2e11.

No Linaro binutils are supported anymore, the leftover removal commit
missed one line.

Fixes: b648e1c0 "binutils: remove 2.25.1 support and leftovers of older versions"
Signed-off-by: Andre Heider <a.heider@gmail.com>
21 months agotoolchain/binutils: get rid of outdated libiberty hack
Andre Heider [Wed, 8 Feb 2023 17:58:05 +0000 (18:58 +0100)]
toolchain/binutils: get rid of outdated libiberty hack

This reverts commit 68fcb15f90edd92ef36990c5696b9e79df07a6ec.

binutils syncs libiberty from gcc, which defaults to not installing itself
since [0], see also [1].

That change is apparently part of binutils 2.24, and the oldest supported
version here is 2.37, hence we can remove this hack.

[0] https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=48d7db63ff581b026e057badf39f1f23fdf47928
[1] https://gcc.gnu.org/onlinedocs/libiberty/Using.html

Signed-off-by: Andre Heider <a.heider@gmail.com>
21 months agotoolchain/binutils: get rid of ARC leftovers
Andre Heider [Wed, 8 Feb 2023 17:04:25 +0000 (18:04 +0100)]
toolchain/binutils: get rid of ARC leftovers

In [0] support for ARC specific binutils were added, which was later removed
again [Fixes:].

Upstream binutils never had an extlib.

[0] 8b5d644b "toolchain: add support of ARC architecture"

Fixes: 8568dcd9 "toolchain: Remove binutils 2.29 for ARC targets"
Signed-off-by: Andre Heider <a.heider@gmail.com>
21 months agotoolchain/binutils: fill in missing GRAPHITE_CONFIGURE
Andre Heider [Tue, 31 Jan 2023 10:07:42 +0000 (11:07 +0100)]
toolchain/binutils: fill in missing GRAPHITE_CONFIGURE

This var is used further down, but it's empty.
Fix that with the very same values gcc uses.

Signed-off-by: Andre Heider <a.heider@gmail.com>