Hello! On 1/15/2018 11:41 AM, Simon Horman wrote:
Regarding Salvator-X and ULCB boards, Bogdan Mirea says:
Intended to reply to the original patches but due to high load haven't ever finished that email...
The present change is a bug fix for AVB link iteratively up/down. Steps to reproduce: - start AVB TX stream (Using aplay via MSE), - disconnect+reconnect the eth cable, - after a reconnection the eth connection goes iteratively up/down without user interaction, - this may heal after some seconds or even stay for minutes. As the documentation specifies, the "renesas,no-ether-link" option should be used when a board does not provide a proper AVB_LINK signal. There is no need for this option enabled on RCAR H3/M3 Salvator-X/XS and ULCB starter kits since the AVB_LINK is correctly handled by HW. Choosing to keep or remove the "renesas,no-ether-link" option will have impact on the code flow in the following ways: - keeping this option enabled may lead to unexpected behavior since the RX & TX are enabled/disabled directly from adjust_link function without any HW interrogation,
What does he mean by that? The adjust_link() is surely called as a result of interrogating the PHY...
- removing this option, the RX & TX will only be enabled/disabled after HW interrogation. The HW check is made through the LMON pin in PSR
s/pin/bit/.
register which specifies AVB_LINK signal value (0 - at low level; 1 - at high level).
Things are not that simple with this signal. The main cause of the issues is that it's connected to a LED control output of the Micrel PHY and that one may have different meaning -- e.g., it can well be blinking when some traffic happens (and IIRC that's might be a problem with KSZ9031, usually used with AVB). I remember I have tried without this option but finally decided to leave it specified as my schematics reading skills failed me in this case... I need to test this patch.
In conclusion, the present change is also a safety improvement because it removes the "renesas,no-ether-link" option leading to a proper way of detecting the link state based on HW interrogation and not on software heuristic. On examination of the documentation for the Eagle board this change seems necessary as AVB_LINK is documented as being connected. Fixes: 38525608952a ("arm64: dts: renesas: eagle: add EtherAVB support") Cc: Bogdan Mirea <Bogdan-Stefan_Mirea@xxxxxxxxxx> Cc: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx>
[...] MBR, Sergei