[PATCH net-next v4 0/8] r8152: refactor and extend RTL8157/8159 support
From: Chih Kai Hsu <hidden>
Date: 2026-09-17 07:07:20
Also in:
linux-usb, lkml
RTL8157 and RTL8159 have different init, enable, up/down, hw_phy_cfg, and PHY access sequences from RTL8156. This series splits the shared callbacks into per-chip variants and adds the missing RTL8157/8159 functionality: dedicated unload and change_mtu callbacks, TGPHY register access via phy_read/phy_write pointers in struct rtl_ops, flow control patch support through rtl_fc_pause_pkt_en(), and UPS support via r8157_ups_en(). v4: - Patch #1: make wait_autoload_done() bail out immediately on RTL8152_INACCESSIBLE instead of waiting out the full 10 second timeout. - Patch #6: propagate PHY access failures instead of ignoring them. ocp_reg_read()/ocp_reg_write() and every helper built on top of them (sram_read/write, sram2_read/write, the ocp_reg_*_bits and MDIO bit helpers) now return int and stop silently operating on stale data when a TGPHY access times out. v3: Rebase on top of latest net-next to resolve merge conflicts. v2: - For patch #1, use read_poll_timeout() to replace the manual for-loop polling. - For patch #2 and #3, rewrite the commit message. v1: RTL8157 and RTL8159 have different init, enable, up/down, hw_phy_cfg, and PHY access sequences from RTL8156. This series splits the shared callbacks into per-chip variants and adds the missing RTL8157/8159 functionality: dedicated unload and change_mtu callbacks, TGPHY register access via phy_read/phy_write pointers in struct rtl_ops, flow control patch support through rtl_fc_pause_pkt_en(), and UPS support via r8157_ups_en(). Chih Kai Hsu (8): r8152: split r8156_init per chip and add missing init writes r8152: split RTL_VER_17 into QFN68 and QFN100 package variants r8152: split rtl8156_enable/up/down into per-chip-family functions r8152: split r8157_hw_phy_cfg into RTL8157 and RTL8159 variants r8152: add rtl8157_unload and rtl8157_change_mtu r8152: add TGPHY register access for RTL8157 and RTL8159 r8152: extract rtl_fc_pause_pkt_en() and apply it to RTL8156/8157/8159 r8152: enable UPS for RTL8157 and RTL8159 QFN68 drivers/net/usb/r8152.c | 1655 ++++++++++++++++++++++++++++++--------- 1 file changed, 1306 insertions(+), 349 deletions(-) -- 2.34.1