> 2. Auto-Negotiation with PHY devices connected to the GMAC ports. > The device uses a standard master Serial Management Interface for reading > from/writing to the PHY > registers. In addition, the PHY polling unit performs Auto-Negotiation status > update with PHY devices attached > to the Network ports via the Master SMI Interface. > The device polls the Status register of each PHY in a round-robin manner. > If the device detects a change in the link from down to up on 1 of the ports, > it performs a series of > register reads from the PHY and updates the Auto-Negotiation results in the > device's registers. The > Port MAC Status register is updated with these results only if > Auto-Negotiation is enabled.
Hi Stefan That is what i was afraid off. How clever is this phy polling hardware? e.g. Say somebody reads the PHY temperature sensor: commit 0b04680fdae464ee51409b8cb36005f6ef8bd689 Author: Andrew Lunn <[email protected]> Date: Fri Jan 20 01:37:49 2017 +0100 phy: marvell: Add support for temperature sensor Some Marvell PHYs have an inbuilt temperature sensor. Add hwmon support for this sensor. There are two different variants. The simpler, older chips have a 5 degree accuracy. The newer devices have 1 degree accuracy. Signed-off-by: Andrew Lunn <[email protected]> Signed-off-by: David S. Miller <[email protected]> This requires changing the PHY page to 0x1a. Any reads the polling unit does at that time are going to get registers from page 0x1a, not 0x0. And there are other examples where the page may change, e.g. configuring WOL, LEDs. Cable test is not yet supported, but it is on my todo list. In order to safely read/write the PHY, you need to hold the PHY mutex. Unless the hardware is very smart, please don't enable this. Let the phylib and the appropriate PHY driver do the work. Andrew
