On Wed, May 13, 2020 at 08:01:40PM +0200, Andrew Lunn wrote: > > What would be the best place to do a test before the link is getting up? > > Can it be done in the phy core, or it should be done in the PHY driver? > > > > So far, no action except of logging these errors is needed. > > You could do it in the config_aneg callback.
In this case I get two test cycles if the test was requested from user space: from .cable_test_get_status and from .config_aneg > A kernel log entry is not very easy to use. You might want to see how > easy it is to send a cable test result to userspace. Anything which is > interested in this information can then listen for it. All the needed > code is there, you will just need to rearrange it a bit. Indeed. I discovered" ethtool --monitor" for me. And the code is some thing like this: ethnl_cable_test_alloc(phydev); phydev->drv->cable_test_start(phydev); usleep_range(100, 200); phydev->drv->cable_test_get_status(phydev, &finished); if (finished) ethnl_cable_test_finished(phydev); Beside, what do you think about new result codes: ETHTOOL_A_CABLE_RESULT_CODE_POLARITY - if cable polarity is wrong (- connected to +) ETHTOOL_A_CABLE_RESULT_CODE_ACTIVE_PARTNER - the link partner is active. The TJA1102 is able to detect it if partner link is master. Regards, Oleksij -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
signature.asc
Description: PGP signature