143 Commits

Author SHA1 Message Date
Daniel Golle
697ea1d8fc generic: net: phy: realtek: detect early version of RTL8221B
Early versions (?) of the RTL8221B PHY cannot be identified in a regular
Clause-45 bus scan as the PHY doesn't report the implemented MMDs
correctly but returns 0 instead.
Implement custom identify function using the PKGID instead of iterating
over the implemented MMDs to work-around this problem.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-23 23:27:14 +08:00
Daniel Golle
e0fd382892 kernel: net: phy: realtek: fix NULL pointer dereference
The previous attempt to replace an open coded paged read in the RealTek
Ethernet PHY driver was too naive and resulted in breaking the r8169
PCIe Ethernet driver which also makes use of the RealTek Ethernet PHY
driver.
Fix this by instead of using the (not yet populated) paged operations
rather use rtl821x_write_page and protect the whole paged read operation
using the MDIO bus mutex.

Fixes: 998b973157 ("kernel: net: phy: realtek: improve RealTek 2.5G PHY driver")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-23 23:26:18 +08:00
Daniel Golle
664b181256 kernel: net: phy: realtek: improve RealTek 2.5G PHY driver
* use interface mode switching only when operating in C45 mode
   Linux prevents switching the interface mode when using C22 MDIO,
   hence use rate-adapter mode in case the PHY controlled via C22.

 * use phy_read_paged where appropriate

 * use existing generic inline functions to handle 10GbE advertisements
   instead of redundantly defining register macros in realtek.c which
   are not actually vendor-specific.

 * make sure 10GbE advertisement is valid, preventing false-positive
   warning "Downshift occurred from negotiated speed 2.5Gbps to actual
   speed 1Gbps, check cabling!" with some link-partners using 1G mode.

 * Support Link Down Power Saving Mode (ALDPS)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-23 23:25:18 +08:00
Daniel Golle
06158f1c7a generic: disable SGMII in-band AN for RealTek 2.5G PHYs
MAC drivers don't use SGMII in-band autonegotiation unless told to do so
in device tree using 'managed = "in-band-status"'. When using MDIO to
access a PHY, in-band-status is unneeded as we have link-status via
MDIO. Switch off SGMII in-band autonegotiation using magic values.

Reported-by: Chen Minqiang <ptpt52@gmail.com>
Reported-by: Yevhen Kolomeiko <jarvis2709@gmail.com>
Tested-by: Yevhen Kolomeiko <jarvis2709@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-23 23:24:18 +08:00
Daniel Golle
b238fdb0b6 generic: use genphy_soft_reset for RealTek 2.5G PHYs
Some vendor bootloaders do weird things with those PHYs which result in
link modes being reported wrongly. Start from a clean sheet by resetting
the PHY.

