Commit Graph

3516 Commits

Author SHA1 Message Date
Rui Salvaterra
be7b560278 kernel: enable lzo, zlib and zstd in ubifs
Make sure all compression algorithms are enabled, for the time being, in order
not to break sysupgrade. In the future, we'd like to disable all except zstd, as
it's the best all-around performer.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2021-04-21 10:31:07 +01:00
Rui Salvaterra
c4d39c4d5f kernel: default to zstd compression in ubifs
Compared to both lzo and zlib, zstd is the best all-around performer. Backport
a kernel patch [1] (to both 5.4 and 5.10), in order to set it as default for
ubifs, if available.

[1] https://lore.kernel.org/linux-mtd/CAFLxGvwhtRY-6kT-sN=AgjvyssHb5qdTS6WQHkhKu3YrPuTkdw@mail.gmail.com/

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2021-04-21 10:31:07 +01:00
Ilya Lipnitskiy
b96db94fb7 kernel: move patch to backport after upstreaming
The patch is now in net-next so keep it in backport-5.10 to keep things
more organized.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=6ecaf81d4ac6365f9284f9d68d74f7c209e74f98
Cc: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
2021-04-20 10:31:06 +01:00
Stijn Tintel
4dcdc8249c kernel/generic: add missing config symbol
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2021-04-19 19:34:38 +03:00
David Bauer
4b87fd1dc5 generic: add missing config symbols
Signed-off-by: David Bauer <mail@david-bauer.net>
2021-04-18 14:41:14 +02:00
Linus Walleij
86d5ac4640 kernel: Disable IXP4xx physmap by default
This makes no sense on anything but the IXP4xx platform
that we do not even support anymore. If we bring it back,
it can be selectively enabled for that platform only.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2021-04-17 21:56:05 +02:00
Linus Walleij
5288ee33e9 kernel: Disable CPU_THERMAL by default
This config is for platforms that have:
A) CONFIG_THERMAL set (we disable it by default)
B) Has thermal zones that need to control cpufreq

This is not suitable for default config, it needs to be enabled
on a per-target basis in individual configs.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2021-04-17 21:56:05 +02:00
Linus Walleij
67a8413155 kernel: Disable GPIO_CDEV_V1 by default
We do not enable GPIO_CDEV so do not enable CDEV_V1
either. As we rebuild the whole userspace and kernel
in OpenWRT it doesn't make any sense to support the
old ABI anyway: the new one should be used by default.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2021-04-17 21:56:05 +02:00
Linus Walleij
74b51b5a06 kernel: Disable CONFIG_DMA_PERNUMA_CMA by default
This CMA memory allocation option only applies to NUMA
(Non-Uniform Memory Access) systems which are seldom
the kind of systems that OpenWRT address.

It is safe to assume that any system that need this
option would turn it on locally.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2021-04-17 21:56:05 +02:00
Linus Walleij
cee5df00c0 kernel: Remove dead scheduler options
The non-MQ CFQ, deadline and noop IO schedulers are
deleted from the Linux kernel
since commit f382fb0bcef4c37dc049e9f6963e3baf204d815c
"block: remove legacy IO schedulers".

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2021-04-17 21:50:08 +02:00
John Audia
79fdd68103 kernel: bump 5.4 to 5.4.112
Ran update_kernel.sh in a fresh clone without any existing toolchains.

Removed upstreamed:
  mvebu/patches-5.4/319-ARM-dts-turris-omnia-configure-LED-2--INTn-pin-as-interrupt-pin.patch

Build system : x86_64
Build-tested : ipq806x/R7800
Run-tested   : ipq806x/R7800

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
2021-04-17 21:50:08 +02:00
John Audia
33f419bf2a kernel: bump 5.4 to 5.4.111
Refreshed with update_kernel.sh. No manual tweaks needed.

Build system: x86_64
Build-tested: ipq806x/R7800
Run-tested: ipq806x/R7800

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
2021-04-17 21:50:08 +02:00
Rui Salvaterra
a3d431ccf7 kernel: bump 5.10 to 5.10.30
Deleted (reverse-applicable):
mvebu/patches-5.10/101-ARM-dts-turris-omnia-configure-LED-2--INTn-pin-as-interrupt-pin.patch

Automatically refreshed:
bcm63xx/patches-5.10/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch
generic/backport-5.10/610-v5.13-02-netfilter-Fix-fall-through-warnings-for-Clang.patch
generic/backport-5.10/610-v5.13-10-netfilter-nftables-update-table-flags-from-the-commi.patch
generic/hack-5.10/204-module_strip.patch
generic/hack-5.10/902-debloat_proc.patch
generic/pending-5.10/203-kallsyms_uncompressed.patch
generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
generic/pending-5.10/920-mangle_bootargs.patch
mediatek/patches-5.10/115-dts-bpi64-add-snand-support.patch
mediatek/patches-5.10/602-arm64-dts-mediatek-Split-PCIe-node-for-MT2712-MT7622.patch
mediatek/patches-5.10/900-dts-mt7622-bpi-r64-aliases-for-dtoverlay.patch
ramips/patches-5.10/323-mt7621-memory-detect.patch

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2021-04-16 12:58:53 +01:00
David Bauer
8222f8e1b9 ath79: fix link mode support list on UniFi AC
This fixes incorrect supported link modes indicated when using ethtool
on the Ubiquiti UniFi AC lite / LR / Mesh.

eroot@OpenWrt:~# ethtool eth0
Settings for eth0:
	Supported ports: [ TP MII ]
	Supported link modes:   100baseT/Half 100baseT/Full
	                        1000baseT/Full
	                        1000baseX/Full

The reason for this is, that since kernel 5.4 the PHY capabilities are
read dynamically from the PHY. As Ubiquiti leaves the PHY in a wrong
state, the capabilities of the SGMII side of the PHY are read.

As a side effect, 10 Mbit/s link modes did not work on these boards.

Signed-off-by: David Bauer <mail@david-bauer.net>
2021-04-15 22:40:39 +02:00
Daniel Golle
7f703716ae
ramips/mediatek: import a patch fixing bug in flow-offloading
From Frank Wunderlich <frank-w@public-files.de>:
Issue were traffic problems after a while with increased ping times if
flow offload is active.

