On 03/09/2019 13:38, Tero Kristo wrote:
On 03/09/2019 13:01, Grygorii Strashko wrote:
On 03/09/2019 09:04, Keerthy wrote:
On 31/08/19 7:21 AM, keerthy wrote:
Hi Tony,
https://pastebin.ubuntu.com/p/pt7b3JPgRn/
NFS boot seems to be broken. Works well with 5.3-rc6.
I couldn't do the bisect yet.
Vignesh,
Thanks for the clue.
Tony,
[ 2.457707] gmac-clkctrl:0000:0: failed to enable
[ 2.462570] cpsw: probe of 48484000.ethernet failed with error -16
seems like gmac clkctrl failing to enable.
commit 1faa415c9c6e41a5350d3067307e7985b546ac3a
Author: Tony Lindgren <tony@xxxxxxxxxxx>
Date: Mon Aug 26 08:41:14 2019 -0700
ARM: dts: Add fck for cpsw mdio for omap variants
The above commit seems to be causing that. I tried experimenting
with removing the patch changes for dra7-dt alone.
The above errors seem to go away but then i see a crash:
https://pastebin.ubuntu.com/p/zBqGX959J2/
Could you please take a look at the above patch?
The log still contains "gmac-clkctrl:0000:0: failed to disable"
So, there is smth wrong with gmak clocks definitions
The clock definition itself looks fine, however the question is why does someone try to disable it while it
is apparently still used (by NFS that is)? If it fails to disable, clock core is trying to disable it, but the IDLEST bit does not switch for some reason.
I've tried to disable "ti,no-idle" in DT for dra7 cpsw and got below failure
[ 0.634530] gmac-clkctrl:0000:0: failed to enable 08070002
[ 0.634557] ti-sysc: probe of 48485200.target-module failed with error -16
so samthing is not right with GMAC clocks as it should probe without "ti,no-idle".
original place of the issue is:
cpsw_probe()
-> pm_runtime_get_sync()
-> sysc_runtime_resume()
-> sysc_enable_main_clocks()
Note. the sysc_init_module() for "ti,no-idle" case looks a little bit strange as there is
no guarantee that target-module or clock were enabled before.
Is the clock being disabled by clock core from clk_disable_unused?
The CPSW GMAC device hierarchy is:
target-module -> ethernet -> mdio
Both ethernet and mdio are using PM runtime and retrieving "fck" only for obtaining clock freq.
MDIO also uses autosuspend, but hence it's child of ethernet it can be considered always-on until ethernet module is active.
Ethernet module will be active once network intf is opened.
The failure with the DTS patch might be because the sequencing differences between hwmod based implementation to ti-sysc based one,
I guess GMAC has been switched over from hwmod to ti-sysc.
Right and this patch just reveals existing issue.
--
Best regards,
grygorii