[PATCH 3/3] net: phy: mediatek: add support for built-in 2.5G ethernet PHY on MT7988

Andrew Lunn andrew at lunn.ch
Wed May 8 05:30:21 PDT 2024


> > > +ret = request_firmware(&fw, MT7988_2P5GE_PMB, dev);
> > > +if (ret) {
> > > +dev_err(dev, "failed to load firmware: %s, ret: %d\n",
> > > +MT7988_2P5GE_PMB, ret);
> > > +return ret;
> > > +}
> > 
> > This will block for userspace while holding phydev->lock and the
> > RTNL.
> > That blocks much of the networking APIs, which is not a good idea. If
> > you have a number of these PHYs, then the RTNL will serialise the
> > loading of firmware.
> > 
> I'm not sure I really get this. MT7988's internal 2.5Gphy is built
> inside SoC. We won't have a number of these PHYs.

How long does firmware download take? If you are holding RTNL you are
blocking all other network configuration. How many Ethernets does this
device have? If it is just one, it is not too bad, but if there is a
built in switch, you cannot be configuring that switch at the same
time firmware download is happening...

     Andrew



More information about the linux-arm-kernel mailing list