public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: Daniel Golle <daniel@makrotopia.org>
To: Fabio Baltieri <fabio.baltieri@gmail.com>
Cc: Heiner Kallweit <hkallweit1@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>, Andrew Lunn <andrew+netdev@lunn.ch>,
	Russell King - ARM Linux <linux@armlinux.org.uk>,
	Paolo Abeni <pabeni@redhat.com>,
	Eric Dumazet <edumazet@google.com>,
	David Miller <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	Vladimir Oltean <vladimir.oltean@nxp.com>,
	Michael Klein <michael@fossekall.de>,
	Realtek linux nic maintainers <nic_swsd@realtek.com>,
	Aleksander Jan Bajkowski <olek2@wp.pl>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: [PATCH net-next 1/2] net: phy: realtek: add PHY driver for RTL8127ATF
Date: Fri, 9 Jan 2026 01:26:00 +0000	[thread overview]
Message-ID: <aWBZKD32SEnZ-UUB@makrotopia.org> (raw)
In-Reply-To: <aWA7tSjnH7Kr1GCk@google.com>

On Thu, Jan 08, 2026 at 11:20:21PM +0000, Fabio Baltieri wrote:
> On Thu, Jan 08, 2026 at 10:56:14PM +0000, Daniel Golle wrote:
> > > +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);
> > 
> > This should be the same as
> > phy_read(phydev, MII_RESV2); /* on page 0 */
> > Please try.
> 
> Tried it on my setup, the two calls do indeed seem to return the same
> value.

Thank you for confirming that.

My understanding at this point is that only register 0x10 to 0x17 are
actually paged (ie. the 3 bits of freedom in the
RTL822X_VND2_TO_PAGE_REG apply to all pages), and that seems to apply for
all 1G, 2.5G and 5G (and 10G?) RealTek PHYs.

Hence we do not need to use paged register access for register 0x0...0xf
and 0x18..0x1e. And the paged operations we do have there right now can
all be described as registers on MDIO_MMD_VEND2. And maybe that's what
we should do then, implementing .read_mmd and .write_mmd similar to
rtl822xb_read_mmd and rtl822xb_write_mmd for all PHYs, with the only
difference that for older PHYs all MMDs other than MDIO_MMD_VEND2 have
to be emulated similar to rtlgen_read_mmd and rtl822x_read_mmd.

The current way we access MDIO_MMD_VEND2 on older PHYs also also fishy
as it depends on __mdiobus_c45_read as well as the PHY listening to the
broadcast address 0: Especially for 1GE PHYs not all MDIO controllers
are capable of Clause-45 access, and listening on address 0 works (at
best) if there is only one PHY in the bus doing that, and it can be
disabled via BIT(13) on PHYCR1. For internal PHYs of PCIe NICs this is
fine, of course, but for standalone PHYs not really.

tl;dr: drivers/net/phy/realtek/ has signed up for some serious
weight-loss program.

  reply	other threads:[~2026-01-09  1:26 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-08 20:25 [PATCH net-next 0/2] r8169: add support for RTL8127ATF (10G Fiber SFP) Heiner Kallweit
2026-01-08 20:27 ` [PATCH net-next 1/2] net: phy: realtek: add PHY driver for RTL8127ATF Heiner Kallweit
2026-01-08 22:56   ` Daniel Golle
2026-01-08 23:20     ` Fabio Baltieri
2026-01-09  1:26       ` Daniel Golle [this message]
2026-01-09 11:10         ` Heiner Kallweit
2026-01-10 14:59         ` Heiner Kallweit
2026-01-09  7:36     ` Heiner Kallweit
2026-01-09  9:43       ` Fabio Baltieri
2026-01-09  1:28   ` Jakub Kicinski
2026-01-09 11:18     ` Heiner Kallweit
2026-01-10 17:23     ` Heiner Kallweit
2026-01-10 18:57       ` Jakub Kicinski
2026-01-10 19:00         ` Jakub Kicinski
2026-01-10 20:40           ` Heiner Kallweit
2026-01-08 20:28 ` [PATCH net-next 2/2] r8169: add support for RTL8127ATF (Fiber SFP) Heiner Kallweit
2026-01-08 23:19   ` Fabio Baltieri

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aWBZKD32SEnZ-UUB@makrotopia.org \
    --to=daniel@makrotopia.org \
    --cc=andrew+netdev@lunn.ch \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=fabio.baltieri@gmail.com \
    --cc=hkallweit1@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=michael@fossekall.de \
    --cc=netdev@vger.kernel.org \
    --cc=nic_swsd@realtek.com \
    --cc=olek2@wp.pl \
    --cc=pabeni@redhat.com \
    --cc=vladimir.oltean@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox