[PATCH net-next v1] r8169: add DASH support for RTL8127AP

javen posted 1 patch 5 days, 17 hours ago
drivers/net/ethernet/realtek/r8169_main.c | 1 +
1 file changed, 1 insertion(+)
[PATCH net-next v1] r8169: add DASH support for RTL8127AP
Posted by javen 5 days, 17 hours ago
From: Javen Xu <javen_xu@realsil.com.cn>

This adds DASH support for chip RTL8127AP. Its mac version is
RTL_GIGA_MAC_VER_80. DASH is a standard for remote management of network
device, allowing out-of-band control.

Signed-off-by: Javen Xu <javen_xu@realsil.com.cn>
---
 drivers/net/ethernet/realtek/r8169_main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
index 3f5ffaa55c85..68e84462216c 100644
--- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c
@@ -1512,6 +1512,7 @@ static enum rtl_dash_type rtl_get_dash_type(struct rtl8169_private *tp)
 	case RTL_GIGA_MAC_VER_51 ... RTL_GIGA_MAC_VER_52:
 		return RTL_DASH_EP;
 	case RTL_GIGA_MAC_VER_66:
+	case RTL_GIGA_MAC_VER_80:
 		return RTL_DASH_25_BP;
 	default:
 		return RTL_DASH_NONE;
-- 
2.43.0
Re: [PATCH net-next v1] r8169: add DASH support for RTL8127AP
Posted by Nathan Chancellor 24 minutes ago
Hi Javen,

On Wed, Nov 26, 2025 at 01:59:50PM +0800, javen wrote:
> From: Javen Xu <javen_xu@realsil.com.cn>
> 
> This adds DASH support for chip RTL8127AP. Its mac version is
> RTL_GIGA_MAC_VER_80. DASH is a standard for remote management of network
> device, allowing out-of-band control.
> 
> Signed-off-by: Javen Xu <javen_xu@realsil.com.cn>
> ---
>  drivers/net/ethernet/realtek/r8169_main.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
> index 3f5ffaa55c85..68e84462216c 100644
> --- a/drivers/net/ethernet/realtek/r8169_main.c
> +++ b/drivers/net/ethernet/realtek/r8169_main.c
> @@ -1512,6 +1512,7 @@ static enum rtl_dash_type rtl_get_dash_type(struct rtl8169_private *tp)
>  	case RTL_GIGA_MAC_VER_51 ... RTL_GIGA_MAC_VER_52:
>  		return RTL_DASH_EP;
>  	case RTL_GIGA_MAC_VER_66:
> +	case RTL_GIGA_MAC_VER_80:
>  		return RTL_DASH_25_BP;
>  	default:
>  		return RTL_DASH_NONE;
> -- 
> 2.43.0
> 

I am seeing several new error messages from r8169 after this change in
-next as commit 17e9f841dd22 ("r8169: add DASH support for RTL8127AP").

  [    3.844125] r8169 0000:01:00.0 (unnamed net_device) (uninitialized): rtl_eriar_cond == 0 (loop: 100, delay: 100).
  [    3.864844] r8169 0000:01:00.0 eth0: rtl_eriar_cond == 1 (loop: 100, delay: 100).
  [    3.878825] r8169 0000:01:00.0 eth0: rtl_eriar_cond == 1 (loop: 100, delay: 100).
  [    3.892632] r8169 0000:01:00.0 eth0: rtl_eriar_cond == 1 (loop: 100, delay: 100).
  [    5.002551] r8169 0000:01:00.0 eth0: rtl_eriar_cond == 1 (loop: 100, delay: 100).
  [    5.016286] r8169 0000:01:00.0 eth0: rtl_eriar_cond == 1 (loop: 100, delay: 100).
  [    5.030027] r8169 0000:01:00.0 eth0: rtl_eriar_cond == 1 (loop: 100, delay: 100).

