Hi Russell, On 13/01/2026 19:44, Russell King (Oracle) wrote: > On Tue, Jan 13, 2026 at 09:16:29AM +0100, Maxime Chevallier wrote: >> Hi, >> >> On 13/01/2026 08:43, Maxime Chevallier wrote: >>> In ucc_geth's .mac_config(), we configure the TBI block represented by a >>> struct phy_device that we get from firmware. >>> >>> While porting to phylink, a check was missed to make sure we don't try >>> to access the TBI PHY if we can't get it. Let's add it and return early >>> in case of error >>> >>> Reported-by: kernel test robot <[email protected]> >>> Reported-by: Dan Carpenter <[email protected]> >>> Closes: https://lore.kernel.org/r/[email protected]/ >>> Fixes: 53036aa8d031 ("net: freescale: ucc_geth: phylink conversion") >>> Signed-off-by: Maxime Chevallier <[email protected]> >> >> Heh that's what I get from sending patches while having mild fever, the >> patch title is all wrong and should be : >> >> net: freescale: ucc_geth: Return early when TBI PHY can't be found >> >> I'll wait for the 24h cooldown, grab some honey + milk and resend after :) > > A question - based on dwmac: > > When implementing dwmac to support 1000base-X, the dwmac doesn't > implement the _full_ 1000base-X, but only up to the PCS. The PCS > provides a TBI interface to the SerDes PHY provided by the SoC > designer which acts as the PMA layer. > > The talk here of TBI makes me wonder whether the same thing is going > on with ucc_geth. Is the "TBI PHY" in fact the SerDes ?
Yeah I think it is indeed. > Traditionally, we've represented the SerDes using drivers/phy rather > than the drivers/net/phy infrastructure, mainly because implementations > hvaen't provided anything like an 802.3 PHY register set, but moreover > because the SerDes tends to be generic across ethernet, PCIe, USB, SATA > etc (basically, anything that is a high speed balanced pair serial > communication) and thus the "struct phy" from drivers/phy can be used > by any of these subsystems. > True, and I completely agree with that. The reason I didn't touch that when porting to phylink is that the device I'm using, that has a Motorola/Freescale/NXP MPC832x, doesn't have that TBI/RTBI block, so I can't test that at all should we move to a more modern SerDes driver (modern w.r.t when this driver was written) :( Maxime