It turns out that key_offset with cookie is needed in rhashtable_params
and head_offset was defined twice.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-04-15 20:28:09 +01:00
Mathias Kresin
0806f8fc80 lantiq: add Linux 5.10 support as testing kernel
Following changes are made to the Lantiq kernel patches:

  0001-MIPS-lantiq-add-pcie-driver.patch
    The pci header isn't included by the of_pci header any longer

  0024-MIPS-lantiq-revert-DSA-switch-driver-PMU-clock-chang.patch
    Due to the merge of grx390 and ar10 clocks, extend support to grx390

  0025-NET-MIPS-lantiq-adds-xrx200-legacy.patch
    The do_carrier arguments was dropped from phy_link_change. The
    phylib has always sets the third parameter to true so the flag is
    always changed anyway.

    of_get_phy_mode() returns an error, or 0 on success, and pass a
    pointer, of type phy_interface_t, where the phy mode should be
    stored now. So far an error wasn't considered. Print at least an
    error message if something unexpected happens.

    The stuck queue is now passed to xrx200_tx_timeout (the timeout
    handler) but not used so far.

  0028-NET-lantiq-various-etop-fixes.patch
    ioremap has provided non-cached semantics by default since the Linux
    2.6 days and was removed with kernel version 5.6.

    of_get_phy_mode() returns an error, or 0 on success, and pass a
    pointer, of type phy_interface_t, where the phy mode should be
    stored now. So far an error wasn't considered. Print at least an
    error message if something unexpected happens.

  0042-arch-mips-increase-io_space_limit.patch
    Move IO space extension to laniq specific file

Signed-off-by: Mathias Kresin <dev@kresin.me>
2021-04-12 23:23:09 +02:00
Daniel Golle
e9c8c834de
kernel: fix deferred mtdblock registration
Check if gendisk is already up instead of trying to figure out parent
mtd device (which didn't work well).

Reported-by: DENG Qingfang <dqfext@gmail.com>
Reported-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
Fixes: 2809d00007 ("kernel: support FIT partition parser on mtdblock devices")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-04-12 22:19:49 +01:00
Rui Salvaterra
0a22cef3bc kernel: bump 5.10 to 5.10.28
Automatically refreshed:
601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch
640-02-net-resolve-forwarding-path-from-virtual-netdevice-a.patch
680-NET-skip-GRO-for-foreign-MAC-addresses.patch

Run tested:
ramips/mt7621 (Redmi AC2100)

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2021-04-11 00:02:05 +02:00
John Audia
b0a34e886d kernel: bump 5.4 to 5.4.110
Ran update_kernel.sh in a fresh clone without any existing toolchains.

Manually rebased due to movement of rx-offload.c in 5.4.110:
  layerscape/patches-5.4/802-can-0002-can-rx-offload-fix-long-lines.patch
  layerscape/patches-5.4/802-can-0003-can-rx-offload-can_rx_offload_compare-fix-typo.patch
  layerscape/patches-5.4/802-can-0004-can-rx-offload-can_rx_offload_irq_offload_timestamp-.patch
  layerscape/patches-5.4/802-can-0005-can-rx-offload-can_rx_offload_reset-remove-no-op-fun.patch
  layerscape/patches-5.4/802-can-0006-can-rx-offload-Prepare-for-CAN-FD-support.patch
  layerscape/patches-5.4/802-can-0018-can-flexcan-use-struct-canfd_frame-for-CAN-classic-f.patch

Build system: x86_64
Build-tested: ipq806x/R7800
Run-tested: ipq806x/R7800

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
2021-04-10 20:27:40 +02:00
Felix Fietkau
734c3f7148 kernel: fix mtd squashfs root regression on targets with CONFIG_FIT_PARTITION
Move 480-mtd-set-rootfs-to-be-root-dev.patch to hack-5.10 and fix assumption
about the block device index.

Fixes: 2809d00007 ("kernel: support FIT partition parser on mtdblock devices")
Acked-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-04-10 17:02:05 +02:00
Felix Fietkau
f07fe36f22 kernel: update flow offload patches to upstream version
Move patches to backport-5.10, since the series was accepted upstream

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-04-10 16:14:34 +02:00
Daniel Golle
2809d00007
kernel: support FIT partition parser on mtdblock devices
Allow using the FIT block-device partition partition parser to work on
top of mtdblock devices.
This is more tricky than it sounds as it requires to reorganize the
procedure of registering mtdblock devices in order to avoid locking
troubles caused by the block partition parsers then trying to open
the mtdblock device for reading while locks are still being held.
Fix that by moving the adding of the disks after the entire device
has been probed when locks no longer need to be held.
Also address issue with mtdsuper surfaced when using sub-partitions
which prevented mounting JFFS2 using the /dev/mtdblock* device.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-04-09 16:04:35 +01:00
Daniel Golle
ce14445b74
kernel: mtdsplit_fit: support FIT with external data
U-Boot has recently added support for having data blobs in uImage.FIT
images stored at offsets after the FDT structure rather than embedding
the data into the FDT structure itself. This is useful as it allows
parts of the image to be mapped by the FIT partition parser, and it
allows the FIT structure itself to be parsed more easily as it usually
fits into single page.
mtdsplit_fit assumed that the total length of an image is identical
to the length of the FDT structure. For uImage.FIT with external data
this assumption no longer holds true.
Add support for uImage.FIT with external data to mtdsplit_fit and in
in that case only split-off rootfs_data -- selecting and mapping rootfs
partition is left to the block partition parser just like on UBI and
block/GPT based platforms.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-04-09 16:04:29 +01:00
Kevin Darbyshire-Bryant
438e88e672 kernel: bump 5.10 to 5.10.27
Use update_kernel to refresh all patches, required manual updates to:

610-netfilter_match_bypass_default_checks.patch
611-netfilter_match_bypass_default_table.patch
762-net-bridge-switchdev-Refactor-br_switchdev_fdb_notif.patch
764-net-bridge-switchdev-Send-FDB-notifications-for-host.patch

Run-tested: x86_64

Nothing screamed out but any funny business with linux bridging should
suspect this update first.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2021-04-03 21:07:22 +01:00
John Audia
ec6293febc kernel: bump 5.4 to 5.4.109
Ran update_kernel.sh in a fresh clone without any existing toolchains.

Manually rebased:
  pending-5.4/611-netfilter_match_bypass_default_table.patch

The upstream change affecting this patch is the revert of an earlier
kernel commit. Therefore, we just revert our corresponding changes
in [1].

Build system: x86_64
Build-tested: ipq806x/R7800

[1] 9b1b89229f ("kernel: bump 5.4 to 5.4.86")

Signed-off-by: John Audia <graysky@archlinux.us>
[adjust manually rebased patch, add explanation]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-04-02 16:45:28 +02:00
Daniel Golle
aa0adc8e3c
kernel: fix FIT partition parser compatibility issues
The uImage.FIT partition parser used to squeeze in FIT partitions in
the range where partition editor tools (fdisk and such) expect the
regular partition. This is confusing people and tools when adding
additional partitions on top of the partition used for OpenWrt's
uImage.FIT.
Instead of squeezing in the additional partitions, rather start with
all uImage.FIT partitions at offset 64.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-03-31 22:54:12 +01:00
Rafał Miłecki
3fd0a4222b kernel: backport 5.13 mtd partitioning changes
1. Use upstream accepted NVMEM patches
2. Minor fix for BCM4908 partitioning
3. Support for Linksys firmware partitions on Northstar

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2021-03-29 08:46:17 +02:00
Hauke Mehrtens
ebfc94aee9 kernel: Move CONFIG_USERIO to generic config
The CONFIG_USERIO option is unset in multiple target configurations. On
the sunxi target it is activated. Move the kernel configuration option
to the generic kernel configuration.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2021-03-27 14:34:22 +01:00
Hauke Mehrtens
7d6553c72e kernel: Deactivate CONFIG_VFIO in generic kernel config
Instead of deactivating this in every target config, deactivate it once
in the generic kernel config. I was asked for this config option in a
x86 64 build in OpenWrt 21.02.

Fixes: 87046e87e2 ("kernel: add missing kernel config symbol")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2021-03-27 14:34:00 +01:00
Kevin Darbyshire-Bryant
87046e87e2 kernel: add missing kernel config symbol
Bump to 5.10.26 reversed dependencies on IOMMU for CONFIG_VFIO thus
malta (at least) prompted for this new symbol.

Set it to 'false' in the default config.  rockchip & X86 enable it in
target specific configs.

Thanks to Tony Ambardar for falling over this one

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2021-03-27 09:09:57 +00:00
Rui Salvaterra
27344b3784 kernel: bump 5.10 to 5.10.26
Automatically refreshed:
ath79/patches-5.10/471-mtd-cfi_cmdset_0002-AMD-chip-0x2201-write-words.patch
bcm63xx/patches-5.10/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch
generic/hack-5.10/204-module_strip.patch

Run-tested:
ath79 (TL-WDR3600)
x86_64 (APU2 - ldir)

Tested-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2021-03-26 08:19:11 +00:00
Rafał Miłecki
6dd727ac24 kernel: create bootfs partition when parsing on BCM4908
It's helpful for accessing booting data (DTS, kernel, etc.). It has to
be used carefully as CFE's JFFS2 support is quite dumb. It doesn't
recognize deleted files and has problems handling 0 inode.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2021-03-24 18:22:37 +01:00
Álvaro Fernández Rojas
bd47189602 kernel: backport ehci overcurrent patches
These patches have been accepted for v5.13.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-03-24 14:05:38 +01:00
Kevin Darbyshire-Bryant
d07ac3e376 kernel: bump 5.10 to 5.10.25
Straightforward refresh of patches using update_kernel.

Removed (reverse-applicable):
bmips/patches-5.10/010-v5.11-net-dsa-implement-a-central-TX-reallocation-procedur.patch

Run tested: x86_64 (apu2)

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2021-03-24 11:39:05 +00:00
Kevin Darbyshire-Bryant
eb964298b3 kernel: bump 5.10 to 5.10.24
Straightforward refresh of patches using update_kernel.

Run tested: x86_64 (apu2)

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2021-03-24 11:36:31 +00:00
John Audia
2c81b16964 kernel: bump 5.4 to 5.4.106
Ran update_kernel.sh in a fresh clone without any existing toolchains.

Manually rebased:
  bcm27xx/950-0993-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
  layerscape/701-net-0231-enetc-Use-DT-protocol-information-to-set-up-the-port.patch

Build system: x86_64
Build-tested: ipq806x/R7800
Run-tested: ipq806x/R7800

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
[remove accidental whitespace edit]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-03-21 22:45:20 +01:00
Hauke Mehrtens
0c0cb97da7 kernel: Add missing kernel config options
These two options are missing when building the x86 target.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2021-03-19 18:48:32 +01:00
Hauke Mehrtens
0b5a67aa03 kernel: Reorder kernel configuration options
Reorder the options and remove double entries.
This was generated by running this:
$ ./scripts/kconfig.pl '+' target/linux/generic/config-5.10 /dev/null > target/linux/generic/config-5.10.new
$ mv target/linux/generic/config-5.10.new target/linux/generic/config-5.10
$ ./scripts/kconfig.pl '+' target/linux/generic/config-5.4 /dev/null > target/linux/generic/config-5.4.new
$ mv target/linux/generic/config-5.4.new target/linux/generic/config-5.4

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2021-03-19 18:38:35 +01:00
Rosen Penev
a50441b6e9 kernel: add exfat again
With kernel 5.10, exfat is out of staging and in tree.

Added small hack to make it work with kernel 5.4 as well.

Added removed config options for 5.4 to generic config.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[Set CONFIG_EXFAT_ config options to default values]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2021-03-19 16:08:12 +01:00
Tony Ambardar
9662da770e kernel: add missing config symbols, fix typos
Update 5.10 generic config to add missing options prompting during builds,
when setting CONFIG_ALL_KMODS. Refresh the x86 subtargets to drop symbols
added to the generic config.

Also fix a typo in 5.4/5.10 generic configs: "CONFIG_CONFIG_KVM_AMD_SEV".

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2021-03-19 14:02:47 +00:00
Ilya Lipnitskiy
f65b0afadb ramips: move spi-nor-add-gd25q512 patch to generic
A SPI NOR flash should not be target-specific, so move it to generic in
case another platform needs to use it.

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
2021-03-19 01:25:26 +01:00
Aleksander Jan Bajkowski
12e942b1fd kernel: move some disabled symbols to generic
Move some disabled symbols found in armvirt target to generic.

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
2021-03-19 00:59:22 +01:00
Ilya Lipnitskiy
680f91d0e5 kernel: backports: mt7530: fix TRGMII mode after reset
Backport upstream patch that fixes TRGMII mode now that mt7530 is
actually resetting the switch on ramips devices.

Patches apply to both Linux 5.4 and 5.10, since TRGMII is broken on both.

Fixes: 69551a2442 ("ramips: manage low reset lines")
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
2021-03-16 19:27:55 +08:00
Felix Fietkau
4a79c32fee kernel: replace threaded NAPI implementation in 5.10 with upstream backport
This uses a kthread per NAPI instance instead of the workqueue approach

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-03-15 14:05:43 +01:00
Tony Ambardar
95a3741d17 kernel: support new mdio_devres.ko module in 5.10
Add kmod-mdio-devres package and kernel config symbol, and update related
kmod-r8169 and kmod-ixgbe package dependencies.

Build tested module dependencies on x86/64 with CONFIG_ALL_KMODS=y.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2021-03-14 17:52:49 +00:00
Tony Ambardar
736edf9dea kernel: add missing config symbols for 5.10
Update generic config to add missing options that prompt during builds.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2021-03-14 17:52:49 +00:00
Kabuli Chana
1cd098784e kernel: bump 5.10 to 5.10.23
update kernel to 5.10.23, rebase patches, deleted upstreamed patch:

target/linux/generic/backport-5.10/830-v5.12-0001-net-usb-qmi_wwan-support-ZTE-P685M-modem.patch

compile / test - mvebu / mamba, rango

Signed-off-by: Kabuli Chana <newtownBuild@gmail.com>
[refresh again]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-03-13 17:06:42 +01:00
John Audia
e7fa97b326 kernel: bump 5.4 to 5.4.105
Ran update_kernel.sh in a fresh clone without any existing toolchains.

Removed upstreamed generic-backports:
  830-v5.12-0001-net-usb-qmi_wwan-support-ZTE-P685M-modem.patch
  831-v5.9-usbip-tools-fix-build-error-for-multiple-definition.patch
  755-v5.8-net-dsa-add-GRO-support-via-gro_cells.patch

Build system: x86_64
Build-tested: ipq806x/R7800
Run-tested: ipq806x/R7800

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
Tested-by: Curtis Deptuck <curtdept@me.com> [x86/64]
[squash patches]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-03-13 17:06:35 +01:00
Felix Fietkau
3d1ea0d77f kernel: add compatibility with upstream threaded NAPI patch
Enable threading if dev->threaded is set. This will be used to bring mt76 back
in sync with upstream

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-03-12 20:23:52 +01:00
Felix Fietkau
0d5bf53197 kernel: update 5.10 flow offload patches
Includes PPPoE support and VLAN related fixes

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-03-12 20:23:52 +01:00
Rafał Miłecki
e90e75b12c kernel: add pending mtd patches adding NVMEM support
It's meant to provide upstream support for mtd & NVMEM. It's required
e.g. for reading MAC address from mtd partition content. It seems to be
in a final shape so it's worth testing.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2021-03-12 18:49:46 +01:00
Rafał Miłecki
deceb03993 kernel: move mtd ofpart accepted patch
Move upstream patch to the backport directory.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2021-03-12 18:32:01 +01:00
Rafał Miłecki
b2b75e1939 kernel: add two more missed 5.10 backports
Those were added to 5.4 but missed while introducing 5.10 kernel.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2021-03-12 18:31:58 +01:00
Rafał Miłecki
1c48eee5b2 kernel: backport Broadcom NVRAM driver cleanups
Refactoring of bcm47xx_nvram driver. It's used by bcm47xx and bcm53xx.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2021-03-12 18:08:41 +01:00
Ilya Lipnitskiy
89744dc741 kernel: generic: filter out CONFIG_PLUGIN_HOSTCC
It appears to be an automatic Kconfig symbol that varies depending on
the host platform. There is no need to define it in target configs, so
filter it out.

Also sort config-filter entries alphabetically.

Cc: Adrian Schmutzler <mail@adrianschmutzler.de>
Cc: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
2021-03-06 03:52:33 +00:00
Rui Salvaterra
3a187fa718 kernel: bump 5.10 to 5.10.20
Also add a new kconfig symbol (CONFIG_KCMP) to the generic config,
disabling the SYS_kcmp syscall (it was split from
CONFIG_CHECKPOINT_RESTORE, which is disabled by default, so the
previous behaviour is kept).

Removed (upstreamed) patches:
  070-net-icmp-pass-zeroed-opts-from-icmp-v6-_ndo_send-bef.patch
  081-wireguard-device-do-not-generate-ICMP-for-non-IP-pac.patch
  082-wireguard-queueing-get-rid-of-per-peer-ring-buffers.patch
  083-wireguard-kconfig-use-arm-chacha-even-with-no-neon.patch
  830-v5.12-0002-usb-serial-option-update-interface-mapping-for-ZTE-P685M.patch

Manually rebased patches:
  313-helios4-dts-status-led-alias.patch
  104-powerpc-mpc85xx-change-P2020RDB-dts-file-for-OpenWRT.patch

Run tested:
  ath79 (TL-WDR3600)
  mvebu (Turris Omnia)

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2021-03-05 20:35:01 +01:00
Ilya Lipnitskiy
fc61a87c29 generic: config-5.10: add missing symbols
Add symbols missing after latest crypto.mk and WireGuard changes.

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
2021-03-05 14:41:14 +01:00
Rui Salvaterra
0eef8402ee kernel: backport GCC 10 usbip build fix for 5.4
From the original commit message:

"With GCC 10, building usbip triggers error for multiple definition
of 'udev_context', in:
- libsrc/vhci_driver.c:18 and
- libsrc/usbip_host_common.c:27.

Declare as extern the definition in libsrc/usbip_host_common.c."

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2021-03-05 14:41:14 +01:00
Luis Araneda
1b287ed1a3 kernel: remove symbols from 5.10 no longer present on upstream
REFCOUNT_FULL was removed for linux 5.5:
commit fb041bb7c0a9 (locking/refcount: Consolidate implementations of refcount_t)

COMMON_CLK_VERSATILE was removed on linux 5.8:
commit 5f55f1fb187d (clk: versatile: Fix kconfig dependency on COMMON_CLK_VERSATILE)

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
2021-03-05 14:41:14 +01:00
Daniel González Cabanelas
cfa43f8119 kernel: b53: update the BCM5365 UID in the fixup
The BCM5365 UID was updated in the driver, but we should also update it in the
fixup.

Fixes: cbcac4fde8 ("kernel: b53: update the BCM5365 UID")
Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
(Ammend commit description, add Fixes tag)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-03-05 12:20:48 +01:00
Jason A. Donenfeld
196f3d586f kernel-5.4: bump to 5.4.102 and refresh patches
5.4.102 backported a lot of stuff that our WireGuard backport already
did, in addition to other patches we had, so those patches were
removed from that part of the series. In the process other patches were
refreshed or reworked to account for upstream changes.

This commit involved `update_kernel.sh -v -u 5.4`.

Cc: John Audia <graysky@archlinux.us>
Cc: David Bauer <mail@david-bauer.net>
Cc: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2021-03-04 22:06:53 +01:00
Petr Štetiar
5e0b9dbe8a kernel: generic: add further missing symbols
Compile testing i.mx6 with ALL_KMODS=y, PACKAGE_perf=y and bunch of
tracing/probing symbols has unveiled bunch of missing config options so
add them.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2021-03-03 22:51:39 +01:00
Jason A. Donenfeld
1265dbafcd kernel-5.10: backport chacha non block size optimizations
These make a big difference when doing WireGuard with small armv7
routers, and the 5.4 backport already has it.

Suggested-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
Cc: David Bauer <mail@david-bauer.net>
Cc: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2021-03-02 10:54:38 +01:00
Jason A. Donenfeld
d540725871 kernel-5.4: backport fd16931a2f51 for chacha neon
Without this patch, the chacha block counter is not incremented on neon
rounds, resulting in incorrect calculations and corrupt packets.

This also switches to using `--no-numbered --zero-commit` so that future
diffs are smaller.

Reported-by: Hans Geiblinger <cybrnook2002@yahoo.com>
Reviewed-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
Cc: David Bauer <mail@david-bauer.net>
Cc: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2021-03-02 09:30:22 +01:00
Rafał Miłecki
7a7b2fd809 kernel: add the latest mtd patch extending ofpart parser
This adds the latest version of ofpart commit. It hopefully
1. Doesn't break compilation
2. Doesn't break partitioning
(this time).

It's required to implement fixed partitioning with some quirks. It's
required by bcm53xx, bcm4908, kirkwood, lantiq and mvebu.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2021-03-01 18:18:38 +01:00
Felix Fietkau
7a6d074824 kernel: add support for enabling fit firmware partition parser via cmdline
This is useful for dual-boot setups where the loader sets variables depending
on the flash boot partition.
For example the Linksys E8450 sets mtdparts=master for the first partition
and mtdparts=slave for the second one.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-02-28 00:46:11 +00:00
Daniel Golle
6b0295a47d image: extend FIT partition parser for use on eMMC/SDcard
Introduce a magic GUID_PARTITION_LINUX_FIT_GUID to designate a GPT
partition to be interpreted by the FIT partition parser.
In that way, sub-partitions for (external-data) uImage.FIT stored
directly in a partition can be split, similar like we do for devices
with raw flash storage.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-02-28 00:09:09 +00:00
Jason A. Donenfeld
2a27f6f90a kernel: backport pending fix to select CPU_MIPS64
The CPU_MIPS64 and CPU_MIPS32 variables are supposed to be able to
distinguish broadly between 64-bit and 32-bit MIPS CPUs. However, they
weren't selected by the specialty CPUs, Octeon and Loongson, which meant
it was possible to hit a weird state of:

   MIPS=y, CONFIG_64BIT=y, CPU_MIPS64=n

This commit rectifies the issue by having CPU_MIPS64 be selected when
the missing Octeon or Loongson models are selected.

In particular, this affects our octeonplus target.

It has been posted to LKML here:
https://lore.kernel.org/linux-mips/20210227122605.2680138-1-Jason@zx2c4.com/

Cc: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
Cc: David Bauer <mail@david-bauer.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2021-02-27 19:14:27 +01:00
Aleksander Jan Bajkowski
598de0f41c kernel: move some new symbols available on 5.10 to generic
Move some disabled config options found in sunxi target to generic.

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
2021-02-27 16:49:02 +01:00
Daniel González Cabanelas
cbcac4fde8 kernel: b53: update the BCM5365 UID
BCM63XX internal PHYs and BCM5365 SoC internal switch are both using the
same phy_driver->phy_id, causing conflicts and unnecessary probes. E.g
the BCM63XX phy internal IRQ is lost on the first probe.

The full BCM5365 UID is 0x00406370.

Use an additional byte to mask the BCM5365 UID to avoid duplicate driver
phy_id's. This will fix the IRQ issue in internal BCM63XX PHYs and avoid
more conflicts in the future.

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
2021-02-26 21:11:19 +01:00
Ilya Lipnitskiy
23b801d3ba kernel: 5.4: generic: add missing symbols
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
2021-02-26 20:41:01 +01:00
Ilya Lipnitskiy
3500fd7938 kernel: 5.4: fix patches after wireguard backport
No major problems, just a minor Kconfig fix and a refresh.

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
2021-02-26 20:41:01 +01:00
Jason A. Donenfeld
3888fa7880 kernel: 5.4: import wireguard backport
Rather than using the clunky, old, slower wireguard-linux-compat out of
tree module, this commit does a patch-by-patch backport of upstream's
wireguard to 5.4. This specific backport is in widespread use, being
part of SUSE's enterprise kernel, Oracle's enterprise kernel, Google's
Android kernel, Gentoo's distro kernel, and probably more I've forgotten
about. It's definately the "more proper" way of adding wireguard to a
kernel than the ugly compat.h hell of the wireguard-linux-compat repo.
And most importantly for OpenWRT, it allows using the same module
configuration code for 5.10 as for 5.4, with no need for bifurcation.

These patches are from the backport tree which is maintained in the
open here: https://git.zx2c4.com/wireguard-linux/log/?h=backport-5.4.y
I'll be sending PRs to update this as needed.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2021-02-26 20:41:01 +01:00
Jason A. Donenfeld
7d4143234c kernel: 5.10: wireguard: backport 5.12-rc1 changes in net.git
These will eventually make their way to 5.10, but it could be a while.

https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=ee576c47db60432c37e54b1e2b43a8ca6d3a8dca
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=5a0598695634a6bb4126818902dd9140cd9df8b6
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=99fff5264e7ab06f45b0ad60243475be0a8d0559
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=8b5553ace83cced775eefd0f3f18b5c6214ccf7a
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=bce2473927af8de12ad131a743f55d69d358c0b9

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
[Rename 082-wireguard-kconfig... to 083-wireguard-kconfig...]
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
2021-02-26 20:41:00 +01:00
Lech Perczak
59d065c9f8 ramips: add support for ZTE MF283+
ZTE MF283+ is a dual-antenna LTE category 4 router, based on Ralink
RT3352 SoC, and built-in ZTE P685M PCIe MiniCard LTE modem.

Hardware highlighs:
- CPU: MIPS24KEc at 400MHz,
- RAM: 64MB DDR2,
- Flash: 16MB SPI,
- Ethernet: 4 10/100M port switch with VLAN support,
- Wireless: Dual-stream 802.11n (RT2860), with two internal antennas,
- WWAN: Built-in ZTE P685M modem, with two internal antennas and two
  switching SMA connectors for external antennas,
- FXS: Single ATA, with two connectors marked PHONE1 and PHONE2,
  internally wired in parallel by 0-Ohm resistors, handled entirely by
  internal WWAN modem.
- USB: internal miniPCIe slot for modem,
  unpopulated USB A connector on PCB.
- SIM slot for the WWAN modem.
- UART connector for the console (unpopulated) at 3.3V,
  pinout: 1: VCC, 2: TXD, 3: RXD, 4: GND,
  settings: 57600-8-N-1.
- LEDs: Power (fixed), WLAN, WWAN (RGB),
  phone (bicolor, controlled by modem), Signal,
  4 link/act LEDs for LAN1-4.
- Buttons: WPS, reset.

Installation:
As the modem is, for most of the time, provided by carriers, there is no
possibility to flash through web interface, only built-in FOTA update
and TFTP recovery are supported.

There are two installation methods:
(1) Using serial console and initramfs-kernel - recommended, as it
allows you to back up original firmware, or
(2) Using TFTP recovery - does not require disassembly.

(1) Using serial console:
To install OpenWrt, one needs to disassemble the
router and flash it via TFTP by using serial console:
- Locate unpopulated 4-pin header on the top of the board, near buttons.
- Connect UART adapter to the connector. Use 3.3V voltage level only,
  omit VCC connection. Pin 1 (VCC) is marked by square pad.
- Put your initramfs-kernel image in TFTP server directory.
- Power-up the device.
- Press "1" to load initramfs image to RAM.
- Enter IP address chosen for the device (defaults to 192.168.0.1).
- Enter TFTP server IP address (defaults to 192.168.0.22).
- Enter image filename as put inside TFTP server - something short,
  like firmware.bin is recommended.
- Hit enter to load the image. U-boot will store above values in
  persistent environment for next installation.
- If you ever might want to return to vendor firmware,
  BACK UP CONTENTS OF YOUR FLASH NOW.
  For this router, commonly used by mobile networks,
  plain vendor images are not officially available.
  To do so, copy contents of each /dev/mtd[0-3], "firmware" - mtd3 being the
  most important, and copy them over network to your PC. But in case
  anything goes wrong, PLEASE do back up ALL OF THEM.
- From under OpenWrt just booted, load the sysupgrade image to tmpfs,
  and execute sysupgrade.

(2) Using TFTP recovery
- Set your host IP to 192.168.0.22 - for example using:
sudo ip addr add 192.168.0.22/24 dev <interface>
- Set up a TFTP server on your machine
- Put the sysupgrade image in TFTP server root named as 'root_uImage'
  (no quotes), for example using tftpd:
  cp openwrt-ramips-rt305x-zte_mf283plus-squashfs-sysupgrade.bin /srv/tftp/root_uImage
- Power on the router holding BOTH Reset and WPS buttons held for around
  5 seconds, until after WWAN and Signal LEDs blink.
- Wait for OpenWrt to start booting up, this should take around a
  minute.

Return to original firmware:
Here, again there are two possibilities are possible, just like for
installation:
(1) Using initramfs-kernel image and serial console
(2) Using TFTP recovery

(1) Using initramfs-kernel image and serial console
- Boot OpenWrt initramfs-kernel image via TFTP the same as for
  installation.
- Copy over the backed up "firmware.bin" image of "mtd3" to /tmp/
- Use "mtd write /tmp/firmware.bin /dev/mtd3", where firmware.bin is
  your backup taken before OpenWrt installation, and /dev/mtd3 is the
  "firmware" partition.

(2) Using TFTP recovery
- Follow the same steps as for installation, but replacing 'root_uImage'
  with firmware backup you took during installation, or by vendor
  firmware obtained elsewhere.

A few quirks of the device, noted from my instance:
- Wired and wireless MAC addresses written in flash are the same,
  despite being in separate locations.
- Power LED is hardwired to 3.3V, so there is no status LED per se, and
  WLAN LED is controlled by WLAN driver, so I had to hijack 3G/4G LED
  for status - original firmware also does this in bootup.
- FXS subsystem and its LED is controlled by the
  modem, so it work independently of OpenWrt.
  Tested to work even before OpenWrt booted.
  I managed to open up modem's shell via ADB,
  and found from its kernel logs, that FXS and its LED is indeed controlled
  by modem.
- While finding LEDs, I had no GPL source drop from ZTE, so I had to probe for
  each and every one of them manually, so this might not be complete -
  it looks like bicolor LED is used for FXS, possibly to support
  dual-ported variant in other device sharing the PCB.
- Flash performance is very low, despite enabling 50MHz clock and fast
  read command, due to using 4k sectors throughout the target. I decided
  to keep it at the moment, to avoid breaking existing devices - I
  identified one potentially affected, should this be limited to under
  4MB of Flash. The difference between sysupgrade durations is whopping
  3min vs 8min, so this is worth pursuing.

In vendor firmware, WWAN LED behaviour is as follows, citing the manual:
- red - no registration,
- green - 3G,
- blue - 4G.
Blinking indicates activity, so netdev trigger mapped from wwan0 to blue:wwan
looks reasonable at the moment, for full replacement, a script similar to
"rssileds" would need to be developed.

Behaviour of "Signal LED" in vendor firmware is as follows:
- Off - no signal,
- Blinking - poor coverage
- Solid - good coverage.

A few more details on the built-in LTE modem:
Modem is not fully supported upstream in Linux - only two CDC ports
(DIAG and one for QMI) probe. I sent patches upstream to add required device
IDs for full support.
The mapping of USB functions is as follows:
- CDC (QCDM) - dedicated to comunicating with proprietary Qualcomm tools.
- CDC (PCUI) - not supported by upstream 'option' driver yet. Patch
  submitted upstream.
- CDC (Modem) - Exactly the same as above
- QMI - A patch is sent upstream to add device ID, with that in place,
  uqmi did connect successfully, once I selected correct PDP context
  type for my SIM (IPv4-only, not default IPv4v6).
- ADB - self-explanatory, one can access the ADB shell with a device ID
  added to 51-android.rules like so:

SUBSYSTEM!="usb", GOTO="android_usb_rules_end"
LABEL="android_usb_rules_begin"
SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", ATTR{idProduct}=="1275", ENV{adb_user}="yes"
ENV{adb_user}=="yes", MODE="0660", GROUP="plugdev", TAG+="uaccess"
LABEL="android_usb_rules_end"

While not really needed in OpenWrt, it might come useful if one decides to
move the modem to their PC to hack it further, insides seem to be pretty
interesting. ADB also works well from within OpenWrt without that. O
course it isn't needed for normal operation, so I left it out of
DEVICE_PACKAGES.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
[remove kmod-usb-ledtrig-usbport, take merged upstream patches]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-02-26 13:57:54 +01:00
John Audia
4b92663f7a kernel: bump 5.4 to 5.4.100
Ran update_kernel.sh in a fresh clone without any existing toolchains.

Build system: x86_64
Build-tested: ipq806x/R7800
Run-tested: ipq806x/R7800

No dmesg regressions, everything functional

Signed-off-by: John Audia <graysky@archlinux.us>
[refresh again]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-02-25 13:08:09 +01:00
Kabuli Chana
dc8cc44612 kernel: bump version 5.10 to 5.10.18
update kernel version, refresh current patchset

Signed-off-by: Kabuli Chana <newtownBuild@gmail.com>
[rebase/refresh]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-02-24 18:45:59 +01:00
Adrian Schmutzler
8d766aa669 kernel: add further missing symbols
CONFIG_NET_DSA_MV88E6XXX_PTP was simply missing in generic config.

CONFIG_I2C_PXA_SLAVE was previously enabled via i2c-pxa package,
but got removed there without moving the symbol to generic config.

Fixes: dd13add3ce ("kernel: i2c-pxa: remove slave")

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-02-24 02:53:53 +01:00
Daniel Golle
e6aac8d98f image: add support for building FIT image with filesystem
Allow for single (external-data) FIT image to hold kernel, dtb and
squashfs. In that way, the bootloader verifies the system integrity
including the rootfs, because what's the point of checking that the
hash of the kernel is correct if it won't boot in case of squashfs
being corrupted? Better allow bootloader to check everything needed
to make it at least up to failsafe mode. As a positive side effect
this change also makes the sysupgrade process on nand potentially
much easier as it is now.
In short: mkimage has a parameter '-E' which allows generating FIT
images with 'external' data rather than embedding the data into the
device-tree blob itself. In this way, the FIT structure itself remains
small and can be parsed easily (rather than having to page around
megabytes of image content). This patch makes use of that and adds
support for adding sub-images of type 'filesystem' which are used to
store the squashfs. Now U-Boot can verify the whole OS and the new
partition parsers added in the Linux kernel can detect the filesystem
sub-images, create partitions for them, and select the active rootfs
volume based on the configuration in FIT (passing configuration via
device tree could be implemented easily at a later stage).

This new FIT partition parser works for NOR flash (on top of mtdblock),
NAND flash (on top of ubiblock) as well as classic block devices
(ie. eMMC, SDcard, SATA, NVME, ...).
It could even be used to mount such FIT images via `losetup -P` on a
user PC if this patch gets included in Linux upstream one day ;)

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-02-24 01:35:20 +00:00
DENG Qingfang
920eaab1d8 kernel: DSA roaming fix for Marvell mv88e6xxx
Marvell mv88e6xxx switch series cannot perform MAC learning from
CPU-injected (FROM_CPU) DSA frames, which results in 2 issues.
- excessive flooding, due to the fact that DSA treats those addresses
as unknown
- the risk of stale routes, which can lead to temporary packet loss

