openwrt/staging/stintel.git
3 months agokernel: rework Initramfs locking logic
Christian Marangi [Mon, 16 Sep 2024 16:34:09 +0000 (18:34 +0200)]
kernel: rework Initramfs locking logic

Rework CompileImage/Initramfs locking logic to fix race condition on
concurrent access/compilation.

Rework each intermediate step and group them under one single execution
block. Protect this with a new lock, 'gen-initramfs' and rename the
compile initramfs to compile-initramfs lock name.

This is done to handle corner case scenario where a rootfs with the same
hash ID is generated at the same time. To handle this, we execute
everything under lock and use a specific hash ID lock to prevent
concurrent access/compilation.

Link: https://github.com/openwrt/openwrt/pull/16404
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 months agotoolchain: binutils: add support for 2.43.1
Olcay Korkmaz [Mon, 16 Sep 2024 21:28:21 +0000 (00:28 +0300)]
toolchain: binutils: add support for 2.43.1
Release notes:
https://lists.gnu.org/archive/html/info-gnu/2024-08/msg00003.html

No need to refresh patches
Test device: Xiaomi ax3600

Signed-off-by: Olcay Korkmaz <nuke_mania@hotmail.com>
Link: https://github.com/openwrt/openwrt/pull/16405
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agogeneric: enable RELR relocations
Robert Marko [Mon, 16 Sep 2024 09:51:45 +0000 (11:51 +0200)]
generic: enable RELR relocations

RELR is a relocation packing format for relative relocations.

Linux has supported using it for ARM64 since 5.4, and more recently
for LoongArch as well.

It requires compatible tooling as well, so only with binutils 2.43
TOOLS_SUPPORT_RELR is set and thus RELR available.

RELR should always decrease the binary size and while testing this
the default build for Dynalink WRX-36 (qualcommax/ipq807x) reduced
the compressed kernel size by 38k and uncompressed one by 640k.

So, lets enable it in the default config.

Link: https://github.com/openwrt/openwrt/pull/16403
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agorealtek: 6.6: MDIO post fixes
Markus Stockhausen [Sat, 14 Sep 2024 20:39:12 +0000 (16:39 -0400)]
realtek: 6.6: MDIO post fixes

Merging of the realtek 6.6 series forgot to include some final fixes
for the new MDIO driver. What was changed in last second?

1. The MDIO driver used wrong constants to make use of the raw
page (for direct register access). Provide a rawpage variable in
the bus private structure, populate it during initialization and
make use of it at the proper places

2. We always used the variable portaddr for the bus index. Usually
our driver uses either addr or port for the same meaning. Remove the
duplication and reuse the normal addr variable.

3. Drop functions rtmdio_write_page() and rtmdio_read_page(). These
only call the PHY driver read/write page functions. We know that
these will only access page 0x1f. As we have only Realtek PHYs
and our driver only reacts to this special page, just hardcode it.
Benefit is that we can use these functions for PHY detection when
read/write page functions are not yet assigned.

4. Add two new helper functions phy_port_read_paged() and
phy_port_write_paged(). These allow to access arbitrary ports on
the MDIO bus when the packages are not initialized. These will be
needed for proper RTL8218B and RTL8214FC detection in forthcoming
patches.

5. The port tracking wrongly used index 0 to mark "normal" access.
This does not allow to make a "special" access to port 0. Use
index -1 to mark "normal" access.

Provide the fix for 5.15 and 6.6 to allow for easy version
comparison.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16391
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agorealtek: 5.15: backport VLAN fix
Markus Stockhausen [Sat, 14 Sep 2024 20:26:34 +0000 (16:26 -0400)]
realtek: 5.15: backport VLAN fix

With commit a22d359fa56fe0 VLAN handling was fixed for kernel 6.6.
This restored network connectivity of the devices. For easy testing
backport the fix for 5.15 too.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16391
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agorealtek: 6.6: Support XGMII attached PHYs
Markus Stockhausen [Sat, 14 Sep 2024 20:22:40 +0000 (16:22 -0400)]
realtek: 6.6: Support XGMII attached PHYs

On the XGS1210-12 the RTL8218D is attached via XGMII. Add this to the
supported list in the DSA driver.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16391
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agohostapd: update to version 2024-09-15
Ivan Pavlov [Sat, 7 Sep 2024 17:54:34 +0000 (20:54 +0300)]
hostapd: update to version 2024-09-15

Remove upstreamed from 2.11 release:
  060-nl80211-fix-crash-when-adding-an-interface-fails.patch

Rebase all other patches

Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16338
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agohostapd: update to 2.11 release tag
Ivan Pavlov [Thu, 15 Aug 2024 18:47:25 +0000 (21:47 +0300)]
hostapd: update to 2.11 release tag

Release 2.11 has been quite a few new features and fixes since the 2.10
release. The following ChangeLog entries highlight some of the main
changes:

* Wi-Fi Easy Connect
  - add support for DPP release 3
  - allow Configurator parameters to be provided during config exchange
* HE/IEEE 802.11ax/Wi-Fi 6
  - various fixes
* EHT/IEEE 802.11be/Wi-Fi 7
  - add preliminary support
* SAE: add support for fetching the password from a RADIUS server
* support OpenSSL 3.0 API changes
* support background radar detection and CAC with some additional
  drivers
* support RADIUS ACL/PSK check during 4-way handshake (wpa_psk_radius=3)
* EAP-SIM/AKA: support IMSI privacy
* improve 4-way handshake operations
  - use Secure=1 in message 3 during PTK rekeying

...and many more

Remove upstreamed patches:
  023-ndisc_snoop-call-dl_list_del-before-freeing-ipv6-add.patch
  030-driver_nl80211-rewrite-neigh-code-to-not-depend-on-l.patch
  040-mesh-allow-processing-authentication-frames-in-block.patch
  181-driver_nl80211-update-drv-ifindex-on-removing-the-fi.patch
  182-nl80211-move-nl80211_put_freq_params-call-outside-of.patch
  183-hostapd-cancel-channel_list_update_timeout-in-hostap.patch
  210-build-de-duplicate-_DIRS-before-calling-mkdir.patch
  253-qos_map_set_without_interworking.patch
  751-qos_map_ignore_when_unsupported.patch
  800-SAE-Check-for-invalid-Rejected-Groups-element-length.patch
  801-SAE-Check-for-invalid-Rejected-Groups-element-length.patch
  802-SAE-Reject-invalid-Rejected-Groups-element-in-the-pa.patch

