On 02.03.2019 15:11, Andrew Lunn wrote: > On Fri, Mar 01, 2019 at 07:14:20PM -0800, Florian Fainelli wrote: >> >> >> On 3/1/2019 2:54 AM, Jose Abreu wrote: >>> Currently phy_read_status() considers that either the PHY driver has the >>> read_status() callback or uses the generic callback. >>> >>> For C45 PHYs we need to use the gen10g_read_status() callback. >> The gen10g_ functions are deprecated and shouldn't be used in new code. Consider the (partially brand-new) genphy_c45_ functions instead. This should be ok because I think the two changes are material for net-next.
The gen10g functions belong to the old gen10g driver which knows about 10G only. I think sooner or later we'll replace it with a genc45 driver or similar. >> Right, so we could expect your C45 PHY driver to assign the read_status >> callback to gen10g_read_status() if it is appropriate. So far most of >> the 10g PHY drivers (cortina, marvell10g, aquantia) have to define their >> own read_status() callback to be feature complete. Unlike C22 PHYs that >> can really be driven with a simple generic PHY driver model for standard >> features, C45 PHYs seem to be quirky enough this does not work anymore. > > Hi Jose > > Does your PHY support 1000Base-T? If so you need read_status() because > the registers for that link mode don't appear to be standardized. > > Andrew > Heiner