[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20211027082126.57dab8fc@sal.lan>
Date: Wed, 27 Oct 2021 08:21:26 +0100
From: Mauro Carvalho Chehab <mchehab+huawei@...nel.org>
To: Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>
Cc: linuxarm@...wei.com, mauro.chehab@...wei.com,
Manivannan Sadhasivam <mani@...nel.org>,
linux-clk@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/2] clk: fix the need of booking clk_ignore_unused=true
on embedded devs
Stephen/Michael,
Gentile ping.
Regards,
Mauro
Em Thu, 7 Oct 2021 14:06:53 +0200
Mauro Carvalho Chehab <mchehab+huawei@...nel.org> escreveu:
> Currently, the only way to boot a Kernel with drivers built as modules on embedded
> devices like HiKey 970 is to pass clk_ignore_unused=true as a modprobe parameter.
>
> There are two separate issues:
>
> 1. the clk's core calls clk_disable_unused() too early. By the time this
> function is called, only the builtin drivers were already probed/initialized.
> Drivers built as modules will only be probed afterwards.
>
> This cause a race condition and boot instability, as the clk core will try
> to disable clocks while the drivers built as modules are still being
> probed and initialized.
>
> I suspect that the same problem used to happen at the regulator's core,
> as there's a code that waits for 30 seconds before disabling unused
> regulators;
>
> 2. there are some gate clocks defined at HiKey 970 that should always be on,
> as otherwise the system will hang, or the filesystem I/O will stop.
>
> Ps.:
> I submitted already 3 or 4 versions of patches for HiKey 970 clock, but
> they're all unreliable, due to the race conditions at the clk core due to (1).
>
> Patch 1 solves the issue with the clk core.
> Patch 2 solves the HiKey 970 specific issues.
>
> Mauro Carvalho Chehab (2):
> clk: wait for extra time before disabling unused clocks
> clk: clk-hi3670: mark some clocks as CLK_IS_CRITICAL
>
> drivers/clk/clk.c | 51 +++++++++++++++++++-----------
> drivers/clk/hisilicon/clk-hi3670.c | 24 +++++++-------
> 2 files changed, 44 insertions(+), 31 deletions(-)
>
Powered by blists - more mailing lists