Re: [PATCH v2] clk: tegra: Use readl_relaxed_poll_timeout_atomic in tegra210_clock_init

From: Jon Hunter
Date: Fri Oct 20 2017 - 06:22:36 EST



On 19/10/17 19:42, Nicolin Chen wrote:
> On Thu, Oct 19, 2017 at 11:44:22AM +0200, Thierry Reding wrote:
>>>> Below is the call trace of tegra210_init_pllu() function:
>>>> start_kernel()
>>>> -> time_init()
>>>> --> of_clk_init()
>>>> ---> tegra210_clock_init()
>>>> ----> tegra210_pll_init()
>>>> -----> tegra210_init_pllu()
>
>> I'm wondering why we're not seeing a splat for this. Usually the kernel
>> will warn if you sleep during atomic context. Does this mean we're just
>> not hitting that case?
>
> Yes.
>
>> readx_poll_timeout() has a might_sleep_if(), and
>> therefore it should always cause the splat.
>
> That's true as long as CONFIG_DEBUG_ATOMIC_SLEEP is enabled locally.
>
>> Any ideas why this has gone unnoticed for all this time?
>
> We can see in the tegra210_init_pllu() function that it'll not call
> tegra210_enable_pllu() if pllu is already enabled (by bootloader).

I was thinking that same and so I clobbered the PLLU enable bit with
u-boot, however, then the kernel appears to hang on boot when enabling
the PLL. So although this is probably a separate issue, I am curious if
you have booted the mainline with the PLLU disabled?

Cheers
Jon

--
nvpublic