Backport those patch series from netdev mailing list, which solve these
issues by adding and clearing static entries to the switch's FDB.

Add a hack patch to set default VID to 1 in port_fdb_{add,del}. Otherwise
the static entries will be added to the switch's private FDB if VLAN
filtering disabled, which will not work.

The switch may generate an "ATU violation" warning when a client moves
from the CPU port to a switch port because the static ATU entry added by
DSA core still points to the CPU port. DSA core will then clear the static
entry so it is not fatal. Disable the warning so it will not confuse users.

Link: https://lore.kernel.org/netdev/20210106095136.224739-1-olteanv@gmail.com/
Link: https://lore.kernel.org/netdev/20210116012515.3152-1-tobias@waldekranz.com/
Ref: https://gitlab.nic.cz/turris/turris-build/-/issues/165
Signed-off-by: DENG Qingfang <dqfext@gmail.com>
2021-02-23 21:10:56 +01:00
Adrian Schmutzler
5e9b07ff36 kernel: add symbol CONFIG_POWER_RESET_LINKSTATION
Add symbol to generic config (this was added between 5.4 and 5.10),
and remove it from the targets where it was added by kernel_oldconfig
in the meantime.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-02-23 21:08:21 +01:00
David Bauer
55ed4bf6d7 generic: add missing symbols
Signed-off-by: David Bauer <mail@david-bauer.net>
2021-02-23 20:13:37 +01:00
Rui Salvaterra
dc6ac62046 kernel: 5.10: add further generic kconfig symbols
This will make the specific kconfig smaller.

