All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicolin Chen <nicoleotsuka@gmail.com>
To: Jon Hunter <jonathanh@nvidia.com>
Cc: Thierry Reding <thierry.reding@gmail.com>,
	sboyd@codeaurora.org, pdeschrijver@nvidia.com,
	linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org,
	linux-clk@vger.kernel.org, mturquette@baylibre.com,
	pgaikwad@nvidia.com
Subject: Re: [PATCH v2] clk: tegra: Use readl_relaxed_poll_timeout_atomic in tegra210_clock_init
Date: Fri, 20 Oct 2017 11:24:07 -0700	[thread overview]
Message-ID: <20171020182406.GA12980@Asurada-Nvidia> (raw)
In-Reply-To: <731a934a-4e78-b96d-239f-14cf83079605@nvidia.com>

On Fri, Oct 20, 2017 at 11:20:24AM +0100, Jon Hunter wrote:
> 
> 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?

I am not sure if clearing the enable bit only would work. But the test
below should be able to verify the situation -- setting the PLLU_BASE
register to its reset value.

diff --git a/drivers/clk/tegra/clk-tegra210.c b/drivers/clk/tegra/clk-tegra210.c
index ea695c4..2279373 100644
--- a/drivers/clk/tegra/clk-tegra210.c
+++ b/drivers/clk/tegra/clk-tegra210.c
@@ -2602,6 +2602,7 @@ static int tegra210_init_pllu(void)
 	u32 reg;
 	int err;
 
+	writel_relaxed(0x1011902, clk_base + PLLU_BASE);
	tegra210_pllu_set_defaults(&pll_u_vco_params);
	/* skip initialization when pllu is in hw controlled mode */
	reg = readl_relaxed(clk_base + PLLU_BASE);

  reply	other threads:[~2017-10-20 18:24 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-15 19:10 [PATCH v2] clk: tegra: Use readl_relaxed_poll_timeout_atomic in tegra210_clock_init Nicolin Chen
2017-09-15 19:10 ` Nicolin Chen
     [not found] ` <1505502613-11801-1-git-send-email-nicoleotsuka-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-10-19  9:29   ` Nicolin Chen
2017-10-19  9:29     ` Nicolin Chen
2017-10-19  9:44     ` Thierry Reding
2017-10-19 18:42       ` Nicolin Chen
2017-10-20  0:19         ` Nicolin Chen
2017-10-20  0:19           ` Nicolin Chen
2017-10-20 10:20         ` Jon Hunter
2017-10-20 10:20           ` Jon Hunter
2017-10-20 18:24           ` Nicolin Chen [this message]
2017-10-20 11:38   ` Thierry Reding
2017-10-20 11:38     ` Thierry Reding

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171020182406.GA12980@Asurada-Nvidia \
    --to=nicoleotsuka@gmail.com \
    --cc=jonathanh@nvidia.com \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=pdeschrijver@nvidia.com \
    --cc=pgaikwad@nvidia.com \
    --cc=sboyd@codeaurora.org \
    --cc=thierry.reding@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.