Commit Graph

27138 Commits

Author SHA1 Message Date
Christian Marangi
5384c9337f
ipq806x: disable ea8500 image by default
Linksys EA8500 is currently broken after the kernel 5.15 bump. Disable
compiling it by default from buildbot to prevent brick from the user.

Don't mark it as BROKEN to permit user to compile images and permit devs
to bisect the problem with the users.

The current problem with the device is that the switch is not detected
and we can't comunicate with it via MDIO.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-28 01:16:00 +02:00
Christian Marangi
c4a9a67de8
ipq806x: disable ea8500 image by default
Linksys EA8500 is currently broken after the kernel 5.15 bump. Disable
compiling it by default from buildbot to prevent brick from the user.

Don't mark it as BROKEN to permit user to compile images and permit devs
to bisect the problem with the users.

The current problem with the device is that the switch is not detected
and we can't comunicate with it via MDIO.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-28 01:10:21 +02:00
Rafał Miłecki
ae57770c95 bcm4908: add pending BQL support for bcm4908_enet
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2022-10-27 22:34:00 +02:00
Rafał Miłecki
31e4e56654 bcm4908: backport bcm4908_enet fix for NULL dereference
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2022-10-27 21:14:02 +02:00
Rafał Miłecki
6a02205a4d bcm4908: optimize Ethernet driver by using build_skb()
This should slightly improve performance thanks to the better cache
usage.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2022-10-27 18:59:46 +02:00
Jan Hoffmann
eb456aedfe realtek: use assisted learning on CPU port
L2 learning on the CPU port is currently not consistently configured and
relies on the default configuration of the device. On RTL83xx, it is
disabled for packets transmitted with a TX header, as hardware learning
corrupts the forwarding table otherwise. As a result, unneeded flooding
of traffic for the CPU port can already happen on some devices now. It
is also likely that similar issues exist on RTL93xx, which doesn't have
a field to disable learning in the TX header.

To address this, disable hardware learning for the CPU port globally on
all devices. Instead, enable assisted learning to let DSA write FDB
entries to the switch.

For now, this does not sync local/bridge entries to the switch. However,
support for that was added in Linux 5.14, so the next switch to a newer
kernel version is going to fix this.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
2022-10-26 09:59:38 +02:00
Jan Hoffmann
2088e440b1 realtek: set up L2 table entries properly
Initialize the data structure using memset to avoid the possibility of
writing garbage values to the hardware.

Always set a valid entry type, which should fix writing unicast entries
on RTL930x.

For unicast entries, set the is_static flag to prevent the switch from
aging them out.

Also set the rvid field for unicast entries. This is not strictly
necessary, as the switch fills it in automatically from a non-zero vid.
However, this makes the code consistent with multicast entry setup.

While at it, reorder the statements and fix some style issues (double
space, comma instead of semicolon at end of statement). Also remove the
unneeded priv parameter and debug print for the multicast entry setup
function.

Fixes: cde31976e3 ("realtek: Add support for Layer 2 Multicast")
Signed-off-by: Jan Hoffmann <jan@3e8.eu>
2022-10-26 09:59:24 +02:00
Christian Marangi
a31b598590
realtek: 5.10: refresh kernel patches
Refresh kernel patches for realtek 5.10 kernel

Refreshed patch:
- 300-mips-add-rtl838x-platform.patch

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-25 04:56:16 +02:00
Davide Fioravanti
8d921167e9
ipq40xx: convert to DSA and enable Netgear Orbi devices
Convert to DSA and enable again Netgear Orbi devices:
 - RBR50
 - RBS50
 - SRR60
 - SRS60

Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
2022-10-25 02:34:46 +02:00
Christian Marangi
ea63945b25
generic: 5.15: add missing CMDLINE_OVERRIDE patch
This patch was wrongly dropped with the assumption that it was moved to
generic. This wasn't the case and caused the malfunction of the Asrock
G10 router.

Reintroduce it to fix Asrock G10 functionality.

Fixes: 8cc2caed58 ("ipq806x: 5:15: add testing kernel version")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-25 01:29:45 +02:00
Christian Marangi
1c514f05ab
ipq806x: 5.15: drop mmc-ddr-1_8v from sdcc1 node
Zyxel NGB6817 is the only router that use mmc for rootfs. Upstream
kernel dtsi have mmc-ddr-1_8v enabled for sddc1. This is wrong as mmc on
ipq806x is supplied by a fixed 3.3v regulator and can't operate at 1.8v.
This cause the sddc1 to malfunction and cause kernel panic.
In old 5.15 version this was disabled but it was put in addition to many
other changes so it was dropped silently. Restore this patch to fix
working condition of such router.

