Re: [PATCH v2 01/11] clk: tegra: Switch to using critical clks
From: Peter De Schrijver
Date: Mon Jun 27 2016 - 04:35:46 EST
On Wed, Jun 22, 2016 at 02:16:30PM +0200, Thierry Reding wrote:
> * PGP Signed by an unknown key
>
> On Fri, May 27, 2016 at 04:38:04PM -0400, Rhyland Klein wrote:
> > Mark some of the required-to-be-enabled clks as critical clks. These
> > need to be kept on through the disabling of unused clks during init.
> > They may not get any reference before or after init, but are required
> > to be on, therefore let the core enable them.
> >
> > Signed-off-by: Rhyland Klein <rklein@xxxxxxxxxx>
> > ---
> > v2:
> > - Remove mention of HAND_OFF clks as they are not supported yet.
> >
> > drivers/clk/tegra/clk-tegra-periph.c | 21 ++++++++++++++-------
> > drivers/clk/tegra/clk-tegra-super-gen4.c | 12 +++++++-----
> > 2 files changed, 21 insertions(+), 12 deletions(-)
>
> I have some difficulty to follow why some of these clocks are critical.
> It might help if the commit message mentioned why each of these need to
> remain enabled forever, even if never used.
>
> Also, it's fairly unlikely that pll_p for example would ever get
> disabled because a bunch of others are derived from it. I'm also not
> quite convinced yet that it really is critical. What does it drive which
> isn't claimed by any drivers?
>
mselect and sclk are clocked from pll_p, however we don't have drivers for
those. Most other peripherals clocked from pll_p can be clockgated by their
driver which can lead to pll_p being turned off causing the system to hang.
Cheers,
Peter.