From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934055AbcAUJWI (ORCPT ); Thu, 21 Jan 2016 04:22:08 -0500 Received: from gloria.sntech.de ([95.129.55.99]:53942 "EHLO gloria.sntech.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750878AbcAUJWE (ORCPT ); Thu, 21 Jan 2016 04:22:04 -0500 From: Heiko Stuebner To: Xing Zheng Cc: linux-rockchip@lists.infradead.org, keescook@google.com, leozwang@google.com, Michael Turquette , Stephen Boyd , linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] clk: rockchip: rk3036: Add apll as the critical clock Date: Thu, 21 Jan 2016 10:21:50 +0100 Message-ID: <7538210.fX6mmzZ75v@phil> User-Agent: KMail/4.14.10 (Linux/4.3.0-1-amd64; KDE/4.14.14; x86_64; ; ) In-Reply-To: <1453279037-23971-1-git-send-email-zhengxing@rock-chips.com> References: <1453279037-23971-1-git-send-email-zhengxing@rock-chips.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Xing, Am Mittwoch, 20. Januar 2016, 16:37:17 schrieb Xing Zheng: > The apll may be closed if there are some child clock nodes below > it when the device startup. Therefore, the apll should be keep > critical. > > The apll tree like this: > pll_apll > apll > armclk > pclk_dbg > aclk_core_pre > aclk_hvec > uart_pll_clk > uart2_src > uart2_frac > uart1_src > uart1_frac > uart0_src > uart0_frac can you find out which of those clocks does cause your hang? Because things like the uart-clocks for example should be handled by their driver already, at the time the clk_disable_unused runs(). So I'd really like the critical clock to be the actually needed clock. Thanks Heiko > Signed-off-by: Xing Zheng > --- > > drivers/clk/rockchip/clk-rk3036.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/clk/rockchip/clk-rk3036.c > b/drivers/clk/rockchip/clk-rk3036.c index ebce980..483913b 100644 > --- a/drivers/clk/rockchip/clk-rk3036.c > +++ b/drivers/clk/rockchip/clk-rk3036.c > @@ -425,6 +425,7 @@ static struct rockchip_clk_branch > rk3036_clk_branches[] __initdata = { }; > > static const char *const rk3036_critical_clocks[] __initconst = { > + "apll", > "aclk_cpu", > "aclk_peri", > "hclk_peri",