TK1 boot time frequency: warnings and failure to set max clock frequency

Hi all,

I was trying to obtain a faster boot time. To do so, I followed this post CPU Clock frequency at boot time - Nvidia Jetson TK1 - Jetson TK1 - NVIDIA Developer Forums and configured the kernel with the relevant option “CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y”.

However, during boot I saw a lot of warnings, and the boot time actually went up!

Example of warning:

[    7.227089] cpu-tegra: Failed to set cpu frequency to 1963500 kHz
[    7.233232] ------------[ cut here ]------------
[    7.237867] WARNING: at /home/build/yocto/build-safeboot/tmp/work-shared/horus-revB/kernel-source/arch/arm/mach-tegra/tegra12_clocks.c:15)
[    7.253762] Increasing CPU rate while regulator is not ready is not allowed
[    7.260730] Modules linked in:
[    7.263839] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W    3.10.40+g7300b2c #1
[    7.271600] [<c0016774>] (unwind_backtrace+0x0/0x134) from [<c0012f9c>] (show_stack+0x18/0x1c)
[    7.280230] [<c0012f9c>] (show_stack+0x18/0x1c) from [<c006554c>] (warn_slowpath_common+0x5c/0x74)
[    7.289197] [<c006554c>] (warn_slowpath_common+0x5c/0x74) from [<c006559c>] (warn_slowpath_fmt+0x38/0x48)
[    7.298779] [<c006559c>] (warn_slowpath_fmt+0x38/0x48) from [<c00470f4>] (tegra12_cpu_clk_set_rate+0x17c/0x4d8)
[    7.308885] [<c00470f4>] (tegra12_cpu_clk_set_rate+0x17c/0x4d8) from [<c002790c>] (clk_set_rate_locked+0xe4/0x2fc)
[    7.319239] [<c002790c>] (clk_set_rate_locked+0xe4/0x2fc) from [<c00437fc>] (tegra12_cpu_cmplx_clk_set_rate+0x50/0xc0)
[    7.329946] [<c00437fc>] (tegra12_cpu_cmplx_clk_set_rate+0x50/0xc0) from [<c002790c>] (clk_set_rate_locked+0xe4/0x2fc)
[    7.340646] [<c002790c>] (clk_set_rate_locked+0xe4/0x2fc) from [<c0027b9c>] (clk_set_rate+0x78/0x1c8)
[    7.349876] [<c0027b9c>] (clk_set_rate+0x78/0x1c8) from [<c004a958>] (tegra_update_cpu_speed+0x170/0x310)
[    7.359467] [<c004a958>] (tegra_update_cpu_speed+0x170/0x310) from [<c004aed8>] (tegra_cpu_set_speed_cap_locked+0x8c/0xbc)
[    7.370515] [<c004aed8>] (tegra_cpu_set_speed_cap_locked+0x8c/0xbc) from [<c004b4c0>] (tegra_target+0x74/0x90)
[    7.380526] [<c004b4c0>] (tegra_target+0x74/0x90) from [<c05b700c>] (__cpufreq_driver_target+0xdc/0x2f0)
[    7.390014] [<c05b700c>] (__cpufreq_driver_target+0xdc/0x2f0) from [<c05badc8>] (cpufreq_governor_performance+0x50/0x6c)
[    7.400894] [<c05badc8>] (cpufreq_governor_performance+0x50/0x6c) from [<c05b8764>] (__cpufreq_governor+0x98/0x22c)
[    7.411341] [<c05b8764>] (__cpufreq_governor+0x98/0x22c) from [<c05b8bbc>] (__cpufreq_set_policy+0x2c4/0x354)
[    7.421261] [<c05b8bbc>] (__cpufreq_set_policy+0x2c4/0x354) from [<c05b8d38>] (cpufreq_update_policy+0xec/0x17c)
[    7.431449] [<c05b8d38>] (cpufreq_update_policy+0xec/0x17c) from [<c0b77a50>] (cpufreq_stats_init+0x78/0xe4)
[    7.441282] [<c0b77a50>] (cpufreq_stats_init+0x78/0xe4) from [<c0008730>] (do_one_initcall+0xdc/0x198)
[    7.450602] [<c0008730>] (do_one_initcall+0xdc/0x198) from [<c0b3cbe4>] (kernel_init_freeable+0x13c/0x1dc)
[    7.460271] [<c0b3cbe4>] (kernel_init_freeable+0x13c/0x1dc) from [<c08087ec>] (kernel_init+0x14/0x168)
[    7.469616] [<c08087ec>] (kernel_init+0x14/0x168) from [<c000f118>] (ret_from_fork+0x14/0x20)
[    7.478150] ---[ end trace 23db40cd45bd62a6 ]---

I do understand the nature of the error (regulator not being ready), but how do I achieve a faster boot if the regulator is not ready? Is there something else to tweak?

I’m working on a custom distro built with Yocto, kernel sources are L4T 21.5.

Thanks!

An others failed before this WARNING?
Try to check if the PMIC ic initialize before the set cpu rate.

EDIT: Removed the content because the [code] tags seem to break with the full dmesg log

EDIT: I’ve retried by checking the preview, it seemed ok over there but then it broke again. sorry

Hi ShaneCCC,

I can’t seem to find much information on the PMIC in the log, it seems the AS3722 (if that’s the PMIC) comes online before, but apart from that I wouldn’t know where to look.

If you want, here is the full boot log, got from the serial console: [url]https://pastebin.com/TmsymXDg[/url]

Note that this is happening on a custom board, kernel is 3.10.40 with a patch applied to g_ether module, and compiled with gcc 4.9. This is probably quite far from standard jetson-tk1 deployment, but if you have some ideas that could help me debug the issue.

Thanks!

Hi ShaneCCC,

were you able to find anything related to the issue? Is there any way I can help?

Thanks