Other patches has been updated.

Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16338
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agoramips: mt7621: Add DNA Valokuitu Plus EX400
Mauri Sandberg [Mon, 31 Jul 2023 12:35:46 +0000 (15:35 +0300)]
ramips: mt7621: Add DNA Valokuitu Plus EX400

Specifications:
- Device: DNA Valokuitu Plus EX400
- SoC: MT7621A
- Flash: 256MB NAND
- RAM: 256MB
- Ethernet: Built-in, 2 x 1GbE
- Wifi: MT7603 2.4 GHz, MT7615 5 GHz (4x internal antennas)
- USB: 1x 3.0
- LED: 1x green/red, 1x green
- Buttons: Reset

MAC addresses:
- LAN:     u-boot 'ethaddr' (label)
- WAN:     label + 1
- 2.4 GHz: label + 6
- 5 GHz:   label + 7

Serial:
 There is a black block connector next to the red ethernet connector. It
 is accessible also through holes in the casing.

Pinout (TTL 3.3V)
 +---+---+
 |Tx |Rx |
 +---+---+
 |Vcc|Gnd|
 +---+---+

Firmware:
 The vendor firmware is a fork of OpenWrt (Reboot) with a kernel version
 4.4.93. The flash is arranged as below and there is a dual boot
 mechanism alternating between rootfs_0 and rootfs_1.

 +-------+------+------+-----------+-----------+
 |       | env1 | env2 | rootfs_0  |  rootfs_1 |
 |       +------+------+-----------+-----------+
 |       |         UBI volumes                 |
 +-------+-------------------------------------+
 |U-Boot |             UBI                     |
 +-------+-------------------------------------+
 |mtd0   |             mtd1                    |
 +-------+-------------------------------------+
 |                     NAND                    |
 +---------------------------------------------+

 In OpenWrt rootfs_0 will be used as a boot partition that will contain the
 kernel and the dtb. The squashfs rootfs and overlay are standard OpenWrt
 behaviour.

 +-------+------+------+-----------+--------+------------+
 |       | env1 | env2 | rootfs_0  | rootfs | rootfs_data|
 |       +------+------+-----------+--------+------------+
 |       |         UBI volumes                           |
 +-------+-----------------------------------------------+
 |U-Boot |             UBI                               |
 +-------+-----------------------------------------------+
 |mtd0   |             mtd1                              |
 +-------+-----------------------------------------------+
 |                     NAND                              |
 +-------------------------------------------------------+

U-boot:
 With proper serial access booting can be halted to U-boot by pressing any
 key. TFTP and flash writes are available, but only the first one has been
 tested.

 NOTE: Recovery mode can be accessed by holding down the reset button while
 powering on the device. The led 'Update' will show a solid green light
 once ready. A web server will be running at 192.168.1.1:80 and it will
 allow flashing a firmware package. You can cycle between rootfs_0 and
 rootfs_1 by pressing the reset button once.

Root password:
 With the vendor web UI create a backup of your settings and download the
 archive to your computer. Within the archive in the file
 /etc/shadow replace the password hash for root with that of a password you
 know. Restore the configuration with the vendor web UI and you will have
 changed the root password.

SSH access:
 You might need to enable the SSH service for LAN interface as by default
 it's enabled for WAN only.

Installing OpenWrt:
 With the vendor web UI install the OpenWrt factory image. Alternatively,
 ssh to the device and use sysupgrade -n from cli.

 Finalize by installing the OpenWrt sysupgrade image to get a fully
 functioning system.

Reverting to the vendor firmware:

 Boot with OpenWrt initramfs image
  - Remove volumes rootfs_0, rootfs and rootfs_data and create vendor
    volumes.

    ubirmvol /dev/ubi0 -n 2
    ubirmvol /dev/ubi0 -n 3
    ubirmvol /dev/ubi0 -n 4
    ubimkvol /dev/ubi0 -N rootfs_0 -S 990
    ubimkvol /dev/ubi0 -N rootfs_1 -S 990

 Power off and enter to the U-boot recovery to install the vendor
 firmware.

Known issues:
 - MACs for wifi are stored in currently unknown place but it seems
   to persist over power-off. They might be stored on the chip.

Signed-off-by: Mauri Sandberg <maukka@ext.kapsi.fi>
[rmilecki: try NVMEM for MACs]
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 months agoomap: remove 6.1 support
Andre Heider [Sun, 4 Aug 2024 14:11:16 +0000 (16:11 +0200)]
omap: remove 6.1 support

We switched to 6.6, so lets remove 6.1 support now.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16099
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoomap: switch to kernel 6.6
Andre Heider [Sun, 4 Aug 2024 14:10:49 +0000 (16:10 +0200)]
omap: switch to kernel 6.6

Switch to Linux 6.6.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16099
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoomap: refresh kernel 6.6 config
Andre Heider [Sun, 4 Aug 2024 14:06:56 +0000 (16:06 +0200)]
omap: refresh kernel 6.6 config

Unset CONFIG_CRYPTO_MANAGER_DISABLE_TESTS and
CONFIG_CRYPTO_MANAGER_EXTRA_TESTS manually to fix these linker errors:
crypto/crypto_engine.o: in function `crypto_engine_register_akcipher': undefined reference to `crypto_register_akcipher'
crypto/crypto_engine.o: in function `crypto_engine_unregister_akcipher': undefined reference to `crypto_unregister_akcipher'
crypto/crypto_engine.o: in function `crypto_engine_register_kpp': undefined reference to `crypto_register_kpp'
crypto/crypto_engine.o: in function `crypto_engine_unregister_kpp': undefined reference to `crypto_unregister_kpp'

Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16099
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoomap: adapt to the new dts directory layout.
Andre Heider [Sun, 4 Aug 2024 14:10:49 +0000 (16:10 +0200)]
omap: adapt to the new dts directory layout.

.dts files were moved to the 'ti/omap' sub-directory.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16099
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agokernel/omap: Restore kernel files for v6.1
Andre Heider [Fri, 9 Aug 2024 06:34:29 +0000 (08:34 +0200)]
kernel/omap: Restore kernel files for v6.1

This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16099
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agokernel/omap: Create kernel files for v6.6 (from v6.1)
Andre Heider [Fri, 9 Aug 2024 06:34:29 +0000 (08:34 +0200)]
kernel/omap: Create kernel files for v6.6 (from v6.1)

This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16099
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoomap: rename kernel patches directory to include the version
Andre Heider [Fri, 9 Aug 2024 06:31:39 +0000 (08:31 +0200)]
omap: rename kernel patches directory to include the version

Bring it in line with all the other targets.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16099
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agorealtek: add fan controller support to D-Link DGS-1210-28MP
Andreas Böhler [Sat, 1 Jun 2024 17:28:22 +0000 (19:28 +0200)]
realtek: add fan controller support to D-Link DGS-1210-28MP

The DGS-1210-28MP has a LM63 fan controller connected via i2c of the
RTL8231. The clock line is always low if the property
i2c-gpio,scl-open-drain is not set; with this property, the GPIO pin is
force-drive and the clock works as expected.

The LM63 is not configured by U-Boot, thus only manual fan control is
possible by settings pwm1_enable to "1" and writing the desired values to
pwm1.

The OEM firmware drives the fan from user mode and sets it up like this:

// PWM LUT/value r/w, PWM Clock = 1.4kHz
0x4a 0x28
// Tachometer spinup disabled, spin-up cycles bypassed
0x4b 0x00
// PWM Frequency = default
0x4d 0x17
// PWM Value (28)
0x4c 0x1c
// If > 0 C, use
0x50 0x00
// PWM = 28
0x51 0x1c
// If > 51 C, use
0x52 0x33
// PWM = 44
0x53 0x2e
// Set hysteresis to 100 = default
0x4f 0x03
// Turn on automatic mode and w/p the LUT values
0x4a 0x08

A thread in the OEM firmware polls the ALERT status register for fan
failures.

Unfortunately, the lm63 kernel driver does not perform any initialization
of the chip and it does not support changing some config registers (like
PWM frequency or LUT). Hence, we are stuck with the defaults and need to do
fan control in software.

Signed-off-by: Andreas Böhler <dev@aboehler.at>
Link: https://github.com/openwrt/openwrt/pull/15616
Signed-off-by: Sander Vanheule <sander@svanheule.net>
3 months agorealtek: add full SFP support to D-Link DGS-1210-28 series
Andreas Böhler [Sat, 1 Jun 2024 17:14:39 +0000 (19:14 +0200)]
realtek: add full SFP support to D-Link DGS-1210-28 series

The DGS-1210-28 series was lacking full SFP support due to missing GPIOs.
Fortunately, the existing GPIO definitions of DGS-1210-52 match, this adds
the required i2c-gpio nodes to the DTS and allows hotplug SFP support.

Signed-off-by: Andreas Böhler <dev@aboehler.at>
Link: https://github.com/openwrt/openwrt/pull/15616
Signed-off-by: Sander Vanheule <sander@svanheule.net>
3 months agokernel: bump 6.6 to 6.6.51
John Audia [Thu, 12 Sep 2024 11:14:13 +0000 (07:14 -0400)]
kernel: bump 6.6 to 6.6.51

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.51

Removed upstreamed:
generic/backport-6.6/200-regmap-maple-work-around-false-positive-warning.patch
generic/backport-6.6/822-v6.11-0012-nvmem-Fix-return-type-of-devm_nvmem_device_get-in-ke.patch
bcm27xx/patches-6.6/950-1018-drivers-mmc-apply-SD-quirks-earlier-during-probe.patch

Manually rebased:
bcm27xx/patches-6.6/950-0993-drivers-mmc-cqhci-clear-CQHCI_CTL-if-halt-fails.patch
ramips/patches-6.6/311-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch[4]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.51&id=e42ea96d6d36a16526cb82b8aa2e5422814c3250
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.51&id=3d1baf322a3a69b38b6b2d511cfe0d611d1b5462
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.51&id=115a755bb38db5a1175be44e6a9a93a0a8233885
4. Adapted the changes from Hauke Mehrtens' modification in PR#16366 to 5.15.167

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16370
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agoapm821xx: meraki: fix mac addresses in dts
Rosen Penev [Tue, 20 Aug 2024 19:54:04 +0000 (12:54 -0700)]
apm821xx: meraki: fix mac addresses in dts

The one for the mx60 was wrong. The LAN MAC is offset by one.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14037
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agoapm821xx: migrate to DSA
Rosen Penev [Mon, 9 Oct 2023 20:15:52 +0000 (13:15 -0700)]
apm821xx: migrate to DSA

The qca8k driver is upstream, unlike swconfig. This applies to the mx60
and wndr4700 only. Fixed up LED definitions as well.

RTL83xx DSA for WNDAP62300/660 is not working.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14037
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agoucode: fix missing backslash
David Bauer [Sun, 15 Sep 2024 01:26:58 +0000 (03:26 +0200)]
ucode: fix missing backslash

Fixes: ae42ecaad4e7 ("ucode: fix host installation")
Signed-off-by: David Bauer <mail@david-bauer.net>
3 months agorealtek: 6.6: enable testing kernel
Markus Stockhausen [Mon, 9 Sep 2024 12:25:16 +0000 (08:25 -0400)]
realtek: 6.6: enable testing kernel

Allow to build the new kernel.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: fix VLAN handling
Markus Stockhausen [Sat, 7 Sep 2024 07:23:03 +0000 (03:23 -0400)]
realtek: 6.6: fix VLAN handling

The CPU port of realtek switches needs some proper PVID set to handle
untagged packets. Because the ethernet driver does no special VLAN
handling (see CPU tag RVID/RVID_SEL) as of now we can only steer
untagged packets by setting PVID for the CPU port. VLAN handling has
never been perfect but 3 events made things worse.

- Commit a37650821644 ("rtl83xx: dsa: Do nothing when vid 0")
- Commit e691e2b302d9 ("rtl83xx: dsa: reset PVID to 1 instead of 0")
- Upgrade to kernel 6.6

Reasons are:

- Rejecting VID 0 disabled Linux initialization routines
- Initialization for PVID forgot to set priv->ports[port].pvid
- Kernel 6.6 does no longer clarify CPU port as untagged

To fix this prepare the VID 0 setup inside the driver. Join all ports
to VID 0 and let no one from outsinde interfere with this setup.
Especially ignore PVID settings for the CPU port for all further
VLAN commands.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Suggested-by: Bjørn Mork <bjorn@mork.no>
3 months agorealtek: 6.6: refactor mac config and link up for RTL83xx
Markus Stockhausen [Tue, 27 Aug 2024 12:01:57 +0000 (08:01 -0400)]
realtek: 6.6: refactor mac config and link up for RTL83xx

Since kernel commit c5714f68a76bcad3d ("net: phylink: explicitly invalidate
link_state members in mac_config") it should be clear that link data can
only be used in mac_link_up(). Refactor that for the RTL83xx targets.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: harden fw_init_cmdline()
Markus Stockhausen [Sun, 25 Aug 2024 17:22:28 +0000 (13:22 -0400)]
realtek: 6.6: harden fw_init_cmdline()

Some devices (e.g. HP JG924A) hand over other than expected kernel boot
arguments. Looking at these one can see:

fw_init_cmdline: fw_arg0=00020000
fw_init_cmdline: fw_arg1=00060000
fw_init_cmdline: fw_arg2=fffdffff
fw_init_cmdline: fw_arg3=0000416c

Especially fw_arg2 should be the pointer to the environment and it looks
very suspicous. It is not aligned and the address is outside KSEG0 and
KSEG1. Booting the device will result in a hang. Do better at verifying
the address.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Suggested-by: Bjørn Mork <bjorn@mork.no>
3 months agorealtek: 6.6: set phylink supported_interfaces
Markus Stockhausen [Thu, 22 Aug 2024 06:01:30 +0000 (02:01 -0400)]
realtek: 6.6: set phylink supported_interfaces

The supported_interfaces bitmap cannot be empty since mainline kernel
commit de5c9bf40c45 ("net: phylink: require supported_interfaces to
be filled"). Fix the dsa and ethernet driver accordingly.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: adapt message to 64 bit variable
Markus Stockhausen [Sun, 18 Aug 2024 07:16:28 +0000 (03:16 -0400)]
realtek: 6.6: adapt message to 64 bit variable

used_keys has been changed from 32 to 64 bits.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: change to current dsa structures
Markus Stockhausen [Thu, 22 Aug 2024 05:55:36 +0000 (01:55 -0400)]
realtek: 6.6: change to current dsa structures

The DSA framework has changed a bit since 6.1, lets adapt to match.
Currently there is no one-patch-fits-all solution to directly fix
all errors up to 6.6. So cover the final differences with this
second patch.

Most notable upstream changes are:
  - a88dd7538461 ("net: dsa: remove legacy_pre_march2020 detection")
  - 53d04b981110 ("net: dsa: remove phylink_validate() method")

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
[Minor checkpatch.pl cleanups]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
3 months agorealtek: 6.6: change to 6.1 dsa structures
Markus Stockhausen [Tue, 13 Aug 2024 17:17:33 +0000 (13:17 -0400)]
realtek: 6.6: change to 6.1 dsa structures

The DSA framework has changed a bit since 5.15, lets adapt to match.
Currently there is no one-patch-fits-all solution to directly fix
all errors up to 6.6. So at least take all the already known changes
that cover differences between 5.15 and 6.1

Most notable upstream changes are:
  - d3eed0e57d5d ("net: dsa: keep the bridge_dev and bridge_num as part
    of the same structure")
    Update of port_bridge_{join,leave}: use same helper as upstream
  - c26933639b54 ("net: dsa: request drivers to perform FDB isolation")
    Update of port_fdb_{add,del}, port_mdb_{add,del}
  - dedd6a009f41 ("net: dsa: create a dsa_lag structure")
    Update of port_lag_{join,leave}

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
[align updates with upstream, add references to upstream commits]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: refresh patch net-dsa-add-rtl838x-support-for-tag-trailer
Markus Stockhausen [Mon, 9 Sep 2024 12:18:31 +0000 (08:18 -0400)]
realtek: 6.6: refresh patch net-dsa-add-rtl838x-support-for-tag-trailer

No content changes. Only take over the new patch locations.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch net-dsa-add-rtl838x-support-for-tag-trailer
Markus Stockhausen [Mon, 9 Sep 2024 12:11:13 +0000 (08:11 -0400)]
realtek: 6.6: copy patch net-dsa-add-rtl838x-support-for-tag-trailer

Copy the patch file to 6.6. Reorder it in the 7xx range.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: refresh patch add-rtl-phy
Markus Stockhausen [Mon, 9 Sep 2024 12:09:46 +0000 (08:09 -0400)]
realtek: 6.6: refresh patch add-rtl-phy

No content changes. Only take over the new patch locations. All errors
that wil arise from compiling with the phy driver will be covered by
follow up patches.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch add-rtl-phy.patch
Markus Stockhausen [Mon, 9 Sep 2024 11:55:57 +0000 (07:55 -0400)]
realtek: 6.6: copy patch add-rtl-phy.patch

Copy the patch file to 6.6. Reorder it in the 7xx range.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: refresh patch net-dsa-add-support-for-rtl838x-switch
Markus Stockhausen [Mon, 9 Sep 2024 11:52:41 +0000 (07:52 -0400)]
realtek: 6.6: refresh patch net-dsa-add-support-for-rtl838x-switch

No content changes. Only adapt the failing hooks and take over the
new patch locations. All errors that wil arise from compiling with
the dsa driver will be covered by follow up patches.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch net-dsa-add-support-for-rtl838x-switch
Markus Stockhausen [Mon, 9 Sep 2024 11:23:01 +0000 (07:23 -0400)]
realtek: 6.6: copy patch net-dsa-add-support-for-rtl838x-switch

Copy the patch file to 6.6. Reorder it in the 7xx range.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: convert ethernet driver to phylink_pcs_ops
Markus Stockhausen [Mon, 19 Aug 2024 16:26:48 +0000 (12:26 -0400)]
realtek: 6.6: convert ethernet driver to phylink_pcs_ops

A lot of stuff has been converted to the phylink_pcs_ops structure.
Adapt the ethernet driver to make use of it.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: drop netif_napi_add weight
Markus Stockhausen [Mon, 19 Aug 2024 15:40:45 +0000 (11:40 -0400)]
realtek: 6.6: drop netif_napi_add weight

We no longer are required to pass the weight to netif_napi_add.

See commit b48b89f9c189 ("net: drop the weight argument from netif_napi_add").

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: rework mdio bus driver
Markus Stockhausen [Sun, 25 Aug 2024 08:11:39 +0000 (04:11 -0400)]
realtek: 6.6: rework mdio bus driver

This is not a surprise. Before upgrade to 6.6 we refactored the mdio part of
the ethernet driver and knew that changes will come. Drop all unnecessary
stuff from the old world and adapt to the new kernel.

- remove legacy functions
- directly link new functions
- adapt to new shared base address
- remove references to old MDIO bus capabilities

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: refresh patch net-ethernet-add-support-for-rtl838x-ethernet
Markus Stockhausen [Mon, 9 Sep 2024 11:00:27 +0000 (07:00 -0400)]
realtek: 6.6: refresh patch net-ethernet-add-support-for-rtl838x-ethernet

No content changes. Only take over the new patch locations. All errors
that will arise from compiling with the ethernet driver will be covered
by follow up patches.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch net-ethernet-add-support-for-rtl838x-ethernet
Markus Stockhausen [Mon, 9 Sep 2024 10:53:23 +0000 (06:53 -0400)]
realtek: 6.6: copy patch net-ethernet-add-support-for-rtl838x-ethernet

Copy the patch file to 6.6. Reorder it in the 7xx range.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: rework patch net-phy-sfp-add-support-for-SMBus
Markus Stockhausen [Mon, 9 Sep 2024 10:50:44 +0000 (06:50 -0400)]
realtek: 6.6: rework patch net-phy-sfp-add-support-for-SMBus

With the new kernel the MDIO bus gets created after the smbus
read/write functions are used. Make use of native functions.
Relocate bus initialization into a separate function to make
patch easier to read.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch net-phy-sfp-add-support-for-SMBus
Markus Stockhausen [Mon, 9 Sep 2024 08:26:18 +0000 (04:26 -0400)]
realtek: 6.6: copy patch net-phy-sfp-add-support-for-SMBus

Copy the patch file to 6.6. Reorder it in th 7xx range.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: refresh patch net-phy-add-an-MDIO-SMBus-library
Markus Stockhausen [Mon, 9 Sep 2024 08:24:24 +0000 (04:24 -0400)]
realtek: 6.6: refresh patch net-phy-add-an-MDIO-SMBus-library

No content changes. Two hooks had to be adapted to take over the
new patch locations.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch net-phy-add-an-MDIO-SMBus-library
Markus Stockhausen [Mon, 9 Sep 2024 07:56:38 +0000 (03:56 -0400)]
realtek: 6.6: copy patch net-phy-add-an-MDIO-SMBus-library

Copy the patch file to 6.6. Reorder it in the 7xx range.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: refresh patch net-phy-sfp-re-probe-modules-on-DEV_UP-event
Markus Stockhausen [Mon, 9 Sep 2024 07:44:59 +0000 (03:44 -0400)]
realtek: 6.6: refresh patch net-phy-sfp-re-probe-modules-on-DEV_UP-event

No content changes. Only take over the new patch locations.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch net-phy-sfp-re-probe-modules-on-DEV_UP-event
Markus Stockhausen [Mon, 9 Sep 2024 07:32:14 +0000 (03:32 -0400)]
realtek: 6.6: copy patch net-phy-sfp-re-probe-modules-on-DEV_UP-event

Copy the patch file to 6.6. Reorder it in the 7xx range.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: refresh patch drivers-net-phy-eee-support-for-rtl838x
Markus Stockhausen [Mon, 9 Sep 2024 07:28:58 +0000 (03:28 -0400)]
realtek: 6.6: refresh patch drivers-net-phy-eee-support-for-rtl838x

No content changes. One hook had to be adapted.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch drivers-net-phy-eee-support-for-rtl838x
Markus Stockhausen [Mon, 9 Sep 2024 07:13:06 +0000 (03:13 -0400)]
realtek: 6.6: copy patch drivers-net-phy-eee-support-for-rtl838x

Copy the patch file to 6.6. Reorder it in the 7xx range.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: refresh patch include-linux-add-phy-ops-for-rtl838x
Markus Stockhausen [Mon, 9 Sep 2024 07:11:27 +0000 (03:11 -0400)]
realtek: 6.6: refresh patch include-linux-add-phy-ops-for-rtl838x

No content changes. Hook failed and had to be adapted.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch include-linux-add-phy-ops-for-rtl838x
Markus Stockhausen [Mon, 9 Sep 2024 06:43:19 +0000 (02:43 -0400)]
realtek: 6.6: copy patch include-linux-add-phy-ops-for-rtl838x

Copy the patch file to 6.6. Reorder it in the 7xx range.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: refresh patch include-linux-phy-increase-phy-address-number-for-rtl839x
Markus Stockhausen [Mon, 9 Sep 2024 06:40:42 +0000 (02:40 -0400)]
realtek: 6.6: refresh patch include-linux-phy-increase-phy-address-number-for-rtl839x

No content changes. Only take over the new patch locations.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch include-linux-phy-increase-phy-address-number-for-rtl839x
Markus Stockhausen [Mon, 9 Sep 2024 06:32:33 +0000 (02:32 -0400)]
realtek: 6.6: copy patch include-linux-phy-increase-phy-address-number-for-rtl839x

Copy the patch file to 6.6. Reorder it in the 7xx range.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: rework patch include-linux-add-phy-hsgmii-mode
Markus Stockhausen [Mon, 9 Sep 2024 06:28:42 +0000 (02:28 -0400)]
realtek: 6.6: rework patch include-linux-add-phy-hsgmii-mode

Take over the new patch locations and add references to the link mode into
phylink_sfp_interface_preference[] and phylink_get_capabilities().

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch include-linux-add-phy-hsgmii-mode
Markus Stockhausen [Mon, 9 Sep 2024 06:12:51 +0000 (02:12 -0400)]
realtek: 6.6: copy patch include-linux-add-phy-hsgmii-mode

Copy the patch file to 6.6. Reorder it in the 7xx range.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6 copy patch net-dsa-increase-dsa-max-ports-for-rtl838x
Markus Stockhausen [Mon, 9 Sep 2024 06:09:01 +0000 (02:09 -0400)]
realtek: 6.6 copy patch net-dsa-increase-dsa-max-ports-for-rtl838x

No content changes. As the order of the 7xx patch files seems very
strange reorder all of them according to the realtek 6.6 kernel upgrade
effort.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: refresh patch 318-add-rtl83xx-clk-support
Markus Stockhausen [Mon, 9 Sep 2024 05:58:19 +0000 (01:58 -0400)]
realtek: 6.6: refresh patch 318-add-rtl83xx-clk-support

No content changes. Only take over the new patch locations.

With this patch all platform specific changes for kernel 6.6 are in place.
Realtek devices are bootable from serial console. VPE is fully functional
on devices that support it. The switch functions (ethernet and DSA) are
not enabled yet.

Boot tested on RTL8380 (Linksys LGS310C) and RTL8393 (Zyxel GS1920-24).

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch 318-add-rtl83xx-clk-support
Markus Stockhausen [Sun, 11 Aug 2024 20:25:03 +0000 (16:25 -0400)]
realtek: 6.6: copy patch 318-add-rtl83xx-clk-support

Copy the patch file to 6.6

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: rework VPE patches
Markus Stockhausen [Mon, 9 Sep 2024 05:45:20 +0000 (01:45 -0400)]
realtek: 6.6: rework VPE patches

VPE in mainline kernel has changed a lot. This patch wraps up the 5.15
patch files and rebases them in one single patch on top of kernel 6.6.
Former patches are

315-irqchip-irq-realtek-rtl-add-VPE-support.patch
319-irqchip-irq-realtek-rtl-fix-VPE-affinity.patch

Submitted-by: Birger Koblitz <git@birger-koblitz.de>
Submitted-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy VPE patches 315/319
Markus Stockhausen [Sun, 11 Aug 2024 17:56:45 +0000 (13:56 -0400)]
realtek: 6.6: copy VPE patches 315/319

Copy the patch files to 6.6. Both target drivers/irqchip/irq-realtek-rtl.c
and are additions and fixes for IRQ VPE handling.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch 311-add-i2c-mux-rtl9300-support
Markus Stockhausen [Sun, 11 Aug 2024 17:21:26 +0000 (13:21 -0400)]
realtek: 6.6: copy patch 311-add-i2c-mux-rtl9300-support

Copy the patch file to 6.6. No further processing required as
it applies cleanly to the new kernel

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: refresh patch 310-add-i2c-rtl9300-support
Markus Stockhausen [Sun, 8 Sep 2024 20:43:08 +0000 (16:43 -0400)]
realtek: 6.6: refresh patch 310-add-i2c-rtl9300-support

No content changes. Due to kernel changes the patch hooks totally failed
and had to be fixed manually.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch 310-add-i2c-rtl9300-support
Markus Stockhausen [Sun, 11 Aug 2024 16:45:59 +0000 (12:45 -0400)]
realtek: 6.6: copy patch 310-add-i2c-rtl9300-support

Copy the patch file to 6.6

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: refresh patch 307-wdt-update-dependency-for-realtek-otto-wdt
Markus Stockhausen [Sun, 8 Sep 2024 20:18:20 +0000 (16:18 -0400)]
realtek: 6.6: refresh patch 307-wdt-update-dependency-for-realtek-otto-wdt

No content changes. Only take over the new patch locations.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch 307-wdt-update-dependency-for-realtek-otto-wdt
Markus Stockhausen [Sun, 11 Aug 2024 16:22:03 +0000 (12:22 -0400)]
realtek: 6.6: copy patch 307-wdt-update-dependency-for-realtek-otto-wdt

Copy the patch file to 6.6

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: refresh patch 305-irqchip-update-dependency-for-irq-realtek-rtl
Markus Stockhausen [Sun, 8 Sep 2024 20:09:57 +0000 (16:09 -0400)]
realtek: 6.6: refresh patch 305-irqchip-update-dependency-for-irq-realtek-rtl

No content changes. Only take over the new patch locations.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch 305-irqchip-update-dependency-for-irq-realtek-rtl
Markus Stockhausen [Sun, 11 Aug 2024 13:19:27 +0000 (09:19 -0400)]
realtek: 6.6: copy patch 305-irqchip-update-dependency-for-irq-realtek-rtl

Copy the patch file to 6.6

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: refresh patch 304-spi-update-dependency-for-spi-realtek-rtl
Markus Stockhausen [Sun, 8 Sep 2024 20:01:11 +0000 (16:01 -0400)]
realtek: 6.6: refresh patch 304-spi-update-dependency-for-spi-realtek-rtl

No content changes. Only take over the new patch locations.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch 304-spi-update-dependency-for-spi-realtek-rtl
Markus Stockhausen [Sun, 11 Aug 2024 13:06:54 +0000 (09:06 -0400)]
realtek: 6.6: copy patch 304-spi-update-dependency-for-spi-realtek-rtl

Copy the patch file to 6.6

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agoealtek: 6.6: refresh patch 303-gpio-update-dependencies-for-gpio-realtek-otto
Markus Stockhausen [Sun, 8 Sep 2024 19:52:28 +0000 (15:52 -0400)]
ealtek: 6.6: refresh patch 303-gpio-update-dependencies-for-gpio-realtek-otto

No content changes. Only take over the new patch locations.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch 303-gpio-update-dependencies-for-gpio-realtek-otto
Markus Stockhausen [Sun, 11 Aug 2024 12:53:13 +0000 (08:53 -0400)]
realtek: 6.6: copy patch 303-gpio-update-dependencies-for-gpio-realtek-otto

Copy the patch file to 6.6

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: refresh patch 302-clocksource-add-otto-driver
Markus Stockhausen [Sun, 8 Sep 2024 19:44:40 +0000 (15:44 -0400)]
realtek: 6.6: refresh patch 302-clocksource-add-otto-driver

No content changes. Only take over the new patch locations.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch 302-clocksource-add-otto-driver
Markus Stockhausen [Sun, 11 Aug 2024 12:34:41 +0000 (08:34 -0400)]
realtek: 6.6: copy patch 302-clocksource-add-otto-driver

Copy the patch file to 6.6

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: refresh patch 301-gpio-add-rtl8231-driver
Markus Stockhausen [Sun, 8 Sep 2024 19:36:16 +0000 (15:36 -0400)]
realtek: 6.6: refresh patch 301-gpio-add-rtl8231-driver

No content changes. Only take over the new patch locations.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch 301-gpio-add-rtl8231-driver
Markus Stockhausen [Sun, 11 Aug 2024 12:19:42 +0000 (08:19 -0400)]
realtek: 6.6: copy patch 301-gpio-add-rtl8231-driver

Copy the patch file to 6.6

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: refresh patch 300-mips-add-rtl838x-platform
Markus Stockhausen [Sun, 8 Sep 2024 18:18:17 +0000 (14:18 -0400)]
realtek: 6.6: refresh patch 300-mips-add-rtl838x-platform

No content changes. Only take over the new patch locations.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy patch 300-mips-add-rtl838x-platform
Markus Stockhausen [Sun, 11 Aug 2024 12:04:26 +0000 (08:04 -0400)]
realtek: 6.6: copy patch 300-mips-add-rtl838x-platform

Copy the patch file to 6.6

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: fix rtl931x kernel config
Markus Stockhausen [Sun, 1 Sep 2024 06:51:17 +0000 (02:51 -0400)]
realtek: 6.6: fix rtl931x kernel config

The CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US is missing. Avoid
complaints and add it with its default 125.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: 6.6: copy files and config from 5.15
Markus Stockhausen [Sun, 1 Sep 2024 18:43:41 +0000 (14:43 -0400)]
realtek: 6.6: copy files and config from 5.15

Copy files and config from 5.15 kernel version. Because of the big version jump
leave out the patches for now so we can treat them individually later on.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agorealtek: rework hardware-assisted indirect mdio access
Markus Stockhausen [Mon, 19 Aug 2024 14:54:34 +0000 (10:54 -0400)]
realtek: rework hardware-assisted indirect mdio access

With commit b53202a8c3f7 ("realtek: switch to use generic MDIO accessor functions")
the phy access logic was enhanced. A quite big kernel patch was introduced that
allowed to make use of hardware-assisted page access like we have in the realtek
target. Basically it works the following way

- The enhanced bus intercepts page write accesses
- Currently selected pages are stored in internal vars.
- Finally only all-in-one-consistent bus/register accesses are issued
- It intercepted page changes and ensured that only a complete bus call

For the details see https://github.com/openwrt/openwrt/pull/16172

Switching over to newer kernels this patch is really hard to maintain. Its heavy
modifcations exist only in the realtek target. So it does not matter if we keep
it as an kernel modification or directly include it in our driver. To make it the
future brighter we drop this patch and take over its logic. Thus the kernel will
stay totally modification-free. What do we do?

1. Up to now the bus->priv structure directly pointed to ethernet->priv. Create an
explicit private structure rtl838x_bus_priv that not only holds the ethernet->priv
pointer but also space for some bus status tracking vars as well.

2. Wherever we use a reference to ethernet->priv directly replace that by an
additional indirection over the new rtl838x_bus_priv structure.

3. Up to now the phy flag PHY_HAS_REALTEK_PAGES identified that we can use the
alternative paged access from the patch. As this will be no longer available
remove it and provide read_page/write_page functions for each possible PHY.
These functions will be pretty standard as for other Realtek PHYs.

4. The existing mdio bus read/write function rely on the classic MII_ADDR_C45
flag - one interface for two access types. This mixup will be removed on the way
to kernel 6.6. In the future there will be two pairs of access functions. One for
classic access one for c45 style access. Rewrite our functions into 3 parts:

- a classic read/write function: ready for kernel 6.6
- a new c45 read/write function: ready for kernel 6.6
- a legacy read/write wrapper: for current 5.15 for the time being

When we switch to 6.6 we only need to remove the legacy wrappers and link the
new functions. Life can be so easy.

5. The classic read/write functions will incorporate the interception logic that
was originally in the patch.

6. The package convenience functions that were embedded in the patch get lost as
well. Rewrite them inside our phy driver.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
[Minor checkpatch.pl cleanups]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
3 months agorealtek: normalize dts directory
Markus Stockhausen [Sun, 1 Sep 2024 18:36:38 +0000 (14:36 -0400)]
realtek: normalize dts directory

There is no need to keep a version specific dts directory.
Rename the folder to its standard location.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
3 months agotoolchain/fortify-headers: update download url
Yanase Yuki [Thu, 12 Sep 2024 12:09:21 +0000 (21:09 +0900)]
toolchain/fortify-headers: update download url

Development of fortify-headers has been moved to GitHub.
Gentoo [1] and Alpine Linux [2] already uses it.

Since updating fortify-headers to new version causes a lot of
compile errors, this commit does not bump version.

This commit also refresh patch.

[1]: https://packages.gentoo.org/packages/sys-libs/fortify-headers
[2]: https://git.alpinelinux.org/aports/log/main/fortify-headers

Signed-off-by: Yanase Yuki <dev@zpc.st>
Link: https://github.com/openwrt/openwrt/pull/16374
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agoipq-wifi: update to Git HEAD (2024-09-14)
Robert Marko [Sat, 14 Sep 2024 08:51:29 +0000 (10:51 +0200)]
ipq-wifi: update to Git HEAD (2024-09-14)

2ca41d755d93 qcn9074: add Linksys MX8500 BDF

Link: https://github.com/openwrt/openwrt/pull/16387
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agoipq-wifi: update to Git HEAD (2024-09-13)
Robert Marko [Fri, 13 Sep 2024 13:05:09 +0000 (15:05 +0200)]
ipq-wifi: update to Git HEAD (2024-09-13)

e5b7fb1c606d ipq8074: add Linksys MX8500 BDF

Link: https://github.com/openwrt/openwrt/pull/16382
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agobpf-headers: fix llvm invocation
Konstantin Demin [Thu, 13 Jun 2024 17:56:06 +0000 (20:56 +0300)]
bpf-headers: fix llvm invocation

- specify CC target explicitly
- define KBUILD_SYM32=n to select "native" build format (if building with 64-bit arch)
- rewrap lines (for good)

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15702
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agomediatek: apply pending PHY driver fixes
Daniel Golle [Thu, 12 Sep 2024 13:43:05 +0000 (15:43 +0200)]
mediatek: apply pending PHY driver fixes

Apply changes suggested by SkyLake Huang for pending series improving
MediaTek Ethernet PHY drivers.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 months agonetifd: revert problematic ethtool hack
Daniel Golle [Thu, 12 Sep 2024 13:42:20 +0000 (15:42 +0200)]
netifd: revert problematic ethtool hack

 02aa43d Revert "system-linux: re-apply ethtool on phy attachment"

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 months agoct-bugcheck: use . for RELEASE
Rosen Penev [Sun, 11 Aug 2024 22:53:53 +0000 (15:53 -0700)]
ct-bugcheck: use . for RELEASE

Adds compatibility for APK.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16355
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agokernel: backport nvmem changes from v6.12
Rafał Miłecki [Thu, 12 Sep 2024 04:47:59 +0000 (06:47 +0200)]
kernel: backport nvmem changes from v6.12

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 months agoipq40xx: define config-names for Aruba boards
David Bauer [Tue, 10 Sep 2024 02:25:59 +0000 (04:25 +0200)]
ipq40xx: define config-names for Aruba boards

Aruba boards now ship with multiple DTS and image-configurations per
image. Newer apboot revs expect a configuration for their hardware to be
present.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 months agoucode: fix host installation
David Bauer [Mon, 19 Aug 2024 13:25:10 +0000 (15:25 +0200)]
ucode: fix host installation

The path for linking libucode.so was not specified for the ucode binary.
This breaks execution of ucode in the host context.

Signed-off-by: David Bauer <david.bauer@uniberg.com>
3 months agotreewide: update contact information
David Bauer [Wed, 28 Aug 2024 22:46:30 +0000 (00:46 +0200)]
treewide: update contact information

Change contact information of comitter as requested.

Reviewed-by: Sarah Mädel <openwrt@tbspace.de>
Signed-off-by: David Bauer <mail@david-bauer.net>
3 months agoramips: mt76x8: add missing model string to Yuncore M300
Daniel Golle [Tue, 10 Sep 2024 22:16:12 +0000 (00:16 +0200)]
ramips: mt76x8: add missing model string to Yuncore M300

Add missing 'model' string to DT, so /tmp/sysinfo/model gets populated.

Fixes: e497c975d3 ("ramips: mt76x8: add support for Yuncore M300")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 months agoramips: mt76x8: add missing model string to Yuncore CPE200
Daniel Golle [Tue, 10 Sep 2024 22:14:43 +0000 (00:14 +0200)]
ramips: mt76x8: add missing model string to Yuncore CPE200

Add missing 'model' string to DT, so /tmp/sysinfo/model gets populated.

Fixes: 64dae1052b ("ramips: mt76x8: add support for Yuncore CPE200")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 months agouboot-mediatek: fix OpenWrt One NAND size
John Crispin [Sat, 31 Aug 2024 17:00:47 +0000 (19:00 +0200)]
uboot-mediatek: fix OpenWrt One NAND size

The final version of the PCB has 256MB NAND instead of 128MB.

Signed-off-by: John Crispin <john@phrozen.org>
3 months agouboot-envtools: add support for OpenWrt One
John Crispin [Sat, 31 Aug 2024 16:59:35 +0000 (18:59 +0200)]
uboot-envtools: add support for OpenWrt One

Signed-off-by: John Crispin <john@phrozen.org>
3 months agomediatek: fix OpenWrt One NAND size
John Crispin [Sat, 31 Aug 2024 16:58:50 +0000 (18:58 +0200)]
mediatek: fix OpenWrt One NAND size

The final version of the PCB has 256MB NAND instead of 128MB.

Signed-off-by: John Crispin <john@phrozen.org>
3 months agomediatek: fix OpenWrt One MACs
John Crispin [Sat, 31 Aug 2024 16:56:59 +0000 (18:56 +0200)]
mediatek: fix OpenWrt One MACs

* Ignore the MACs passed by the bootloader.
* fix nvmem-cell-cells warning
* fix the node names
* add dbdc wifi MACs

Signed-off-by: John Crispin <john@phrozen.org>
3 months agokernel: backport nvmem changes from v6.11
Rafał Miłecki [Tue, 10 Sep 2024 11:43:03 +0000 (13:43 +0200)]
kernel: backport nvmem changes from v6.11

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 months agokernel: backport nvmem changes from v6.10
Rafał Miłecki [Tue, 10 Sep 2024 11:42:59 +0000 (13:42 +0200)]
kernel: backport nvmem changes from v6.10

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>