Reviewed-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Tested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
[improved commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-02-23 18:31:35 +01:00
Álvaro Fernández Rojas
7405ff5d4b kernel: mtdsplit: add support for BCM63XX CFE firmware
Broadcom CFE bootloader relies on a tag for identifying the current firmware,
such as version, image start address, kernel address and size, rootfs size,
board id, signatures, etc.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-22 18:09:03 +01:00
David Bauer
f79f496ed6 generic: add missing symbol
Signed-off-by: David Bauer <mail@david-bauer.net>
2021-02-22 00:57:34 +01:00
Aleksander Jan Bajkowski
777e67301a kernel: sort config
This was done by executing this script:

find . -name "config-*"  > ../configs.txt
for config in $(cat ../configs.txt); do
	./scripts/kconfig.pl '+' $config /dev/null > $config-new
	mv $config-new $config
done
rm ../configs.txt

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
2021-02-21 23:52:26 +01:00
Álvaro Fernández Rojas
7747b3fa36 generic: add bcm2835-rng quality patch
This patch allows devices without a high resolution timer to boot up faster.
It should speed up boots for bcm2708 and bcm63xx.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-20 18:59:25 +01:00
John Audia
5d3a6fd970 kernel: bump 5.4 to 5.4.99
Ran update_kernel.sh in a fresh clone without any existing toolchains.
No manual changes needed.

Build system: x86_64
Build-tested: bcm27xx/bcm2711

Signed-off-by: John Audia <graysky@archlinux.us>
2021-02-18 20:04:50 +01:00
David Bauer
5408399fcb generic: don't lock when recursively deleting partitions
When recursively deleting partitions, don't acquire the masters
partition lock twice. Otherwise the process endy up in a deadlocked
state.

Signed-off-by: David Bauer <mail@david-bauer.net>
2021-02-18 01:16:40 +01:00
David Bauer
0621b23efb generic: add various kernel 5.10 config symbols
These symbols were unset when configuring for ath79.

Signed-off-by: David Bauer <mail@david-bauer.net>
2021-02-18 01:16:20 +01:00
Álvaro Fernández Rojas
f323dec4f8 bcm63xx: add kernel 5.10 support
Runtime-tested on Comtrend AR-5387un.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-17 20:40:16 +01:00
Daniel Golle
5bb9954826 kernel: update kernel 5.10 to 5.10.16
Compile and runtime-tested on mediatek/mt7622

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-02-17 13:48:43 +00:00
Adrian Schmutzler
0e43f62f21 kernel: 5.10: refresh patches
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-02-16 23:48:23 +01:00
Adrian Schmutzler
0c7340f0a2 kernel: 5.10: add missing partitions doc syntax commit
This patch has been added to 5.4, but not been copied to 5.10:
7495acb555 ("kernel: backport mtd commit converting partitions doc syntax")

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-02-16 23:48:23 +01:00
Adrian Schmutzler
1013bf433b kernel: hack-5.10: make UDP tunneling user-selectable
This applies another patch from 5.4 to 5.10 as well:
de09355f74 ("kernel/hack-5.4: make UDP tunneling user-selectable")

UDP tunneling support isn't user-selectable, but it's required by WireGuard
which is, for the time being, an out-of-tree module. We currently work around
this issue by selecting an unrelated module which depends on UDP tunnelling
(VXLAN). This is inconvenient, as it implies this unrelated module needs to be
built-in when doing a monolithic build.

Fix this inconvenience by making UDP tunneling user-selectable in the kernel
configuration.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-02-16 23:48:23 +01:00
Adrian Schmutzler
487b7ae5eb kernel: 5.4: fix .patch file extension
File extension was truncated for
pending-5.4/770-11-net-ethernet-mtk_eth_soc-avoid-rearming-interrupt-if.pa

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-02-16 23:48:23 +01:00
Adrian Schmutzler
99f2b464b4 kernel: 5.10: fix busy wait loop in mediatek PPE code
Reapply changes added to 5.4 but not copied to 5.10:
3da4acaa7b ("kernel: fix busy wait loop in mediatek PPE code")

The intention is for the loop to timeout if the body does not succeed.
The current logic calls time_is_before_jiffies(timeout) which is false
until after the timeout, so the loop body never executes.

time_is_after_jiffies(timeout) will return true until timeout is less
than jiffies, which is the intended behavior here.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-02-16 23:46:30 +01:00
Adrian Schmutzler
0e407dfe8b generic: ar8216: update version switch for of_get_phy_mode fix
Kernel has changed the of_get_phy_mode API in commit 0c65b2b90d13
("net: of_get_phy_mode: Change API to solve int/unit warnings").

This is already included in kernel 5.5, so fix the version switch
(though this will not actually matter for the versions we support).

Similar driver adjustments to account for the API change will
probably be necessary to various other local drivers.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-02-16 23:42:43 +01:00
David Bauer
a24df045db generic: ar8216: fix kernel 5.10 compile error
Signed-off-by: David Bauer <mail@david-bauer.net>
2021-02-16 22:53:10 +01:00
Felix Fietkau
b10d604459 kernel: add linux 5.10 support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-02-16 20:06:51 +01:00