Messages in this thread | | | Date | Thu, 9 Mar 2023 17:36:25 +0100 | From | Andrew Lunn <> | Subject | Re: [PATCH net-next v2 4/6] net: mdio: scan bus based on bus capabilities for C22 and C45 |
| |
On Wed, Mar 08, 2023 at 07:34:40PM +0100, Klaus Kudielka wrote: > On Tue, 2023-03-07 at 21:35 +0100, Andrew Lunn wrote: > > > Summary: Still 4 calls to mdio_bus_scan_c22, but also *2* calls to mdio_bus_scan_c45, approx. 190*100 reads by the switch driver
I was wrong about something i said earlier. A C22 scan reads two registers for each of the 32 possible locations of a C22 PHY on the bus. A C45 scan is however much more expensive. It will read 30 time two registers for each of the 32 possible locations of a C45 PHY on the bus.
One things that could help is moving some code around a bit. Currently mv88e6xxx_mdios_register() is called at the end of mv88e6xxx_probe(). Try moving it to the beginning of mv88e6xxx_setup(). The call to mv88e6xxx_mdios_unregister() then need to move into mv88e6xxx_teardown().
Andrew
| |