linux/drivers/net/ethernet/stmicro/stmmac
Zhi Li c2e152f7ce net: stmmac: eswin: validate RGMII delay values
Validate rx-internal-delay-ps and tx-internal-delay-ps against the
hardware capabilities of the EIC7700 MAC.

The programmable RGMII delay supports 20 ps steps and a maximum value of
2540 ps. The driver previously accepted arbitrary values and silently
truncated unsupported settings when converting them to hardware units.

As a result, invalid device tree values could lead to unexpected delay
programming and incorrect RGMII timing.

Reject delay values that are not multiples of 20 ps or exceed the
supported hardware range.

Fixes: ea77dbbdbc ("net: stmmac: add Eswin EIC7700 glue driver")
Signed-off-by: Zhi Li <lizhi2@eswincomputing.com>
Link: https://patch.msgid.link/20260518022214.507-1-lizhi2@eswincomputing.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-05-21 11:58:17 +02:00
..
chain_mode.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-04-09 13:20:59 -07:00
common.h net: stmmac: use integrated PCS for BASE-X modes 2026-03-23 17:32:19 -07:00
descs_com.h net: stmmac: descs: remove many xxx_SHIFT definitions 2026-01-12 18:02:11 -08:00
descs.h net: stmmac: add helper to get hardware transmit descriptor 2026-03-17 20:32:09 -07:00
dwmac_dma.h net: stmmac: remove unused definitions 2026-01-12 18:02:12 -08:00
dwmac_lib.c net: stmmac: cores: remove many xxx_SHIFT definitions 2026-01-12 18:02:11 -08:00
dwmac-anarion.c net: stmmac: pass struct device to init()/exit() methods 2025-11-20 17:54:07 -08:00
dwmac-dwc-qos-eth.c net: stmmac: convert plat_stmmacenet_data booleans to type bool 2026-03-10 19:54:06 -07:00
dwmac-eic7700.c net: stmmac: eswin: validate RGMII delay values 2026-05-21 11:58:17 +02:00
dwmac-generic.c
dwmac-imx.c net: stmmac: imx: Disable EEE 2026-03-27 20:57:39 -07:00
dwmac-ingenic.c net: stmmac: ingenic: use ->set_phy_intf_sel() 2025-11-10 17:30:40 -08:00
dwmac-intel-plat.c net: stmmac: intel-plat: remove eee_usecs_rate and hardware write 2025-04-14 17:12:41 -07:00
dwmac-intel.c net: stmmac: move default_an_inband to plat_stmmacenet_data 2026-03-23 17:32:18 -07:00
dwmac-intel.h net: stmmac: intel: convert speed_mode_2500() to get_interfaces() 2025-05-02 18:25:08 -07:00
dwmac-ipq806x.c net: stmmac: replace has_xxxx with core_type 2025-10-22 18:28:57 -07:00
dwmac-loongson.c net: stmmac: convert plat_stmmacenet_data booleans to type bool 2026-03-10 19:54:06 -07:00
dwmac-loongson1.c net: stmmac: pass struct device to init()/exit() methods 2025-11-20 17:54:07 -08:00
dwmac-lpc18xx.c net: stmmac: lpc18xx: use ->set_phy_intf_sel() 2025-11-07 19:05:48 -08:00
dwmac-mediatek.c net: stmmac: use u8 for host_dma_width and similar struct members 2026-03-10 19:54:07 -07:00
dwmac-meson.c
dwmac-meson8b.c net: stmmac: meson8b: use stmmac_get_phy_intf_sel() 2025-11-11 17:53:18 -08:00
dwmac-motorcomm.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-04-09 13:20:59 -07:00
dwmac-nuvoton.c net: stmmac: dwmac-nuvoton: fix NULL pointer dereference in nvt_set_phy_intf_sel() 2026-05-07 08:41:30 -07:00
dwmac-qcom-ethqos.c net: stmmac: qcom-ethqos: set clk_csr 2026-04-03 14:39:04 -07:00
dwmac-renesas-gbeth.c net: stmmac: dwmac-renesas-gbeth: Add support for RZ/G3L SoC 2026-02-02 19:12:15 -08:00
dwmac-rk.c net: stmmac: dwmac-rk: Fix typo in comment 2026-03-29 11:44:39 -07:00
dwmac-rzn1.c
dwmac-s32.c stmmac: s32: enable support for Multi-IRQ mode 2026-03-16 20:07:05 -07:00
dwmac-socfpga.c net: stmmac: dwmac-sofcpga: Drop the struct device reference 2026-03-26 18:19:42 -07:00
dwmac-sophgo.c net: stmmac: dwmac-sophgo: Add phy interface filter 2025-11-17 19:57:38 -08:00
dwmac-spacemit.c net: stmmac: Add glue layer for Spacemit K3 SoC 2026-03-17 20:18:38 -07:00
dwmac-starfive.c net: stmmac: starfive: use stmmac_get_phy_intf_sel() 2025-11-12 18:13:42 -08:00
dwmac-sti.c net: stmmac: pass interface mode into fix_mac_speed() method 2026-02-24 17:43:22 -08:00
dwmac-stm32.c net: stmmac: stm32: use stmmac_get_phy_intf_sel() 2025-11-12 18:13:42 -08:00
dwmac-sun8i.c net: stmmac: use u8 for ?x_queues_to_use and number_?x_queues 2026-03-10 19:54:07 -07:00
dwmac-sun55i.c net: stmmac: Add support for Allwinner A523 GMAC200 2025-10-01 10:01:34 +02:00
dwmac-sunxi.c net: stmmac: convert plat_stmmacenet_data booleans to type bool 2026-03-10 19:54:06 -07:00
dwmac-tegra.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-04-09 13:20:59 -07:00
dwmac-thead.c net: stmmac: thead: avoid conflicts with PHY_INTF_* definitions 2026-01-29 18:27:26 -08:00
dwmac-visconti.c net: stmmac: visconti: use stmmac_get_phy_intf_sel() 2025-11-12 18:13:43 -08:00
dwmac4_core.c net: stmmac: add support for reading inband SGMII status 2026-03-23 17:32:18 -07:00
dwmac4_descs.c net: stmmac: more mode -> descriptor_mode renames 2026-03-19 17:18:51 -07:00
dwmac4_descs.h net: stmmac: descs: remove many xxx_SHIFT definitions 2026-01-12 18:02:11 -08:00
dwmac4_dma.c net: stmmac: remove dwmac410_(enable|disable)_dma_irq 2026-03-02 18:35:05 -08:00
dwmac4_dma.h net: stmmac: enable RPS and RBU interrupts 2026-04-13 14:34:38 -07:00
dwmac4_lib.c net: stmmac: remove stmmac_dwmac4_get_mac_addr() 2026-03-09 19:44:11 -07:00
dwmac4.h net: stmmac: add support for reading inband SGMII status 2026-03-23 17:32:18 -07:00
dwmac5.c net: stmmac: ptp: remove redundant priv->pps[].available 2026-03-09 19:45:27 -07:00
dwmac5.h
dwmac100_core.c net: stmmac: use u8 for ?x_queues_to_use and number_?x_queues 2026-03-10 19:54:07 -07:00
dwmac100_dma.c net: stmmac: cores: remove many xxx_SHIFT definitions 2026-01-12 18:02:11 -08:00
dwmac100.h net: stmmac: remove unused definitions 2026-01-12 18:02:12 -08:00
dwmac1000_core.c net: stmmac: add support for reading inband SGMII status 2026-03-23 17:32:18 -07:00
dwmac1000_dma.c net: stmmac: report active PHY interface 2026-01-29 18:28:31 -08:00
dwmac1000.h net: stmmac: add support for reading inband SGMII status 2026-03-23 17:32:18 -07:00
dwxgmac2_core.c net: stmmac: use u8 for ?x_queues_to_use and number_?x_queues 2026-03-10 19:54:07 -07:00
dwxgmac2_descs.c net: stmmac: more mode -> descriptor_mode renames 2026-03-19 17:18:51 -07:00
dwxgmac2_dma.c net: stmmac: report active PHY interface 2026-01-29 18:28:31 -08:00
dwxgmac2.h net: stmmac: report active PHY interface 2026-01-29 18:28:31 -08:00
dwxlgmac2.h
enh_desc.c net: stmmac: more mode -> descriptor_mode renames 2026-03-19 17:18:51 -07:00
hwif.c net: stmmac: rename "mode" to "descriptor_mode" 2026-03-19 17:18:51 -07:00
hwif.h net: stmmac: more mode -> descriptor_mode renames 2026-03-19 17:18:51 -07:00
Kconfig stmmac: cleanup dead dependencies on STMMAC_PLATFORM and STMMAC_ETH in Kconfig 2026-04-03 14:37:31 -07:00
Makefile net: stmmac: dwmac-nuvoton: Add dwmac glue for Nuvoton MA35 family 2026-03-26 18:15:39 -07:00
mmc_core.c net: stmmac: spelling corrections 2026-01-30 17:41:56 -08:00
mmc.h
norm_desc.c net: stmmac: more mode -> descriptor_mode renames 2026-03-19 17:18:51 -07:00
ring_mode.c net: stmmac: rename STMMAC_GET_ENTRY() -> STMMAC_NEXT_ENTRY() 2026-03-19 17:18:52 -07:00
stmmac_est.c net: stmmac: replace has_xxxx with core_type 2025-10-22 18:28:57 -07:00
stmmac_est.h net: stmmac: est: Drop frames causing HLBS error 2025-09-29 17:49:34 -07:00
stmmac_ethtool.c net: stmmac: avoid passing pci_dev 2026-03-14 09:42:58 -07:00
stmmac_fpe.c net: stmmac: add stmmac_mac_irq_modify() 2025-10-24 18:56:34 -07:00
stmmac_fpe.h net: ethtool: mm: extract stmmac verification logic into common library 2025-04-18 08:43:09 -07:00
stmmac_hwtstamp.c net: stmmac: spelling corrections 2026-01-30 17:41:56 -08:00
stmmac_libpci.c net: stmmac: Add generic suspend/resume helper for PCI-based controllers 2025-11-26 17:07:38 -08:00
stmmac_libpci.h net: stmmac: Add generic suspend/resume helper for PCI-based controllers 2025-11-26 17:07:38 -08:00
stmmac_main.c net: stmmac: Prevent NULL deref when RX memory exhausted 2026-04-28 12:26:20 +02:00
stmmac_mdio.c net: stmmac: mdio: convert field prep to use field_prep() 2026-03-06 15:39:09 -08:00
stmmac_pci.c net: stmmac: convert plat_stmmacenet_data booleans to type bool 2026-03-10 19:54:06 -07:00
stmmac_pcs.c net: stmmac: add BASE-X support to integrated PCS 2026-03-23 17:32:19 -07:00
stmmac_pcs.h net: stmmac: add BASE-X support to integrated PCS 2026-03-23 17:32:19 -07:00
stmmac_platform.c net: stmmac: remove axi_kbbe, axi_mb and axi_rb members 2026-03-26 20:39:43 -07:00
stmmac_platform.h
stmmac_ptp.c net: stmmac: ptp: remove redundant priv->pps[].available 2026-03-09 19:45:27 -07:00
stmmac_ptp.h
stmmac_selftests.c Convert 'alloc_flex' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
stmmac_tc.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-10-31 06:46:03 -07:00
stmmac_vlan.c net: stmmac: Defer VLAN HW configuration when interface is down 2026-03-04 18:48:49 -08:00
stmmac_vlan.h net: stmmac: stmmac_vlan: rename VLAN functions and symbol to generic symbol. 2025-05-09 17:29:43 -07:00
stmmac_xdp.c net: stmmac: convert priv->sph* to boolean and rename 2025-11-19 08:32:38 -08:00
stmmac_xdp.h
stmmac.h net: stmmac: simplify GSO/TSO test in stmmac_xmit() 2026-04-02 11:28:19 -07:00