[PATCH] net: ethernet: stmmac: dwmac-rk: make clk enablement first in powerup
David Miller
davem at davemloft.net
Wed Dec 21 10:25:51 PST 2016
From: Heiko Stuebner <heiko at sntech.de>
Date: Tue, 20 Dec 2016 17:17:06 +0100
> Right now the dwmac-rk tries to set up the GRF-specific speed and link
> options before enabling clocks, phys etc and on previous socs this works
> because the GRF is supplied on the whole by one clock.
>
> On the rk3399 however the GRF (General Register Files) clock-supply
> has been split into multiple clocks and while there is no specific
> grf-gmac clock like for other sub-blocks, it seems the mac-specific
> portions are actually supplied by the general mac clock.
>
> This results in hangs on rk3399 boards if the driver is build as module.
> When built in te problem of course doesn't surface, as the clocks
> are of course still on at the stage before clock_disable_unused.
>
> To solve this, simply move the clock enablement to the first position
> in the powerup callback. This is also a good idea in general to
> enable clocks before everything else.
>
> Tested on rk3288, rk3368 and rk3399 the dwmac still works on all of them.
>
> Signed-off-by: Heiko Stuebner <heiko at sntech.de>
Applied, thank you.
More information about the Linux-rockchip
mailing list