Reported-by: Yevhen Kolomeiko <jarvis2709@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-23 23:23:20 +08:00
Felix Fietkau
a1429324e3 kernel: fix mtk_eth_soc flow accounting for MT7986
This was accidentally dropped when MT7981 support was added

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-06-19 23:15:14 +08:00
Felix Fietkau
17f02fb364 kernel: fix mtk_eth_soc throughput regressions on gigabit PHY ports
Fixes issues on MT7621 and MT7623 switch ports, and PHY ports on all SoC

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-06-19 23:14:37 +08:00
Daniel Golle
120e04cd5e generic: mtk_eth_soc: switch to external PCS driver
Backport patch to make use of the new PCS driver in mtk_eth_soc.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-16 19:55:13 +08:00
Daniel Golle
93e24c37dd generic: mtk_eth_soc: allow setting MDIO clock frequency
Backport patch allowing to set the MDIO bus clock frequency.
By default the MDIO bus clock runs on 2.5 MHz, allow increasing it
up to 25 MHz.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-16 19:52:46 +08:00
Daniel Golle
83bdbba5bc generic: backport support for MT7981 Ethernet
Backport support for the MT7981 SoC to mtk_eth_soc.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-15 23:09:00 +08:00
Daniel Golle
9c394de00d generic: replace mtk_sgmii patches with versions accepted upstream
Replace patches for MediaTek Ethernet driver SGMII/SerDes unit with
their corresponding upstream patches. Not all of the patches in our
tree went upstream as-is, some are slightly different implementations,
and they require the phylink_pcs helpers now made available.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-06-15 23:05:15 +08:00
Linhui Liu
a8788c3123
kernel: bump 5.15 to 5.15.116 (#11299) 2023-06-12 11:05:43 +08:00
chaichunyang
a0948d91a1
kernel: refresh 5.15 patches (#11235)
Fixes: cc22efe ("kernel: bump 5.15 to 5.15.112")
Fixes: #11226, #11228
Closed: #11232
2023-05-24 17:15:17 +08:00
Daniel Golle
2cabe4faf4 kernel: backport fix for recently introduced UBI bug
Import commit "ubi: Fix failure attaching when vid_hdr offset equals to
(sub)page size" which did not yet make it to stable upstream Linux trees.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-05-15 23:22:28 +08:00
Felix Fietkau
bcc1a60fe8 kernel: remove unnecessary change from backlog threading fix
Fixes: f1c9bd6f6f41 ("kernel: fix kernel warning and network issue in the backlog threading patch")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-05-11 23:15:19 +08:00
Felix Fietkau
94eb140716 kernel: fix kernel warning and network issue in the backlog threading patch
Fixes enabling it early during the boot

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-05-11 23:13:29 +08:00
coolsnowwolf
22de4c9868 kernel: bump 5.15 to 5.15.110 2023-05-05 13:37:38 +08:00
Robert Marko
6402a2fa03 generic: 5.15: add MHI SBL callback for ath11k
This adds the MHI SBL callback that ath11k will utilize in order to
support multiple PCI cards or AHB+PCI combo which currently does not
work due to QRTR ID-s conflicting.

This is a prerequisite for the mac80211 patch targeting ath11k as it
uses MHI from kernel.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2023-05-05 12:38:14 +08:00
Felix Fietkau
b204228846 kernel: fix mtk flow offload list corruption issue with l2 flows
The same node was accidentally used for two different lists, causing an
invalid pointer chain.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-04-28 00:03:16 +08:00
Felix Fietkau
28961f404c kernel: add support for threaded network backlog processing
This can improve load balancing by pushing backlog (and RPS) processing
to separate threads, allowing the scheduler to distribute the load.
It can be enabled with: echo 1 > /proc/sys/net/core/backlog_threaded

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-04-28 00:01:34 +08:00
Felix Fietkau
3a82ee8b05 kernel: fix mediatek ppe flow accounting for mt7622 and older
v1 hardware uses a different enable bit for hardware counters

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-04-27 00:05:25 +08:00
Felix Fietkau
2352fe0f39 kernel: report mediatek ppe flow stats incrementally
Fixes wrong counter values in conntrack stats

Fixes: aa2777145f8d ("kernel: improve mtk ppe flow accounting")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-04-27 00:03:22 +08:00
Felix Fietkau
6fe2a421cc kernel: improve mtk ppe flow accounting
Properly track L2 flows, and ensure that stale data gets cleared

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-04-27 00:01:09 +08:00
Felix Fietkau
c39fd09bc1 mediatek: add kernel code for supporting offloading wlan->eth and wlan->wlan flows
Will be enabled by an upcoming mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-04-26 23:58:23 +08:00
Felix Fietkau
991dd40dbc kernel: update mtk ppe flow accounting patch to the latest version
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-04-26 23:56:13 +08:00
Felix Fietkau
640d665ce5 kernel: update flow offload fix based on upstream suggestions
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-04-26 23:55:06 +08:00
Felix Fietkau
85663da356 kernel: move mediatek flow offload refcount fix and fix a logic error
Move it to pending, since it wasn't actually accepted upstream yet.
Fixes potential issues when doing offload between multiple MACs.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-04-26 23:54:22 +08:00
Felix Fietkau
55b0ae4d4e kernel: backport upstream mtk_eth_soc fixes
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-04-24 00:03:07 +08:00
Felix Fietkau
0807295426 kernel: move accepted mtk_eth_soc patches to generic-backport
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-04-24 00:01:34 +08:00
Felix Fietkau
c9a0d92a3c kernel: fix mtk dsa tag padding
The padding intended to avoid corrupted non-zero padding payload was
accidentally adding too many padding bytes, tripping up some setups.
Fix this by using eth_skb_pad instead.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-04-23 23:55:08 +08:00
Felix Fietkau
464d31eaa7 kernel: fix corrupted padding on small packets with mt753x dsa
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-04-23 23:53:19 +08:00
Joe Mullally
65699f26ff kernel: add support for XMC XM25QH64C
The XMC XM25QH64C is a 8MB SPI NOR chip. The patch is verified on TL-WPA8631P v3.
Datasheet available at https://www.xmcwh.com/uploads/442/XM25QH64C.pdf

Signed-off-by: Joe Mullally <jwmullally@gmail.com>
2023-04-15 23:48:46 +08:00
Christian Marangi
9b338b090e generic: 5.15: refresh kernel patches
Refresh kernel patches for generic kernel 5.15 due to new backport
version of MGLRU patchset.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-03-27 23:14:03 +08:00
lovehackintosh
f4acd500a8
kernel: bump to 5.4.238, 5.10.176, 5.15.104, 6.1.21 (#11026)
Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
2023-03-23 07:36:05 +00:00
lovehackintosh
89e25b5a13
kernel: bump 5.15 to 5.15.103 (#11017)
Fixes sb commit: 138af4d ("kernel: refresh patch")
2023-03-19 11:31:49 +08:00
骷髅头
53134b2571
kernel: bump 5.15 to 5.15.102 (#11003) 2023-03-16 16:32:42 +08:00
aakkll
d97f82d381
kernel: bump 5.15 to 5.15.96 (#10957) 2023-03-03 11:01:43 +00:00
Daniel Golle
3732ec0ff1 kernel: import accepted MediaTek Ethernet patches
Import some accepted and pending upstream patches for mtk_eth_soc,
replacing some semantically equivalent local patches and fixing issues
when operating the PCS in 1G SGMII mode.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-02-20 23:26:40 +08:00
Felix Fietkau
26db249dbb mt76: import WED related mtk_eth_soc patches
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-02-17 18:24:05 +08:00
lovehackintosh
5f61ca66c8
kernel: bump to 5.15.94, 6.1.12 (#10901) 2023-02-16 09:28:24 +08:00
Felix Fietkau
7faea8407a kernel: add fix for a page pool related crash on GRO
Needed for upcoming mt76 page pool support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-02-15 12:09:39 +08:00
AmadeusGhost
470ca53250 mediatek: add support for TP-Link TL-XDR6086/6088
Hardware specification:
  SoC: MediaTek MT7986A 4x A53
  Flash: ESMT F50L1G41LB 128MB
  RAM: ESMT M15T4G16256A 512MB
  Ethernet (Max Speed):
    XDR6086: 1x 2.5G Wan, 1x 2.5G Lan, 1x 1G Lan
    XDR6088: 1x 2.5G Wan, 1x 2.5G Lan, 4x 1G Lan
  WiFi1: MT7976GN 2.4GHz ax 4x4
  WiFi2: MT7976AN 5GHz ax 4x4
  Button: Reset, Wps, Turbo
  USB: 1 x USB 3.2
  Power: DC 12V 4A

Signed-off-by: AmadeusGhost <amadeus@openjmu.xyz>
2023-02-14 23:57:22 +08:00
lovehackintosh
26b859543a
kernel: bump to 5.10.166, 5.15.91, 6.1.9 (#10842)
* kernel: bump 5.15 to 5.15.91

* kernel: bump 6.1 to 6.1.9

* kernel: bump 5.10 to 5.10.166
2023-02-01 18:21:28 +08:00
Daniel Golle
ec753a97ff kernel: fix kernel panic in mtk_ppe
The patch that adds support for hw flow-offloading counters on newer
MediaTek SoCs tries to prints acct->packets and acct->bytes in debugfs,
without checking that acct isn't null. This causes a kernel panic when
trying to read /sys/kernel/debug/ppe0/entries on older MediaTek SoCs.
Fix this by adding a check for acct.

Fixes: 9721a42a27 ("kernel: support hw flow-offloading counters on newer MediaTek SoCs")
Reported-by: Stijn Tintel <stijn@linux-ipv6.be>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-01-17 21:22:37 +08:00
lovehackintosh
68447b4218
kernel: bump 5.15.86 to 5.15.87 (#10764)
Also refresh patches for kernel 6.1.

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
2023-01-14 07:49:58 +08:00
Vincent Tremblay
99604ea8c8 generic: fix silicon labs spidev bindings
Fix Silicon Labs bindings in the spidev driver

Some bindings for Silicon Labs chips already exists upstream.
These bindings can be found in trivial-devices.yaml.

The existing bindings are using "silabs" instead of "siliconlabs" to
identify the manufacturer.

This commit add two submitted patches for silabs chips and rename the
manufacturer in the different DTS for more coherence.

Signed-off-by: Vincent Tremblay <vincent@vtremblay.dev>
2023-01-10 21:48:59 +08:00
Felix Fietkau
be337f9aa3 kernel: fix ethernet regression on mt7986
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-01-07 20:56:12 +08:00
Felix Fietkau
a2ac7bdc18 kernel: mediatek: fix WED offload regression on MT7622
Fix dealing with DSA untagging offload

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-01-07 20:55:31 +08:00
Felix Fietkau
297b6f78ca kernel: mediatek: improve ethernet fix for dealing with small fragments
Replace the workaround on MT7986 with a proper fix. Software workaround is
still needed on older chips.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-01-07 20:54:06 +08:00
lovehackintosh
547fc7765c
kernel: bump 5.15 to 5.15.86 (#10708)
* kernel: bump 5.15 to 5.15.86

Removed upstreamed:
  pending-5.15/101-Use-stddefs.h-instead-of-compiler.h.patch[1]
  ipq60xx/patches-5.15/0171-arm64-dts-qcom-ipq6018-cp01-c1-use-BLSPI1-pins.patch
  ipq806x/patches-5.15/122-01-clk-qcom-clk-krait-fix-wrong-div2-functions.patch[2]
  ipq60xx/patches-5.15/0139-arm64-dts-qcom-Correct-QMP-PHY-child-node-name.patch
  ipq60xx/patches-5.15/0005-v5.16-arm64-dts-qcom-Correct-QMP-PHY-child-node-name.patch
  ipq807x/patches-5.15/0004-v5.16-arm64-dts-qcom-Correct-QMP-PHY-child-node-name.patch
  bcm27xx/patches-5.15/950-0198-drm-fourcc-Add-packed-10bit-YUV-4-2-0-format.patch[3]

Manually rebased:
  ramips/patches-5.15/100-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch[4]

Added patch/backported:
  ramips/patches-5.15/107-PCI-mt7621-Add-sentinel-to-quirks-table.patch[5]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.86&id=c160505c9b574b346031fdf2c649d19e7939ca11
2. Cannot find in the stable tree but it is here: a051e10bfc
3. ec1727f89e
4. Quilt gave this output when I applied the patch to rebase it:
% quilt push -f
Applying patch platform/100-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch
patching file arch/mips/ralink/Kconfig
patching file drivers/pci/controller/Kconfig
patching file drivers/pci/controller/Makefile
patching file drivers/staging/Kconfig
patching file drivers/staging/Makefile
patching file drivers/staging/mt7621-pci/Kconfig
patching file drivers/staging/mt7621-pci/Makefile
patching file drivers/staging/mt7621-pci/TODO
patching file drivers/staging/mt7621-pci/mediatek,mt7621-pci.txt
patching file drivers/staging/mt7621-pci/pci-mt7621.c
Hunk #1 FAILED at 1.
Not deleting file drivers/staging/mt7621-pci/pci-mt7621.c as content differs from patch
1 out of 1 hunk FAILED -- saving rejects to file drivers/staging/mt7621-pci/pci-mt7621.c.rej
patching file drivers/pci/controller/pcie-mt7621.c
Applied patch platform/100-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch (forced; needs refresh)

Upon inspecting drivers/staging/mt7621-pci/pci-mt7621.c.rej, it seems that
the original patch wants to delete drivers/staging/mt7621-pci/pci-mt7621.c
but upstream's version was not an exact match.  I opted to delete that file
and need some feedback.  Was that the correct course of action?

5. Suggestion by hauke: 19098934f9
"This patch is in upstream kernel, but it was backported to the old
staging driver in kernel 5.15."

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Signed-off-by: Linhui Liu <liulinhui36@gmail.com>

* oxnas: sata_oxnas: use ata_link_err

Kernel 5.15.86 has backported ("ata: libata: move ata_{port,link,dev}_dbg
to standard pr_XXX() macros") and this is now causing compilation errors
for oxnas SATA driver due to usage of ata_link_printk().

Upstream has migrated to using the appropriate
ata_link_{err, warn, notice, info} calls a while ago so its not affected.

Lets do the same for oxnas SATA driver and use ata_link_err() instead of
ata_link_printk().

Signed-off-by: Robert Marko <robimarko@gmail.com>

Signed-off-by: John Audia <therealgraysky@proton.me>
Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
Signed-off-by: Robert Marko <robimarko@gmail.com>
Co-authored-by: John Audia <therealgraysky@proton.me>
Co-authored-by: Robert Marko <robimarko@gmail.com>
2023-01-02 14:11:40 +08:00