All r8169 messages at this change, in case there is anything else relevant there.

  [    0.000000] Linux version 6.18.0-rc7-debug-01318-g17e9f841dd22 (nathan@ax162) (x86_64-linux-gcc (GCC) 15.2.0, GNU ld (GNU Binutils) 2.45) #1 SMP PREEMPT_DYNAMIC Mon Dec  1 15:30:17 MST 2025
  [    3.828802] r8169 0000:01:00.0: can't disable ASPM; OS doesn't have ASPM control
  [    3.844125] r8169 0000:01:00.0 (unnamed net_device) (uninitialized): rtl_eriar_cond == 0 (loop: 100, delay: 100).
  [    3.851005] r8169 0000:01:00.0 eth0: RTL8127A, 1c:86:0b:37:96:68, XID 6c9, IRQ 153
  [    3.851008] r8169 0000:01:00.0 eth0: jumbo features [frames: 16362 bytes, tx checksumming: ko]
  [    3.851009] r8169 0000:01:00.0 eth0: DASH enabled
  [    3.864844] r8169 0000:01:00.0 eth0: rtl_eriar_cond == 1 (loop: 100, delay: 100).
  [    3.878825] r8169 0000:01:00.0 eth0: rtl_eriar_cond == 1 (loop: 100, delay: 100).
  [    3.892632] r8169 0000:01:00.0 eth0: rtl_eriar_cond == 1 (loop: 100, delay: 100).
  [    4.988502] Realtek Internal NBASE-T PHY r8169-0-100:00: attached PHY driver (mii_bus:phy_addr=r8169-0-100:00, irq=MAC)
  [    5.002551] r8169 0000:01:00.0 eth0: rtl_eriar_cond == 1 (loop: 100, delay: 100).
  [    5.016286] r8169 0000:01:00.0 eth0: rtl_eriar_cond == 1 (loop: 100, delay: 100).
  [    5.030027] r8169 0000:01:00.0 eth0: rtl_eriar_cond == 1 (loop: 100, delay: 100).
  [    5.727716] r8169 0000:01:00.0 eth0: Link is Down
  [    6.421496] r8169 0000:01:00.0: invalid VPD tag 0x00 (size 0) at offset 0; assume missing optional EEPROM
  [    8.931900] r8169 0000:01:00.0 eth0: Link is Up - 2.5Gbps/Full - flow control off

At the parent change, these messages are not present:

  [    0.000000] Linux version 6.18.0-rc7-debug-01317-g6557cae0a2a1 (nathan@ax162) (x86_64-linux-gcc (GCC) 15.2.0, GNU ld (GNU Binutils) 2.45) #1 SMP PREEMPT_DYNAMIC Mon Dec  1 15:23:58 MST 2025
  [    3.828654] r8169 0000:01:00.0: can't disable ASPM; OS doesn't have ASPM control
  [    3.841662] r8169 0000:01:00.0 eth0: RTL8127A, 1c:86:0b:37:96:68, XID 6c9, IRQ 153
  [    3.841665] r8169 0000:01:00.0 eth0: jumbo features [frames: 16362 bytes, tx checksumming: ko]
  [    4.993504] Realtek Internal NBASE-T PHY r8169-0-100:00: attached PHY driver (mii_bus:phy_addr=r8169-0-100:00, irq=MAC)
  [    5.671710] r8169 0000:01:00.0 eth0: Link is Down
  [    6.941496] r8169 0000:01:00.0: invalid VPD tag 0x00 (size 0) at offset 0; assume missing optional EEPROM
  [    8.928899] r8169 0000:01:00.0 eth0: Link is Up - 2.5Gbps/Full - flow control off

I see these messages on both of my machines that have this card
installed. Some additional information, in case it is relevant.

  $ sudo ethtool -i eth0
  driver: r8169
  version: 6.18.0-rc7-debug-01318-g17e9f84
  firmware-version: rtl8127a-1_0.0.5 05/14/25
  expansion-rom-version:
  bus-info: 0000:01:00.0
  supports-statistics: yes
  supports-test: no
  supports-eeprom-access: no
  supports-register-dump: yes
  supports-priv-flags: no

  $ sudo lspci -s 01:00.0 -v
  01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8127 10GbE Controller (rev 05)
          Subsystem: Realtek Semiconductor Co., Ltd. Device 0123
          Flags: bus master, fast devsel, latency 0, IRQ 16
          I/O ports at 4000 [size=256]
          Memory at a1300000 (64-bit, non-prefetchable) [size=256K]
          Memory at a1360000 (64-bit, non-prefetchable) [size=16K]
          Expansion ROM at a1340000 [disabled] [size=128K]
          Capabilities: [40] Power Management version 3
          Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
          Capabilities: [70] Express Endpoint, IntMsgNum 1
          Capabilities: [b0] MSI-X: Enable+ Count=64 Masked-
          Capabilities: [d0] Vital Product Data
          Capabilities: [100] Advanced Error Reporting
          Capabilities: [148] Virtual Channel
          Capabilities: [164] Device Serial Number 01-00-00-00-68-4c-e0-00
          Capabilities: [174] Secondary PCI Express
          Capabilities: [184] Physical Layer 16.0 GT/s
          Capabilities: [1a8] Lane Margining at the Receiver
          Capabilities: [244] Latency Tolerance Reporting
          Capabilities: [24c] L1 PM Substates
          Capabilities: [25c] Data Link Feature <?>
          Capabilities: [268] Precision Time Measurement
          Capabilities: [274] Vendor Specific Information: ID=0003 Rev=1 Len=054 <?>
          Kernel driver in use: r8169
          Kernel modules: r8169

Maybe this is a preexisting issue or there are additional changes needed
to properly support DASH? If there is not an actual problem here, I can
mentally ignore the messages but it makes it harder to spot new errors
so it would be nice if this could be addressed.

Cheers,
Nathan

