openwrt/target/linux
Sven Eckelmann bd78eeb53f realtek: dsa: Select counter lock based on sleeping behavior
On many architectures, retrieving the HW counters from the switch is not
potentially sleeping. This would potentially allow these architectures to
retrieve the most recent values from the HW when .get_stats64 is called.
But because of the global mutex (which may sleep on lock), this would no
longer be possible.

Reintroduce the per port counters lock which protects from parallel
writes+reads of the non-link_stat counters. The locking is made abstract by
using helpers which identify the correct locking mechanism based on the
used read methods of the SoC.

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20631
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-16 00:10:56 +01:00
..
airoha airoha: replace AN7583 pinctrl patch with upstream version 2025-11-11 17:20:13 +01:00
apm821xx apm821xx: dts: explicitly set the partition reg size for Netgear WNDR4700 2025-10-19 21:55:33 +02:00
armsr armsr: Make kernel modules depend on target 2025-07-26 01:11:21 +02:00
at91 treewide: strip trailing whitespace 2025-05-20 00:47:37 +02:00
ath79 ath79: fix MAC addresses on MikroTik RB962UiGS-5HacT2HnT 2025-11-15 11:15:29 +01:00
bcm27xx kernel: bump 6.12 to 6.12.56 2025-11-06 22:06:54 +01:00
bcm47xx bcm47xx: fix no previous prototype error 2025-11-05 08:39:07 +01:00
bcm53xx bcm53xx: use -ENOENT error for TRX parser workaround patch 2025-11-09 12:58:23 +01:00
bcm4908 bcm63xx-cfe: install into image staging dir 2025-04-13 10:44:19 +02:00
bmips bmips: fix leds on f@st3864op 2025-10-26 22:53:11 +01:00
d1 kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
econet kernel: bump 6.12 to 6.12.52 2025-10-22 23:35:45 +02:00
gemini gemini: Add module for VSC73xx switches 2025-09-15 23:12:56 +02:00
generic kernel: backport upstream realtek PHY patches 2025-11-15 20:43:19 +01:00
imx kernel: bump 6.6 to 6.6.103 2025-09-01 02:05:24 +02:00
ipq40xx ipq40xx: Add support for Linksys MR6350 2025-11-15 11:28:22 +01:00
ipq806x ipq806x: drop support for kernel 6.6 2025-11-04 19:31:07 +01:00
ixp4xx ixp4xx: Add back Actiontec MI424WR A/C/D 2025-09-26 23:40:40 +02:00
kirkwood kirkwood: kernel: remove 6.6 version support 2025-11-09 22:55:44 +01:00
lantiq kernel: bump 6.12 to 6.12.55 2025-10-25 01:08:12 +02:00
layerscape layerscape: remove 6.6 kernel files 2025-11-04 23:19:28 +01:00
loongarch64 loongarch64: switch to Linux 6.12 by default 2025-09-09 00:10:31 +02:00
malta malta: drop 6.6 support 2025-07-20 23:37:37 +02:00
mediatek mediatek: add mt7987-2p5g-phy-firmware to MT7987 devices 2025-11-14 02:25:15 +00:00
mpc85xx mpc85xx: make kernel 6.12 the default kernel 2025-11-12 19:38:29 +01:00
mvebu kernel: bump 6.12 to 6.12.54 2025-10-22 23:37:13 +02:00
mxs mxs: drop 6.6 support 2025-05-24 16:15:53 +02:00
octeon treewide: replace numbers with GPIO_ACTIVE 2025-10-08 14:26:24 +02:00
omap omap: enable 6.12 testing kernel 2025-08-22 20:18:16 +02:00
pistachio treewide: reset-gpio to reset-gpios 2025-10-08 14:26:24 +02:00
qoriq qoriq: dts: add missing reg property for WatchGuard Firebox M300 2025-10-19 21:55:34 +02:00
qualcommax qualcommax: ipq50xx: Add support for CMCC PZ-L8 2025-11-12 14:34:07 +01:00
qualcommbe qualcommbe: support 10g-qxgmii in QCA8084 PHY driver 2025-11-11 17:21:54 +01:00
ramips ramips: fix support for Cudy r700 2025-11-15 20:37:20 +01:00
realtek realtek: dsa: Select counter lock based on sleeping behavior 2025-11-16 00:10:56 +01:00
rockchip rockchip: add Radxa ROCK 2A/F support 2025-11-15 19:56:27 +01:00
sifiveu kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
siflower generic: backport phylink patches for PCS/PHY caps OPs 2025-10-22 12:29:41 +02:00
starfive kernel: bump 6.12 to 6.12.56 2025-11-06 22:06:54 +01:00
stm32 stm32: drop kernel 6.6 support 2025-10-22 14:56:15 +02:00
sunxi sunxi: cortexa53: refresh kernel config 2025-10-20 00:48:11 +02:00
tegra tegra: promote kernel 6.12 as default 2025-11-11 21:23:14 +01:00
uml kernel: bump 6.12 to 6.12.33 2025-06-12 12:42:15 +02:00
x86 x86/64: enable 8250_DW 2025-10-10 10:32:20 +02:00
zynq zynq: disable unused Vitesse PHY 2025-09-08 14:21:50 +02:00
Makefile linux: fix missing default packages in profiles.json 2024-11-17 19:29:06 +01:00