Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1679935
| Path | csiph.com!aioe.org!bofh.it!news.nic.it!robomod |
|---|---|
| From | Lee Jones <lee.jones@linaro.org> |
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 2/3] clk: WARN_ON about to disable a critical clock |
| Date | Mon, 03 Jul 2017 14:00:01 +0200 |
| Message-ID | <tZ8bf-R2-1@gated-at.bofh.it> (permalink) |
| References | <qSj8l-1Wu-7@gated-at.bofh.it> <qSj8m-1Wu-17@gated-at.bofh.it> <r0NCi-1dh-9@gated-at.bofh.it> <tWWHg-8aL-23@gated-at.bofh.it> |
| X-Original-To | Dirk Behme <dirk.behme@de.bosch.com> |
| Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=Dm9MwH0p9JuJj/LePnKlqsJUsY1m8rbqIDuT8ZH90SI=; b=g7SMNOmwVox+6EgnX5V7zWWb2ZtliGFlV32UFvwxfITWpcUw1VxoCdcXPqJy5PDV1l LuEkU3ptXffVmCx39Z8Ru6+hHL0lXsxlEn3QVvLfJO5AiLLdSE6uDFl+g3wp3/ek80MO ElcpFetgRpoJ29ZusI9HkW3XcKtDs4vwsBFL0= |
| X-Google-Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=Dm9MwH0p9JuJj/LePnKlqsJUsY1m8rbqIDuT8ZH90SI=; b=J8pDYvYw5oV7aTFVokEDHnPfh5th0KCmcxnc1VMdyG627b/TkgYAjoYuW9d56eP6SG hqdR/8irVjnCX/nhfV2YW2P9Q8VF0/l4GKBbfpXF9APysdfT5VkOpjU/ByTTB7Gb+Uhr s2ICmA9MyHxGQZr29hmcOWi6u+aBiS2vI5LSY6tYjP+XCFZPRLp85Y+iUN1Fhfs6+eg9 lHf9afjjCftMrS/9EFbh4mQKfJ7HyQOR7TgN8iAo3A5eZT0subLuYeEiG1Sb4K9ZJAei rtXL5wEf2ayzINNwtT3Qc1daO7yvwfaK2I62IL7NTfbNxRbTFE4WS7DDXlADznShuvrT EX0w== |
| X-Gm-Message-State | AKS2vOyLAtVnrKJw8Nu4T7SLNSMn9CYcy1RJhNGJvjpsexNHSZ/Qi72G XQEF6IQew7LeyBd8 |
| X-Received | by 10.80.176.102 with SMTP id i93mr14510735edd.116.1499082807010; Mon, 03 Jul 2017 04:53:27 -0700 (PDT) |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8 |
| Content-Disposition | inline |
| Content-Transfer-Encoding | 8bit |
| User-Agent | NeoMutt/20170113 (1.7.2) |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 91 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | Michael Turquette <mturquette@baylibre.com>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@stlinux.com, s.hauer@pengutronix.de, sboyd@codeaurora.org, geert@linux-m68k.org, maxime.ripard@free-electrons.com, maxime.coquelin@st.com |
| X-Original-Date | Mon, 3 Jul 2017 12:53:24 +0100 |
| X-Original-Message-ID | <20170703115324.5re2d32bd3slutcb@dell> |
| X-Original-References | <1453127331-20616-1-git-send-email-lee.jones@linaro.org> <1453127331-20616-3-git-send-email-lee.jones@linaro.org> <20160211004327.26445.27416@quark.deferred.io> <d83d608a-246f-7b18-20d1-10a2060395e1@de.bosch.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1679935 |
Show key headers only | View raw
On Tue, 27 Jun 2017, Dirk Behme wrote: > On 11.02.2016 01:43, Michael Turquette wrote: > > Quoting Lee Jones (2016-01-18 06:28:50) > > > Signed-off-by: Lee Jones <lee.jones@linaro.org> > > > > Looks good to me. > > > > Regards, > > Mike > > > > > --- > > > drivers/clk/clk.c | 6 ++++++ > > > 1 file changed, 6 insertions(+) > > > > > > diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c > > > index 835cb85..178b364 100644 > > > --- a/drivers/clk/clk.c > > > +++ b/drivers/clk/clk.c > > > @@ -575,6 +575,9 @@ static void clk_core_unprepare(struct clk_core *core) > > > if (WARN_ON(core->prepare_count == 0)) > > > return; > > > + if (WARN_ON(core->prepare_count == 1 && core->flags & CLK_IS_CRITICAL)) > > > + return; > > > + > > > if (--core->prepare_count > 0) > > > return; > > > @@ -680,6 +683,9 @@ static void clk_core_disable(struct clk_core *core) > > > if (WARN_ON(core->enable_count == 0)) > > > return; > > > + if (WARN_ON(core->enable_count == 1 && core->flags & CLK_IS_CRITICAL)) > > > + return; > > > + > > > if (--core->enable_count > 0) > > > return; > > > I have a question regarding this patch, which is mainline meanwhile [1]: > > Having the following clock configuration: > > |--> child clk '1' (crit) > clk source --> parent clk 'A' (crit) -->| > |--> child clk '2' > > > Clock '2' might be used, or not. It might be disabled or not. It doesn't > matter. Clock '1' is not allowed to be disabled. Therefore its marked as > critical. > > Parent clock 'A' is marked as critical because its not allowed to be > disabled, even if the enable_count of all child clocks is 0. To avoid that > by disabling parent clock 'A' the child clock '1' is disabled, too, whats > not allowed as its marked as critical. > > > Now, child clock '2' is used and enabled & disabled continuously by a (SPI) > driver. What is ok. But: > > Disabling child clock '2' results in the attempt to disable parent clock > 'A', too, which has correct enable_count 1 (from enabling the child '2'). > What results > > a) in the WARN_ON output > > and > > b) enable_count of 'A' never decreases to 0. Being off by one after the > WARN_ON > > > It sounds like both is wrong for a configuration like above. Clock A still has one user, Clock 1. Why is that wrong? > Opinions or proposal how to fix/change this? > > > Best regards > > Dirk > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/clk/clk.c?id=2e20fbf592621b2c2aeddd82e0fa3dad053cce03 -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: [PATCH 2/3] clk: WARN_ON about to disable a critical clock Dirk Behme <dirk.behme@de.bosch.com> - 2017-06-27 13:20 +0200
Re: [PATCH 2/3] clk: WARN_ON about to disable a critical clock Lee Jones <lee.jones@linaro.org> - 2017-07-03 14:00 +0200
Re: [PATCH 2/3] clk: WARN_ON about to disable a critical clock Dirk Behme <dirk.behme@de.bosch.com> - 2017-07-03 14:10 +0200
Re: [PATCH 2/3] clk: WARN_ON about to disable a critical clock Lee Jones <lee.jones@linaro.org> - 2017-07-03 16:30 +0200
Re: [PATCH 2/3] clk: WARN_ON about to disable a critical clock Dirk Behme <dirk.behme@gmail.com> - 2017-07-03 17:30 +0200
Re: [PATCH 2/3] clk: WARN_ON about to disable a critical clock Lee Jones <lee.jones@linaro.org> - 2017-07-03 18:10 +0200
csiph-web