# bad: [95cb2fd6ce0ad61af54191fe5ef271d7177f9c3a] Add linux-next specific files for 20251201
# good: [e69c7c175115c51c7f95394fc55425a395b3af59] Merge tag 'timers_urgent_for_v6.18_rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect start '95cb2fd6ce0ad61af54191fe5ef271d7177f9c3a' 'e69c7c175115c51c7f95394fc55425a395b3af59'
# bad: [87d5c4addc7e535618586e7205191a7f402288ba] Merge branch 'master' of https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
git bisect bad 87d5c4addc7e535618586e7205191a7f402288ba
# good: [9abea31d25450ec48c284f3392a1ea285affbdf2] Merge branch 'fs-next' of linux-next
git bisect good 9abea31d25450ec48c284f3392a1ea285affbdf2
# bad: [0177f0f07886e54e12c6f18fa58f63e63ddd3c58] Merge tag 'linux-can-next-for-6.19-20251129' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next
git bisect bad 0177f0f07886e54e12c6f18fa58f63e63ddd3c58
# good: [8180c4fa5444247c3fcecc98c75d53cdb801604c] Merge branch 'tools-ynl-turn-the-page-pool-sample-into-a-real-tool'
git bisect good 8180c4fa5444247c3fcecc98c75d53cdb801604c
# good: [ee458a3f314e9c669ddd227bf5ab08354d9e75cc] mptcp: introduce mptcp-level backlog
git bisect good ee458a3f314e9c669ddd227bf5ab08354d9e75cc
# bad: [c940be4c7c75684799d5bff495ac9c48ca19f183] net: Remove KMSG_COMPONENT macro
git bisect bad c940be4c7c75684799d5bff495ac9c48ca19f183
# good: [4718d39e72c008b1c96a8673719ad8f894ca4488] Merge patch series "Add R-Car CAN-FD suspend/resume support"
git bisect good 4718d39e72c008b1c96a8673719ad8f894ca4488
# good: [1fe7978329d736e90600b16b34c7656073dc7a5a] fbnic: Add handler for reporting link down event statistics
git bisect good 1fe7978329d736e90600b16b34c7656073dc7a5a
# bad: [ebb2eaeb05d0ee6bd46e98313f72eac2b0dbd9d7] Merge branch 'net-dsa-yt921x-fix-parsing-mib-attributes'
git bisect bad ebb2eaeb05d0ee6bd46e98313f72eac2b0dbd9d7
# good: [73f784b2c938e17e4af90aff4cdcaafe4ca06a5f] Merge tag 'linux-can-next-for-6.19-20251126' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next
git bisect good 73f784b2c938e17e4af90aff4cdcaafe4ca06a5f
# good: [858b1d07e49106a302cc7c7fbeee4fb2698573c9] gve: Fix race condition on tx->dropped_pkt update
git bisect good 858b1d07e49106a302cc7c7fbeee4fb2698573c9
# bad: [17e9f841dd227a4dc976b22d000d5f669bc14493] r8169: add DASH support for RTL8127AP
git bisect bad 17e9f841dd227a4dc976b22d000d5f669bc14493
# good: [6557cae0a2a1952645e5df50e1d6eb7267ea2131] if_ether.h: Clarify ethertype validity for gsw1xx dsa
git bisect good 6557cae0a2a1952645e5df50e1d6eb7267ea2131
# first bad commit: [17e9f841dd227a4dc976b22d000d5f669bc14493] r8169: add DASH support for RTL8127AP
Re: [PATCH net-next v1] r8169: add DASH support for RTL8127AP
Posted by Jakub Kicinski 12 minutes ago
On Mon, 1 Dec 2025 15:42:38 -0700 Nathan Chancellor wrote:
> I am seeing several new error messages from r8169 after this change in
> -next as commit 17e9f841dd22 ("r8169: add DASH support for RTL8127AP").
> 
>   [    3.844125] r8169 0000:01:00.0 (unnamed net_device) (uninitialized): rtl_eriar_cond == 0 (loop: 100, delay: 100).
>   [    3.864844] r8169 0000:01:00.0 eth0: rtl_eriar_cond == 1 (loop: 100, delay: 100).
>   [    3.878825] r8169 0000:01:00.0 eth0: rtl_eriar_cond == 1 (loop: 100, delay: 100).
>   [    3.892632] r8169 0000:01:00.0 eth0: rtl_eriar_cond == 1 (loop: 100, delay: 100).
>   [    5.002551] r8169 0000:01:00.0 eth0: rtl_eriar_cond == 1 (loop: 100, delay: 100).
>   [    5.016286] r8169 0000:01:00.0 eth0: rtl_eriar_cond == 1 (loop: 100, delay: 100).
>   [    5.030027] r8169 0000:01:00.0 eth0: rtl_eriar_cond == 1 (loop: 100, delay: 100).

Thanks for the report and bisect! I'll revert the change and we can
revisit for the next release.