lkml.org 
[lkml]   [2020]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 415/639] arm64: dts: renesas: ebisu: Remove renesas, no-ether-link property
    Date
    From: Takeshi Kihara <takeshi.kihara.df@renesas.com>

    [ Upstream commit 90d4fa39d028f2e46c57c3d0e1b759e5287d98b7 ]

    It is incorrect to specify the no-ether-link property for the AVB device on
    the Ebisu board. This is because the property should only be used when a
    board does not provide a proper AVB_LINK signal. However, the Ebisu board
    does provide this signal.

    As per 87c059e9c39d ("arm64: dts: renesas: salvator-x: Remove renesas,
    no-ether-link property") this fixes a bug:

    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,
    - 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
    register which specifies AVB_LINK signal value (0 - at low level;
    1 - at high level).

    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.

    Fixes: 8441ef643d7d ("arm64: dts: renesas: r8a77990: ebisu: Enable EthernetAVB")
    Signed-off-by: Takeshi Kihara <takeshi.kihara.df@renesas.com>
    [simon: updated changelog]
    Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts | 1 -
    1 file changed, 1 deletion(-)

    diff --git a/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts b/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts
    index 2bc3a4884b003..470c2a35a5aff 100644
    --- a/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts
    +++ b/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts
    @@ -33,7 +33,6 @@
    &avb {
    pinctrl-0 = <&avb_pins>;
    pinctrl-names = "default";
    - renesas,no-ether-link;
    phy-handle = <&phy0>;
    phy-mode = "rgmii-txid";
    status = "okay";
    --
    2.20.1


    \
     
     \ /
      Last update: 2020-01-24 12:24    [W:4.047 / U:0.160 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site