[PATCH net-next v2 3/3] net: phy: mediatek: add driver for built-in 2.5G ethernet PHY on MT7988
SkyLake Huang (黃啟澤)
SkyLake.Huang at mediatek.com
Tue May 13 03:12:04 PDT 2025
On Wed, 2025-02-19 at 09:33 +0000, Russell King (Oracle) wrote:
>
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
>
>
> On Wed, Feb 19, 2025 at 04:39:10PM +0800, Sky Huang wrote:
> > +static int mt798x_2p5ge_phy_config_init(struct phy_device *phydev)
> > +{
> > + struct pinctrl *pinctrl;
> > + int ret;
> > +
> > + /* Check if PHY interface type is compatible */
> > + if (phydev->interface != PHY_INTERFACE_MODE_INTERNAL)
> > + return -ENODEV;
> > +
> > + ret = mt798x_2p5ge_phy_load_fw(phydev);
> > + if (ret < 0)
> > + return ret;
>
> Firmware should not be loaded in the .config_init method. The above
> call will block while holding the RTNL which will prevent all other
> network configuration until the firmware has been loaded or the load
> fails.
>
> Thanks.
>
> --
> RMK's Patch system:
> https://urldefense.com/v3/__https://www.armlinux.org.uk/developer/patches/__;!!CTRNKA9wMg0ARbw!iV-1ViPFsUV-lLj7aIycan8nery6sQO3t6mkpdlb_GW8hswhxc4ejJozxqkU3s2WzxSizs4kfdC77yr7HGGRIuU$
> FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
Actually, I wrote fw loading flow in .probe. However, during boot time,
.probe is called at very early stage (about the first 2s after booting
into Linux Kernel). At that time, filesystem isn't ready yet and phy
driver can't locate /lib/firmware/mediatek/mt7988/i2p5ge-phy-pmb.bin.
Adding "-EPROBE_DEFER" doesn't help at this moment. I'm not sure how
aquantia and qt2025 drivers handle this.
But anyway, mt7988's built-in phy driver loads firmware in only a few
ms. This is via internal bus instead of MDIO bus, so loading speed is
much faster. Will this have any impact, if that's the case?
BRs,
Sky
More information about the Linux-mediatek
mailing list