Fixes: 88bf652 ("ipq806x: 5.15: replace dtsi patches with upstream version")
Fixes: #11000
Tested-by: Hendrik Koerner <koerhen@web.de>
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-25 01:29:45 +02:00
Christian Marangi
a87b6cda02
ipq806x: 5.15: revert unwanted DSA conversion for ASRock G10
In refreshing DTS to the upstream version an unwanted change slipped in
the commit. The ASRock G10 dts got converted to DSA without any support.

Revert this to swconfig driver to restore normal functionality.

Fixes: 88bf652525 ("ipq806x: 5.15: replace dtsi patches with upstream version")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-25 01:29:45 +02:00
Christian Marangi
dd2515cb53
ipq806x: 5.15: backport qcom_nandc patch for unprotected spare data fix
We currently ignore ret of the nandc partition parser if unprotected
spare data is true. This is the case for ipq806x nand.

Backport patch that fix this error and correctly handle error from
partition parser.

Fixes: ae6a63bc97 ("ipq806x: 5.15: replace nandc patch with upstream version")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-25 01:29:44 +02:00
Christian Marangi
04a8944178
generic: 5.15: backport smempart parser fixup patch with EPROBE_DEFER error
Backport patch from kernel 5.15 that mute error on EPROBE_DEFER with
smempart parser.

This parser require the smem device to be probed first and currently it
may happen that mtd gets probed before the smem device causing an error
on the smempart parser. This error may be confusing and should be muted.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-25 01:29:44 +02:00
Christian Marangi
221020fda6
generic: 5.15: backport qcom smem patch for reserved-space support
In new kernel version from 5.16, smem node can be declared directly in
the reserved-space node. Upstream ipq806x (and to-be-merged) ipq807x
allign to this new implementation. Backport this patch to kernel 5.15 to
fix support for smem parser for ipq806x target.

Fixes: 88bf652525 ("ipq806x: 5.15: replace dtsi patches with upstream version")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-25 01:29:43 +02:00
Christian Marangi
ffe91ca478
generic: 5.15: move not backport patch to pending dir
Move patch wrongly placed in backport dir to pending dir as they still
didn't got merged upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-24 21:10:48 +02:00
Christian Marangi
2a7bdde29b
generic: 5.15: move MGLRU patches from pending to backport
Move MGLRU patches from pending to backport as they got merged upstream.
These are direct porting from one of the dev so it's better to just move
than trying to backport them again from upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-24 21:10:48 +02:00
Christian Marangi
ccedd7175d
generic: 5.15: move mvebu aardvark patch from pending to backport
Move mvebu aardvark patch from pending to backport as they got merged
upstream.
One additional patch is needed as a later fixup for it.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-24 21:10:47 +02:00
Christian Marangi
08c6c0c217
generic: 5.15: move ZTE MF286D modem patch from pending to backport
Move ZTE MF286D modem patch from pending to backport as it was merged
upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-24 21:10:47 +02:00
Christian Marangi
e25890ce45
generic: 5.15: move bluetooth mt79 usb id patch from pending to backport
Move bluetooth mt79 usb id patch from pending to backport as it got
merged upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-24 21:10:47 +02:00
Christian Marangi
a1522ec156
generic: 5.15: move mtk eth soc patch from pending to backport
Move mtk eth soc patch from pending to backport as it got merged
upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-24 21:10:46 +02:00
Christian Marangi
d7a6e171c0
generic: 5.15: move sfp HALNy patch from pending to backport
Move sfp HALNy patch from pending to backport as they got merged
upstream. The patch was reordered and one was squashed in the upstream
variant.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-24 21:10:46 +02:00
Christian Marangi
90629d82da
generic: 5.15: move pending xtx nand patch from pending to backport
Move pending xtx nand patch from pending to backport as it got merged
upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-24 21:10:46 +02:00
Christian Marangi
f846945bd2
generic: 5.15: move dtc drop interrupt check from pending to backport
Move dtc drop interrupto check from pending to backport as it got merged
upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-24 21:10:46 +02:00
Christian Marangi
b182634689
generic: 5.15: move MIPS cpuinfo patch from pending to backport
Move MIPS cpuinfo patch from pending to backport as it got merged
upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-10-24 21:10:45 +02:00
Shiji Yang
288b36c2ea ramips: add missing WAN LED for Xiaomi Mi Router 4A / 4C
The blue WAN LED connected to GPIO37 is missing, so re-add it.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2022-10-23 23:33:22 +02:00
Sander Vanheule
9f6cbc78cd realtek: consistently flood RMA frames
The switches support different actions for incoming ethernet multicast
frames with Reserved Multicast Addresses (01-80-C2-00-00-{01-2F}). The
current code will set the 2-bit action field to FLOOD (0x3) for most
classes, but the highest bit is always unset for the relevant control
registers. This means the DROP (0x1) action being used for these
classes; whatever class the MSB happens to be in.

For RTL838x, this results in {20,23-2F} frames being dropped, instead of
flooding all ports. On other switch generations, {0F,1F,2F} frames are
dropped. This is inconsistent, and appears to be a mistake. Remove this
inconsistency by flooding all multicast frames with RMA addresses.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2022-10-23 22:33:08 +02:00
Sander Vanheule
039e5be4af realtek: remove RTL839x path in RTL838x multicast
The multicast setup function rtl838x_eth_set_multicast_list() checks if
the current SoC is a RTL839x family device. However, the function is
only included in the RTL838x ops table, so this path should never be
taken, making this dead code. rtl839x_eth_set_multicast_list() is
already present in the RTL839x ops table, so it should be safe to remove
this branch.

While touching the code, also re-sort the functions to match sorting
elsewhere, with rtl838x coming before rtl839x.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2022-10-23 22:33:08 +02:00
Jan Hoffmann
19b86658b7 realtek: reduce excessive logging for FDB operations
Currently several messages at KERN_INFO level are printed for every FDB
del/dump operation. This can cause a significant slowdown for example
while using "bridge fdb", and may even trigger a watchdog.

Remove most of these log messages, as the new L2 table debugfs node
should be a good replacement. Change the remaining messages to
KERN_DEBUG level.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
2022-10-23 22:33:08 +02:00
Jan Hoffmann
ae9487c535 realtek: add debugfs node for L2 table
This allows to view all unicast and multicast entries that are currently
in the L2 hash table and the CAM.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
2022-10-23 22:33:08 +02:00
Jan Hoffmann
4657a5301e realtek: avoid busy waiting for RTL839x PHY read/write
Switch to a polling implementation similar to the one for RTL838x, to
allow other kernel tasks to run while waiting.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
2022-10-23 22:33:08 +02:00
Markus Stockhausen
b295c7140b realtek: disable otto timer for RTL93xx targets
The new timer is not yet ready for all targets. Avoid interactive
questions during build

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
[rename symbol to CONFIG_REALTEK_OTTO_TIMER]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2022-10-23 22:33:08 +02:00
Markus Stockhausen
beb5b07943 realtek: timer driver: activate for RTL839X devices
Use the	new timer driver for the RTL839X devices and remove the
no longer needed modules.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
[correct timer compatible order, update selected symbols]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2022-10-23 22:33:08 +02:00
Markus Stockhausen
ec675fb744 realtek: timer driver: activate for RTL838X devices
Use the new timer driver for the RTL838X devices. Remove the no
longer needed modules.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
[correct timer compatible order, update selected symbols]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2022-10-23 22:33:08 +02:00
Markus Stockhausen
5c677b2298 realtek: timer driver: documentation
Provide some helpful information about the devicetree configuration of
our new driver

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
[correct compatible order in examples]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2022-10-23 22:33:08 +02:00
Markus Stockhausen
3cc8011171 realtek: resurrect timer driver
Now that we provide a clock driver for the Reltek SOCs the CPU frequency might
change on demand. This has direct visible effects during operation

- the CEVT 4K timer is no longer a stable clocksource
- after CPU frequencies changes time calculation works wrong
- sched_clock falls back to kernel default interval (100 Hz)
- timestamps in dmesg have only 2 digits left

[    0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps ...
[    0.060000] pid_max: default: 32768 minimum: 301
[    0.070000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.070000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.080000] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[    0.090000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, ...

Looking around where we can start the CEVT timer for RTL930X is a good basis.
Initially it was developed as a clocksource driver for the broken timer in that
specific SOC series. Afterwards it was shifted around to the CEVT location,
got SMP enablement and lost its clocksource feature. So we at least have
something to copy from. As the timers on these devices are well understood
the implementation follows this way:

- leave the RTL930X implementation as is
- provide a new driver for RTL83XX devices only
- swap RTL930X driver at a later time

Like the clock driver this patch contains a self contained module that is SOC
independet and already provides full support for the RTL838X, RTL839X and
RTL930X devices. Some of the new (or reestablished) features are:

- simplified initialization routines
- SMP setup with CPU hotplug framework
- derived from LXB clock speed
- supplied clocksource
- dedicated register functions for better readability
- documentation about some caveats

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
[remove unused header includes, remove old CONFIG_MIPS dependency, add
REALTEK_ prefix to driver symbol]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2022-10-23 22:33:08 +02:00
Brian Norris
a3da858ab0 ipq40xx: Convert Google Wifi to DSA, reenable
Undo parts of these:

116feb4a1c ipq40xx: remove non-converted network configs
db19efee95 ipq40xx: disable boards not converted to DSA

Reintroduce the DT paths /soc/edma@c080000/gmac{0,1}, because the stock
bootloader has memorized them (instead of following aliases); then plug
the MAC address back in via 05_set_iface_mac_ipq40xx.sh, since the
'local-mac-address' property is no longer in the correct node.

Cc: David Bauer <mail@david-bauer.net>
Cc: Robert Marko <robert.marko@sartura.hr>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2022-10-23 08:27:40 +02:00
Jack Chen
57577bb8cc ipq40xx: convert to DSA and enable mobipromo,cm520-79f
Convert to DSA and enable the MobiPromo CM520-79F device again.

Signed-off-by: Jack Chen <redchenjs@live.com>
Reviewed-by: Robert Marko <robimarko@gmail.com>
2022-10-23 01:45:52 +02:00
Pavel Kamaev
a716ac5564 ath79: fix reference clock for RouterBoard 912UAG
This fixes reference clock frequency of RB912. 25 MHz frequency leads
to system clock running too fast, uptime incrementing too fast and
delays (like `sleep 10`) returning too early.

Board has quartz with NSK 3KHAA Z 40 000 marking.

Signed-off-by: Pavel Kamaev <pavel@kamaev.me>
2022-10-23 01:45:52 +02:00
David Bentham
67660d3667 ramips: fix WAN mac address allocation for Unielec 01 and 06 models
Manufacturer has predetermined mac address values for lan and wan ports.

This change keeps inline with other mt7621 devices mac address allocation
from factory mtd partition.

Example from hexdump output:

0xe000 0x6 (lan) -           0xe006 0x6 (wan)

0000e000  70 b3 d5 10 02 96 70 b3  d5 10 02 95 ff ff ff ff

Previous change had created an overlapping mac address situation as it
would increment by one based on the lan mac address location found in the
factory partition, which would sometimes increment to the same as the
mt7603 wifi chip.

Tested on Unielec u7621-01 model

Signed-off-by: David Bentham <db260179@gmail.com>
2022-10-23 01:45:52 +02:00
Robert Senderek
ac296f6210 ramips: rt3883: enable lzma-loader for Belkin F9K1109v1
Fixes boot loader LZMA decompression issues

Fixes: #10968
Signed-off-by: Robert Senderek <robert.senderek@10g.pl>
2022-10-23 01:45:52 +02:00
Alex Khodin
f6099d7974 ramips: mt7621: enable lzma-loader for Asus RT-N56U-B1
Fixes boot loader LZMA decompression issues.

Without this change the board end up in a boot loop.

Signed-off-by: Alex Khodin <mxktz1@gmail.com>
2022-10-23 01:45:52 +02:00
Chukun Pan
4f9b360f0b ramips: add A-040W-Q alternative name for MSG1500 X.00
The hardware of Nokia A-040W-Q and RAISECOM MSG1500 X.00 are
exactly the same, both of which are customized by operators.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2022-10-23 01:45:52 +02:00
Chukun Pan
7b863af180 kernel: move mac-address-ascii patches to generic
This enables other targets to use the mac-address-ascii
feature.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2022-10-23 01:45:52 +02:00
Aleksander Jan Bajkowski
802ca492d8 lantiq: add 6.1 tag to upstream patch
Add 6.1 tag to upstream patch now that 6.1 got tagged. This permits to
track patch in a better way and directly drop them on kernel bump.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2022-10-23 01:45:52 +02:00
Martin Blumenstingl
d4571e98ab lantiq: Add Linux 5.15 as testing kernel version
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2022-10-22 19:44:46 +02:00
Martin Blumenstingl
d374e0346e lantiq: 5.15: refresh patches
0001-MIPS-lantiq-add-pcie-driver.patch needs to drop
MODULE_SUPPORTED_DEVICE because that macro is gone on newer kernels.

Add checks for copy_{to,from}_user in
0008-MIPS-lantiq-backport-old-timer-code.patch which is now mandatory.

0705-v5.13-net-dsa-lantiq-allow-to-use-all-GPHYs-on-xRX300-and-.patch
get dropped because it's a backport from Linux 5.13.

All other patches are refreshed.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2022-10-22 19:44:45 +02:00
Martin Blumenstingl
c783073894 lantiq: copy Linux 5.10 files in preparation for Linux 5.15 support
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2022-10-22 19:44:45 +02:00
Chen Minqiang
3505933073 ipq40xx: convert to DSA and enable asus,rt-ac42u
This convert board asus,rt-ac42u to DSA and re-enable it

Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
2022-10-22 20:09:58 +08:00
Hauke Mehrtens
1ea3510c5c kernel: Add missing kernel configuration options
The at91/sam9x targets misses these configuration options when using
kernel 5.15.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2022-10-22 00:51:25 +02:00