lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4B0E7A890ED5AF50+57f079d1-0be3-4d27-8118-1216bef2076a@radxa.com>
Date: Mon, 29 Dec 2025 13:18:42 +0900
From: FUKAUMI Naoki <naoki@...xa.com>
To: Heiner Kallweit <hkallweit1@...il.com>,
 Fabio Baltieri <fabio.baltieri@...il.com>
Cc: nic_swsd@...ltek.com, Andrew Lunn <andrew+netdev@...n.ch>,
 "David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
 Jakub Kicinski <kuba@...nel.org>,
 Michael Zimmermann <sigmaepsilon92@...il.com>,
 Paolo Abeni <pabeni@...hat.com>, netdev@...r.kernel.org,
 linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] r8169: add support for RTL8127ATF

Hi Heiner,

Thank you so much for your work!

On 11/24/25 07:54, Heiner Kallweit wrote:
> On 11/23/2025 7:41 PM, Fabio Baltieri wrote:
>> Hi Heiner,
>>
>> On Sun, Nov 23, 2025 at 04:58:23PM +0100, Heiner Kallweit wrote:
>>> This is a version with better integration with phylib, and with 10G support only.
>>> Maybe I simplified the PHY/Serdes initialization too much, we'll see.
>>> A difference to your version is that via ethtool you now can and have to set autoneg to off.
>>>
>>> I'd appreciate if you could give it a try and provide a full dmesg log and output of "ethtool <if>".
>>>
>>> Note: This patch applies on top of net-next and linux-next. However, if you apply it on top
>>> of some other recent kernel version, conflicts should be easy to resolve.
>>
>> Thanks for the patch, ran some initial tests, I'm on Linus tree for
>> other reasons but applied 3dc2a17efc5f, 1479493c91fc, 28c0074fd4b7 and
>> the recent suspend fix, then your patch applies cleanly.
>>
>> Here's ethtool output:
>>
>> # ethtool eth1
>> Settings for eth1:
>>          Supported ports: [  ]
>>          Supported link modes:   10000baseT/Full
>>          Supported pause frame use: Symmetric Receive-only
>>          Supports auto-negotiation: No
>>          Supported FEC modes: Not reported
>>          Advertised link modes:  10000baseT/Full
>>          Advertised pause frame use: Symmetric Receive-only
>>          Advertised auto-negotiation: No
>>          Advertised FEC modes: Not reported
>>          Speed: 10000Mb/s
>>          Duplex: Full
>>          Auto-negotiation: off
>>          master-slave status: master
>>          Port: Twisted Pair
>>          PHYAD: 0
>>          Transceiver: internal
>>          MDI-X: Unknown
>>          Supports Wake-on: pumbg
>>          Wake-on: d
>>          Link detected: yes
>>
>> The phy is identified correctly:
>>
>> [ 1563.678133] Realtek SFP PHY Mode r8169-1-500:00: attached PHY driver (mii_bus:phy_addr=r8169-1-500:00, irq=MAC)
>>
>> That said I've observed two issues with the current patch:
>>
>> 1. the link on the other end is flapping, I've seen this while working
>> on the original patch and seems to be due to the EEE settings, it is
>> addressed by:
>>
>> @@ -2439,7 +2439,10 @@ static void rtl8125a_config_eee_mac(struct rtl8169_private *tp)
>>
>>   static void rtl8125b_config_eee_mac(struct rtl8169_private *tp)
>>   {
>> -       r8168_mac_ocp_modify(tp, 0xe040, 0, BIT(1) | BIT(0));
>> +       if (tp->sfp_mode)
>> +               r8168_mac_ocp_modify(tp, 0xe040, BIT(1) | BIT(0), 0);
>> +       else
>> +               r8168_mac_ocp_modify(tp, 0xe040, 0, BIT(1) | BIT(0));
>>   }
>>
>>   static void rtl_rar_exgmac_set(struct rtl8169_private *tp, const u8 *addr)
>>
>>
>> 2. the link is lost after a module reload or after an ip link down and
>> up, the driver logs "Link is Down" and stays there until the cable is
>> unplugged and re-plugged. This seems to be addressed by the code that
>> was in rtl8127_sds_phy_reset(), re-adding that code fixes it:
>>
>> @@ -2477,6 +2480,13 @@ static void r8127_init_sfp_10g(struct rtl8169_private *tp)
>>   {
>>          int val;
>>
>> +       RTL_W8(tp, 0x2350, RTL_R8(tp, 0x2350) & ~BIT(0));
>> +       udelay(1);
>> +
>> +       RTL_W16(tp, 0x233a, 0x801f);
>> +       RTL_W8(tp, 0x2350, RTL_R8(tp, 0x2350) | BIT(0));
>> +       udelay(10);
>> +
>>          RTL_W16(tp, 0x233a, 0x801a);
>>          RTL_W16(tp, 0x233e, (RTL_R16(tp, 0x233e) & ~0x3003) | 0x1000);
>>
>> Guess the phy needs a reset after all.
>>
>> With these two applied it seems to be working fine, tested suspend as
>> well.
>>
>> Would you integrate these two or want to try me something different?
> 
> Thanks a lot for the valuable feedback!
> I added the SDS PHY reset to the patch, and improved MAC EEE handling
> in a second patch, incl. what you mentioned.
> Patches should fully cover your use case now. Please give it a try.

for 0001-r8169-add-support-for-10G-SFP-mode-on-RTL8127ATF.patch,

Tested-by: FUKAUMI Naoki <naoki@...xa.com>

Tested on Radxa ROCK 5B+/5T (RK3588 SoC) running v6.18.1 with the 
following commits applied:

  28c0074fd4b7 (r8169: bail out from probe if fiber mode is detected on 
RTL8127AF, 2025-11-13)
  87ad869feaed (r8169: improve MAC EEE handling, 2025-11-24)

$ lspci -s 0001:11:00.0 -v
0001:11:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. Device 
8127 (rev 08)
	Subsystem: Realtek Semiconductor Co., Ltd. Device 0123
	Flags: bus master, fast devsel, latency 0, IRQ 77, IOMMU group 7
	I/O ports at 100000 [size=256]
	Memory at f1300000 (64-bit, non-prefetchable) [size=256K]
	Memory at f1360000 (64-bit, non-prefetchable) [size=16K]
	Expansion ROM at f1340000 [virtual] [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel driver in use: r8169
	Kernel modules: r8169

$ dmesg | grep SFP
[    4.799931] Realtek SFP PHY Mode r8169-1-1100:00: attached PHY driver 
(mii_bus:phy_addr=r8169-1-1100:00, irq=MAC)

iperf3 results:

TX: 9.4 Gbps
RX: Limited to 5.5 Gbps due to single-core performance bottlenecks (RSS 
and RPS are not working)

It would be great if this could be backported to the v6.18.y.

Best regards,

--
FUKAUMI Naoki
Radxa Computer (Shenzhen) Co., Ltd.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