* [PATCH net-next v2 0/2] r8169: add support for RTL8127ATF (10G Fiber SFP)
@ 2026-01-10 15:12 Heiner Kallweit
2026-01-10 15:14 ` [PATCH net-next v2 1/2] net: phy: realtek: add dummy PHY driver for RTL8127ATF Heiner Kallweit
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Heiner Kallweit @ 2026-01-10 15:12 UTC (permalink / raw)
To: Andrew Lunn, Andrew Lunn, Russell King - ARM Linux, Paolo Abeni,
Eric Dumazet, David Miller, Jakub Kicinski, Vladimir Oltean,
Michael Klein, Daniel Golle, Realtek linux nic maintainers,
Aleksander Jan Bajkowski, Fabio Baltieri
Cc: netdev@vger.kernel.org
RTL8127ATF supports a SFP+ port for fiber modules (10GBASE-SR/LR/ER/ZR and
DAC). The list of supported modes was provided by Realtek. According to the
r8127 vendor driver also 1G modules are supported, but this needs some more
complexity in the driver, and only 10G mode has been tested so far.
Therefore mainline support will be limited to 10G for now.
The SFP port signals are hidden in the chip IP and driven by firmware.
Therefore mainline SFP support can't be used here.
The PHY driver is used by the RTL8127ATF support in r8169.
RTL8127ATF reports the same PHY ID as the TP version. Therefore use a dummy
PHY ID.
v2:
- move realtek_phy.h to new include/net/phy/
Heiner Kallweit (2):
net: phy: realtek: add dummy PHY driver for RTL8127ATF
r8169: add support for RTL8127ATF (Fiber SFP)
MAINTAINERS | 1 +
drivers/net/ethernet/realtek/r8169_main.c | 89 ++++++++++++++++++++++-
drivers/net/phy/realtek/realtek_main.c | 54 ++++++++++++++
include/net/phy/realtek_phy.h | 7 ++
4 files changed, 147 insertions(+), 4 deletions(-)
create mode 100644 include/net/phy/realtek_phy.h
--
2.52.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH net-next v2 1/2] net: phy: realtek: add dummy PHY driver for RTL8127ATF
2026-01-10 15:12 [PATCH net-next v2 0/2] r8169: add support for RTL8127ATF (10G Fiber SFP) Heiner Kallweit
@ 2026-01-10 15:14 ` Heiner Kallweit
2026-01-10 15:15 ` [PATCH net-next v2 2/2] r8169: add support for RTL8127ATF (Fiber SFP) Heiner Kallweit
` (2 subsequent siblings)
3 siblings, 0 replies; 9+ messages in thread
From: Heiner Kallweit @ 2026-01-10 15:14 UTC (permalink / raw)
To: Andrew Lunn, Andrew Lunn, Russell King - ARM Linux, Paolo Abeni,
Eric Dumazet, David Miller, Jakub Kicinski, Vladimir Oltean,
Michael Klein, Daniel Golle, Realtek linux nic maintainers,
Aleksander Jan Bajkowski, Fabio Baltieri
Cc: netdev@vger.kernel.org
RTL8127ATF supports a SFP+ port for fiber modules (10GBASE-SR/LR/ER/ZR and
DAC). The list of supported modes was provided by Realtek. According to the
r8127 vendor driver also 1G modules are supported, but this needs some more
complexity in the driver, and only 10G mode has been tested so far.
Therefore mainline support will be limited to 10G for now.
The SFP port signals are hidden in the chip IP and driven by firmware.
Therefore mainline SFP support can't be used here.
This PHY driver is used by the RTL8127ATF support in r8169.
RTL8127ATF reports the same PHY ID as the TP version. Therefore use a dummy
PHY ID. This PHY driver is used by the RTL8127ATF support in r8169.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
v2:
- move realtek_phy.h to new include/net/phy/
---
MAINTAINERS | 1 +
drivers/net/phy/realtek/realtek_main.c | 54 ++++++++++++++++++++++++++
include/net/phy/realtek_phy.h | 7 ++++
3 files changed, 62 insertions(+)
create mode 100644 include/net/phy/realtek_phy.h
diff --git a/MAINTAINERS b/MAINTAINERS
index 765ad2daa21..44a69cc48b2 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -9416,6 +9416,7 @@ F: include/linux/phy_link_topology.h
F: include/linux/phylib_stubs.h
F: include/linux/platform_data/mdio-bcm-unimac.h
F: include/linux/platform_data/mdio-gpio.h
+F: include/net/phy/
F: include/trace/events/mdio.h
F: include/uapi/linux/mdio.h
F: include/uapi/linux/mii.h
diff --git a/drivers/net/phy/realtek/realtek_main.c b/drivers/net/phy/realtek/realtek_main.c
index eb5b540ada0..5a7f472bf58 100644
--- a/drivers/net/phy/realtek/realtek_main.c
+++ b/drivers/net/phy/realtek/realtek_main.c
@@ -17,6 +17,7 @@
#include <linux/delay.h>
#include <linux/clk.h>
#include <linux/string_choices.h>
+#include <net/phy/realtek_phy.h>
#include "../phylib.h"
#include "realtek.h"
@@ -2100,6 +2101,45 @@ static irqreturn_t rtl8221b_handle_interrupt(struct phy_device *phydev)
return IRQ_HANDLED;
}
+static int rtlgen_sfp_get_features(struct phy_device *phydev)
+{
+ linkmode_set_bit(ETHTOOL_LINK_MODE_10000baseT_Full_BIT,
+ phydev->supported);
+
+ /* set default mode */
+ phydev->speed = SPEED_10000;
+ phydev->duplex = DUPLEX_FULL;
+
+ phydev->port = PORT_FIBRE;
+
+ return 0;
+}
+
+static int rtlgen_sfp_read_status(struct phy_device *phydev)
+{
+ int val, err;
+
+ err = genphy_update_link(phydev);
+ if (err)
+ return err;
+
+ if (!phydev->link)
+ return 0;
+
+ val = rtlgen_read_vend2(phydev, RTL_VND2_PHYSR);
+ if (val < 0)
+ return val;
+
+ rtlgen_decode_physr(phydev, val);
+
+ return 0;
+}
+
+static int rtlgen_sfp_config_aneg(struct phy_device *phydev)
+{
+ return 0;
+}
+
static struct phy_driver realtek_drvs[] = {
{
PHY_ID_MATCH_EXACT(0x00008201),
@@ -2361,6 +2401,20 @@ static struct phy_driver realtek_drvs[] = {
.write_page = rtl821x_write_page,
.read_mmd = rtl822x_read_mmd,
.write_mmd = rtl822x_write_mmd,
+ }, {
+ PHY_ID_MATCH_EXACT(PHY_ID_RTL_DUMMY_SFP),
+ .name = "Realtek SFP PHY Mode",
+ .flags = PHY_IS_INTERNAL,
+ .probe = rtl822x_probe,
+ .get_features = rtlgen_sfp_get_features,
+ .config_aneg = rtlgen_sfp_config_aneg,
+ .read_status = rtlgen_sfp_read_status,
+ .suspend = genphy_suspend,
+ .resume = rtlgen_resume,
+ .read_page = rtl821x_read_page,
+ .write_page = rtl821x_write_page,
+ .read_mmd = rtl822x_read_mmd,
+ .write_mmd = rtl822x_write_mmd,
}, {
PHY_ID_MATCH_EXACT(0x001ccad0),
.name = "RTL8224 2.5Gbps PHY",
diff --git a/include/net/phy/realtek_phy.h b/include/net/phy/realtek_phy.h
new file mode 100644
index 00000000000..d683bc1b065
--- /dev/null
+++ b/include/net/phy/realtek_phy.h
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _REALTEK_PHY_H
+#define _REALTEK_PHY_H
+
+#define PHY_ID_RTL_DUMMY_SFP 0x001ccbff
+
+#endif /* _REALTEK_PHY_H */
--
2.52.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH net-next v2 2/2] r8169: add support for RTL8127ATF (Fiber SFP)
2026-01-10 15:12 [PATCH net-next v2 0/2] r8169: add support for RTL8127ATF (10G Fiber SFP) Heiner Kallweit
2026-01-10 15:14 ` [PATCH net-next v2 1/2] net: phy: realtek: add dummy PHY driver for RTL8127ATF Heiner Kallweit
@ 2026-01-10 15:15 ` Heiner Kallweit
2026-01-11 21:05 ` Fabio Baltieri
2026-01-10 18:48 ` [PATCH net-next v2 0/2] r8169: add support for RTL8127ATF (10G Fiber SFP) Jakub Kicinski
2026-01-13 3:30 ` patchwork-bot+netdevbpf
3 siblings, 1 reply; 9+ messages in thread
From: Heiner Kallweit @ 2026-01-10 15:15 UTC (permalink / raw)
To: Andrew Lunn, Andrew Lunn, Russell King - ARM Linux, Paolo Abeni,
Eric Dumazet, David Miller, Jakub Kicinski, Vladimir Oltean,
Michael Klein, Daniel Golle, Realtek linux nic maintainers,
Aleksander Jan Bajkowski, Fabio Baltieri
Cc: netdev@vger.kernel.org
RTL8127ATF supports a SFP+ port for fiber modules (10GBASE-SR/LR/ER/ZR and
DAC). The list of supported modes was provided by Realtek. According to the
r8127 vendor driver also 1G modules are supported, but this needs some more
complexity in the driver, and only 10G mode has been tested so far.
Therefore mainline support will be limited to 10G for now.
The SFP port signals are hidden in the chip IP and driven by firmware.
Therefore mainline SFP support can't be used here.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
v2:
- move realtek_phy.h to new include/net/phy/
---
drivers/net/ethernet/realtek/r8169_main.c | 89 ++++++++++++++++++++++-
1 file changed, 85 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
index 755083852ee..faf910ecf81 100644
--- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c
@@ -31,6 +31,7 @@
#include <linux/unaligned.h>
#include <net/ip6_checksum.h>
#include <net/netdev_queues.h>
+#include <net/phy/realtek_phy.h>
#include "r8169.h"
#include "r8169_firmware.h"
@@ -733,6 +734,7 @@ struct rtl8169_private {
unsigned supports_gmii:1;
unsigned aspm_manageable:1;
unsigned dash_enabled:1;
+ bool sfp_mode:1;
dma_addr_t counters_phys_addr;
struct rtl8169_counters *counters;
struct rtl8169_tc_offsets tc_offset;
@@ -1097,6 +1099,10 @@ static int r8168_phy_ocp_read(struct rtl8169_private *tp, u32 reg)
if (rtl_ocp_reg_failure(reg))
return 0;
+ /* Return dummy MII_PHYSID2 in SFP mode to match SFP PHY driver */
+ if (tp->sfp_mode && reg == (OCP_STD_PHY_BASE + 2 * MII_PHYSID2))
+ return PHY_ID_RTL_DUMMY_SFP & 0xffff;
+
RTL_W32(tp, GPHY_OCP, reg << 15);
return rtl_loop_wait_high(tp, &rtl_ocp_gphy_cond, 25, 10) ?
@@ -1154,6 +1160,46 @@ static void r8168_mac_ocp_modify(struct rtl8169_private *tp, u32 reg, u16 mask,
raw_spin_unlock_irqrestore(&tp->mac_ocp_lock, flags);
}
+static void r8127_sfp_sds_phy_reset(struct rtl8169_private *tp)
+{
+ 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));
+ usleep_range(10, 20);
+}
+
+static void r8127_sfp_init_10g(struct rtl8169_private *tp)
+{
+ int val;
+
+ r8127_sfp_sds_phy_reset(tp);
+
+ RTL_W16(tp, 0x233a, 0x801a);
+ RTL_W16(tp, 0x233e, (RTL_R16(tp, 0x233e) & ~0x3003) | 0x1000);
+
+ r8168_phy_ocp_write(tp, 0xc40a, 0x0000);
+ r8168_phy_ocp_write(tp, 0xc466, 0x0003);
+ r8168_phy_ocp_write(tp, 0xc808, 0x0000);
+ r8168_phy_ocp_write(tp, 0xc80a, 0x0000);
+
+ val = r8168_phy_ocp_read(tp, 0xc804);
+ r8168_phy_ocp_write(tp, 0xc804, (val & ~0x000f) | 0x000c);
+}
+
+static void rtl_sfp_init(struct rtl8169_private *tp)
+{
+ if (tp->mac_version == RTL_GIGA_MAC_VER_80)
+ r8127_sfp_init_10g(tp);
+}
+
+static void rtl_sfp_reset(struct rtl8169_private *tp)
+{
+ if (tp->mac_version == RTL_GIGA_MAC_VER_80)
+ r8127_sfp_sds_phy_reset(tp);
+}
+
/* Work around a hw issue with RTL8168g PHY, the quirk disables
* PHY MCU interrupts before PHY power-down.
*/
@@ -2308,6 +2354,36 @@ static void rtl8169_get_eth_ctrl_stats(struct net_device *dev,
le32_to_cpu(tp->counters->rx_unknown_opcode);
}
+static int rtl8169_set_link_ksettings(struct net_device *ndev,
+ const struct ethtool_link_ksettings *cmd)
+{
+ struct rtl8169_private *tp = netdev_priv(ndev);
+ struct phy_device *phydev = tp->phydev;
+ int duplex = cmd->base.duplex;
+ int speed = cmd->base.speed;
+
+ if (!tp->sfp_mode)
+ return phy_ethtool_ksettings_set(phydev, cmd);
+
+ if (cmd->base.autoneg != AUTONEG_DISABLE)
+ return -EINVAL;
+
+ if (!phy_check_valid(speed, duplex, phydev->supported))
+ return -EINVAL;
+
+ mutex_lock(&phydev->lock);
+
+ phydev->autoneg = AUTONEG_DISABLE;
+ phydev->speed = speed;
+ phydev->duplex = duplex;
+
+ rtl_sfp_init(tp);
+
+ mutex_unlock(&phydev->lock);
+
+ return 0;
+}
+
static const struct ethtool_ops rtl8169_ethtool_ops = {
.supported_coalesce_params = ETHTOOL_COALESCE_USECS |
ETHTOOL_COALESCE_MAX_FRAMES,
@@ -2327,7 +2403,7 @@ static const struct ethtool_ops rtl8169_ethtool_ops = {
.get_eee = rtl8169_get_eee,
.set_eee = rtl8169_set_eee,
.get_link_ksettings = phy_ethtool_get_link_ksettings,
- .set_link_ksettings = phy_ethtool_set_link_ksettings,
+ .set_link_ksettings = rtl8169_set_link_ksettings,
.get_ringparam = rtl8169_get_ringparam,
.get_pause_stats = rtl8169_get_pause_stats,
.get_pauseparam = rtl8169_get_pauseparam,
@@ -2435,6 +2511,9 @@ static void rtl8169_init_phy(struct rtl8169_private *tp)
tp->pci_dev->subsystem_device == 0xe000)
phy_write_paged(tp->phydev, 0x0001, 0x10, 0xf01b);
+ if (tp->sfp_mode)
+ rtl_sfp_init(tp);
+
/* We may have called phy_speed_down before */
phy_speed_up(tp->phydev);
@@ -4800,6 +4879,10 @@ static void rtl8169_down(struct rtl8169_private *tp)
phy_stop(tp->phydev);
+ /* Reset SerDes PHY to bring down fiber link */
+ if (tp->sfp_mode)
+ rtl_sfp_reset(tp);
+
rtl8169_update_counters(tp);
pci_clear_master(tp->pci_dev);
@@ -5459,13 +5542,11 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
}
tp->aspm_manageable = !rc;
- /* Fiber mode on RTL8127AF isn't supported */
if (rtl_is_8125(tp)) {
u16 data = r8168_mac_ocp_read(tp, 0xd006);
if ((data & 0xff) == 0x07)
- return dev_err_probe(&pdev->dev, -ENODEV,
- "Fiber mode not supported\n");
+ tp->sfp_mode = true;
}
tp->dash_type = rtl_get_dash_type(tp);
--
2.52.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH net-next v2 0/2] r8169: add support for RTL8127ATF (10G Fiber SFP)
2026-01-10 15:12 [PATCH net-next v2 0/2] r8169: add support for RTL8127ATF (10G Fiber SFP) Heiner Kallweit
2026-01-10 15:14 ` [PATCH net-next v2 1/2] net: phy: realtek: add dummy PHY driver for RTL8127ATF Heiner Kallweit
2026-01-10 15:15 ` [PATCH net-next v2 2/2] r8169: add support for RTL8127ATF (Fiber SFP) Heiner Kallweit
@ 2026-01-10 18:48 ` Jakub Kicinski
2026-01-10 20:03 ` Heiner Kallweit
2026-01-13 3:30 ` patchwork-bot+netdevbpf
3 siblings, 1 reply; 9+ messages in thread
From: Jakub Kicinski @ 2026-01-10 18:48 UTC (permalink / raw)
To: Heiner Kallweit
Cc: Andrew Lunn, Andrew Lunn, Russell King - ARM Linux, Paolo Abeni,
Eric Dumazet, David Miller, Vladimir Oltean, Michael Klein,
Daniel Golle, Realtek linux nic maintainers,
Aleksander Jan Bajkowski, Fabio Baltieri, netdev@vger.kernel.org
On Sat, 10 Jan 2026 16:12:30 +0100 Heiner Kallweit wrote:
> RTL8127ATF supports a SFP+ port for fiber modules (10GBASE-SR/LR/ER/ZR and
> DAC). The list of supported modes was provided by Realtek. According to the
> r8127 vendor driver also 1G modules are supported, but this needs some more
> complexity in the driver, and only 10G mode has been tested so far.
> Therefore mainline support will be limited to 10G for now.
> The SFP port signals are hidden in the chip IP and driven by firmware.
> Therefore mainline SFP support can't be used here.
> The PHY driver is used by the RTL8127ATF support in r8169.
> RTL8127ATF reports the same PHY ID as the TP version. Therefore use a dummy
> PHY ID.
Hi Heiner!
This series silently conflicts with Daniel's changes. I wasn't clear
whether the conclusion here:
https://lore.kernel.org/all/1261b3d5-3e09-4dd6-8645-fd546cbdce62@gmail.com/
is that we shouldn't remove the define or Daniel's changes are good
to go in.. Could y'all spell out for me what you expect?
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net-next v2 0/2] r8169: add support for RTL8127ATF (10G Fiber SFP)
2026-01-10 18:48 ` [PATCH net-next v2 0/2] r8169: add support for RTL8127ATF (10G Fiber SFP) Jakub Kicinski
@ 2026-01-10 20:03 ` Heiner Kallweit
2026-01-10 20:08 ` Daniel Golle
0 siblings, 1 reply; 9+ messages in thread
From: Heiner Kallweit @ 2026-01-10 20:03 UTC (permalink / raw)
To: Jakub Kicinski
Cc: Andrew Lunn, Andrew Lunn, Russell King - ARM Linux, Paolo Abeni,
Eric Dumazet, David Miller, Vladimir Oltean, Michael Klein,
Daniel Golle, Realtek linux nic maintainers,
Aleksander Jan Bajkowski, Fabio Baltieri, netdev@vger.kernel.org
On 1/10/2026 7:48 PM, Jakub Kicinski wrote:
> On Sat, 10 Jan 2026 16:12:30 +0100 Heiner Kallweit wrote:
>> RTL8127ATF supports a SFP+ port for fiber modules (10GBASE-SR/LR/ER/ZR and
>> DAC). The list of supported modes was provided by Realtek. According to the
>> r8127 vendor driver also 1G modules are supported, but this needs some more
>> complexity in the driver, and only 10G mode has been tested so far.
>> Therefore mainline support will be limited to 10G for now.
>> The SFP port signals are hidden in the chip IP and driven by firmware.
>> Therefore mainline SFP support can't be used here.
>> The PHY driver is used by the RTL8127ATF support in r8169.
>> RTL8127ATF reports the same PHY ID as the TP version. Therefore use a dummy
>> PHY ID.
>
> Hi Heiner!
>
> This series silently conflicts with Daniel's changes. I wasn't clear
> whether the conclusion here:
> https://lore.kernel.org/all/1261b3d5-3e09-4dd6-8645-fd546cbdce62@gmail.com/
> is that we shouldn't remove the define or Daniel's changes are good
> to go in.. Could y'all spell out for me what you expect?
I'm fine with replacing RTL_VND2_PHYSR with RTL_PHYSR, as proposed by Daniel.
However, as this isn't a fully trivial change, I'd like to avoid this change
in my series, and leave it to Daniel's series. Means he would have to add
the conversion of the call I just add.
Which series to apply first depends on whether Daniel has to send a new version,
or whether it's fine as-is. There was a number of comments, therefore I'm not
100% sure.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net-next v2 0/2] r8169: add support for RTL8127ATF (10G Fiber SFP)
2026-01-10 20:03 ` Heiner Kallweit
@ 2026-01-10 20:08 ` Daniel Golle
2026-01-10 22:30 ` Jakub Kicinski
0 siblings, 1 reply; 9+ messages in thread
From: Daniel Golle @ 2026-01-10 20:08 UTC (permalink / raw)
To: Heiner Kallweit
Cc: Jakub Kicinski, Andrew Lunn, Andrew Lunn,
Russell King - ARM Linux, Paolo Abeni, Eric Dumazet, David Miller,
Vladimir Oltean, Michael Klein, Realtek linux nic maintainers,
Aleksander Jan Bajkowski, Fabio Baltieri, netdev@vger.kernel.org
On Sat, Jan 10, 2026 at 09:03:05PM +0100, Heiner Kallweit wrote:
> On 1/10/2026 7:48 PM, Jakub Kicinski wrote:
> > On Sat, 10 Jan 2026 16:12:30 +0100 Heiner Kallweit wrote:
> >> RTL8127ATF supports a SFP+ port for fiber modules (10GBASE-SR/LR/ER/ZR and
> >> DAC). The list of supported modes was provided by Realtek. According to the
> >> r8127 vendor driver also 1G modules are supported, but this needs some more
> >> complexity in the driver, and only 10G mode has been tested so far.
> >> Therefore mainline support will be limited to 10G for now.
> >> The SFP port signals are hidden in the chip IP and driven by firmware.
> >> Therefore mainline SFP support can't be used here.
> >> The PHY driver is used by the RTL8127ATF support in r8169.
> >> RTL8127ATF reports the same PHY ID as the TP version. Therefore use a dummy
> >> PHY ID.
> >
> > Hi Heiner!
> >
> > This series silently conflicts with Daniel's changes. I wasn't clear
> > whether the conclusion here:
> > https://lore.kernel.org/all/1261b3d5-3e09-4dd6-8645-fd546cbdce62@gmail.com/
> > is that we shouldn't remove the define or Daniel's changes are good
> > to go in.. Could y'all spell out for me what you expect?
>
> I'm fine with replacing RTL_VND2_PHYSR with RTL_PHYSR, as proposed by Daniel.
> However, as this isn't a fully trivial change, I'd like to avoid this change
> in my series, and leave it to Daniel's series. Means he would have to add
> the conversion of the call I just add.
> Which series to apply first depends on whether Daniel has to send a new version,
> or whether it's fine as-is. There was a number of comments, therefore I'm not
> 100% sure.
Imho it makes sense to merge RTL8127ATF first and I'll resend my current
series. There was a typo in one of the commit messages, but more than that
I think it does make sense to merge the non-controveral hardware addition
before applying any potentially disruptive stuff which affects practically
all PHYs supported by the driver (doesn't mean that I expect any disruption
what-so-ever, but as a matter of principle it just seems right to do it
that way around).
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net-next v2 0/2] r8169: add support for RTL8127ATF (10G Fiber SFP)
2026-01-10 20:08 ` Daniel Golle
@ 2026-01-10 22:30 ` Jakub Kicinski
0 siblings, 0 replies; 9+ messages in thread
From: Jakub Kicinski @ 2026-01-10 22:30 UTC (permalink / raw)
To: Daniel Golle
Cc: Heiner Kallweit, Andrew Lunn, Andrew Lunn,
Russell King - ARM Linux, Paolo Abeni, Eric Dumazet, David Miller,
Vladimir Oltean, Michael Klein, Realtek linux nic maintainers,
Aleksander Jan Bajkowski, Fabio Baltieri, netdev@vger.kernel.org
On Sat, 10 Jan 2026 20:08:12 +0000 Daniel Golle wrote:
> > > This series silently conflicts with Daniel's changes. I wasn't clear
> > > whether the conclusion here:
> > > https://lore.kernel.org/all/1261b3d5-3e09-4dd6-8645-fd546cbdce62@gmail.com/
> > > is that we shouldn't remove the define or Daniel's changes are good
> > > to go in.. Could y'all spell out for me what you expect?
> >
> > I'm fine with replacing RTL_VND2_PHYSR with RTL_PHYSR, as proposed by Daniel.
> > However, as this isn't a fully trivial change, I'd like to avoid this change
> > in my series, and leave it to Daniel's series. Means he would have to add
> > the conversion of the call I just add.
> > Which series to apply first depends on whether Daniel has to send a new version,
> > or whether it's fine as-is. There was a number of comments, therefore I'm not
> > 100% sure.
>
> Imho it makes sense to merge RTL8127ATF first and I'll resend my current
> series. There was a typo in one of the commit messages, but more than that
> I think it does make sense to merge the non-controveral hardware addition
> before applying any potentially disruptive stuff which affects practically
> all PHYs supported by the driver (doesn't mean that I expect any disruption
> what-so-ever, but as a matter of principle it just seems right to do it
> that way around).
SG! Thanks for breaking the tie.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net-next v2 2/2] r8169: add support for RTL8127ATF (Fiber SFP)
2026-01-10 15:15 ` [PATCH net-next v2 2/2] r8169: add support for RTL8127ATF (Fiber SFP) Heiner Kallweit
@ 2026-01-11 21:05 ` Fabio Baltieri
0 siblings, 0 replies; 9+ messages in thread
From: Fabio Baltieri @ 2026-01-11 21:05 UTC (permalink / raw)
To: Heiner Kallweit
Cc: Andrew Lunn, Andrew Lunn, Russell King - ARM Linux, Paolo Abeni,
Eric Dumazet, David Miller, Jakub Kicinski, Vladimir Oltean,
Michael Klein, Daniel Golle, Realtek linux nic maintainers,
Aleksander Jan Bajkowski, netdev@vger.kernel.org
On Sat, Jan 10, 2026 at 04:15:32PM +0100, Heiner Kallweit wrote:
> RTL8127ATF supports a SFP+ port for fiber modules (10GBASE-SR/LR/ER/ZR and
> DAC). The list of supported modes was provided by Realtek. According to the
> r8127 vendor driver also 1G modules are supported, but this needs some more
> complexity in the driver, and only 10G mode has been tested so far.
> Therefore mainline support will be limited to 10G for now.
> The SFP port signals are hidden in the chip IP and driven by firmware.
> Therefore mainline SFP support can't be used here.
>
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Pulled and tested again, just in case
Tested-by: Fabio Baltieri <fabio.baltieri@gmail.com>
Cheers,
Fabio
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net-next v2 0/2] r8169: add support for RTL8127ATF (10G Fiber SFP)
2026-01-10 15:12 [PATCH net-next v2 0/2] r8169: add support for RTL8127ATF (10G Fiber SFP) Heiner Kallweit
` (2 preceding siblings ...)
2026-01-10 18:48 ` [PATCH net-next v2 0/2] r8169: add support for RTL8127ATF (10G Fiber SFP) Jakub Kicinski
@ 2026-01-13 3:30 ` patchwork-bot+netdevbpf
3 siblings, 0 replies; 9+ messages in thread
From: patchwork-bot+netdevbpf @ 2026-01-13 3:30 UTC (permalink / raw)
To: Heiner Kallweit
Cc: andrew, andrew+netdev, linux, pabeni, edumazet, davem, kuba,
vladimir.oltean, michael, daniel, nic_swsd, olek2, fabio.baltieri,
netdev
Hello:
This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Sat, 10 Jan 2026 16:12:30 +0100 you wrote:
> RTL8127ATF supports a SFP+ port for fiber modules (10GBASE-SR/LR/ER/ZR and
> DAC). The list of supported modes was provided by Realtek. According to the
> r8127 vendor driver also 1G modules are supported, but this needs some more
> complexity in the driver, and only 10G mode has been tested so far.
> Therefore mainline support will be limited to 10G for now.
> The SFP port signals are hidden in the chip IP and driven by firmware.
> Therefore mainline SFP support can't be used here.
> The PHY driver is used by the RTL8127ATF support in r8169.
> RTL8127ATF reports the same PHY ID as the TP version. Therefore use a dummy
> PHY ID.
>
> [...]
Here is the summary with links:
- [net-next,v2,1/2] net: phy: realtek: add dummy PHY driver for RTL8127ATF
https://git.kernel.org/netdev/net-next/c/c4277d21ab69
- [net-next,v2,2/2] r8169: add support for RTL8127ATF (Fiber SFP)
https://git.kernel.org/netdev/net-next/c/fef0f545511f
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-01-13 3:33 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-10 15:12 [PATCH net-next v2 0/2] r8169: add support for RTL8127ATF (10G Fiber SFP) Heiner Kallweit
2026-01-10 15:14 ` [PATCH net-next v2 1/2] net: phy: realtek: add dummy PHY driver for RTL8127ATF Heiner Kallweit
2026-01-10 15:15 ` [PATCH net-next v2 2/2] r8169: add support for RTL8127ATF (Fiber SFP) Heiner Kallweit
2026-01-11 21:05 ` Fabio Baltieri
2026-01-10 18:48 ` [PATCH net-next v2 0/2] r8169: add support for RTL8127ATF (10G Fiber SFP) Jakub Kicinski
2026-01-10 20:03 ` Heiner Kallweit
2026-01-10 20:08 ` Daniel Golle
2026-01-10 22:30 ` Jakub Kicinski
2026-01-13 3:30 ` patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox