* Re: [PATCH 4.6 69/81] gpio: zynq: initialize clock even without CONFIG_PM [not found] ` <CAKfKVtEFF=PvZ62N-Re9BX4iq+pCK5qchbp7N3TworkpRkAZZQ@mail.gmail.com> @ 2016-07-21 10:57 ` Helmut Grohne 2016-08-02 8:59 ` Shubhrajyoti Datta 0 siblings, 1 reply; 3+ messages in thread From: Helmut Grohne @ 2016-07-21 10:57 UTC (permalink / raw) To: Shubhrajyoti Datta; +Cc: linux-gpio, Shubhrajyoti Datta On Fri, Jul 08, 2016 at 10:23:07AM +0200, Shubhrajyoti Datta wrote: > A small issue > > Now it will be off by 1 ie we enable twice in probe. > > solution is that either there should be get_sync or clk_enable but not both. As far as I understand the inner workings of pm_runtime_get_sync this is not a problem. > > + ret = clk_prepare_enable(gpio->clk); > > + if (ret) { > > + dev_err(&pdev->dev, "Unable to enable clock.\n"); > > + return ret; > > + } > > This will now enable the first time. > > > > + pm_runtime_set_active(&pdev->dev); > the the pm core that it is enabled . This function sets pdev->dev.power.runtime_status to RPM_ACTIVE (via __update_runtime_status). > > pm_runtime_enable(&pdev->dev); > > ret = pm_runtime_get_sync(&pdev->dev); > > this will enable the second time. The bulk of the work is done by rpm_resume. Close to the top of the function the runtime_status field is compared to RPM_ACTIVE and if so, the resume operation is skipped. Is there any mistake in that analysis? Helmut ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 4.6 69/81] gpio: zynq: initialize clock even without CONFIG_PM 2016-07-21 10:57 ` [PATCH 4.6 69/81] gpio: zynq: initialize clock even without CONFIG_PM Helmut Grohne @ 2016-08-02 8:59 ` Shubhrajyoti Datta 2016-08-02 10:58 ` Helmut Grohne 0 siblings, 1 reply; 3+ messages in thread From: Shubhrajyoti Datta @ 2016-08-02 8:59 UTC (permalink / raw) To: Helmut Grohne; +Cc: linux-gpio, Shubhrajyoti Datta On Thu, Jul 21, 2016 at 4:27 PM, Helmut Grohne <h.grohne@intenta.de> wrote: > On Fri, Jul 08, 2016 at 10:23:07AM +0200, Shubhrajyoti Datta wrote: >> A small issue >> >> Now it will be off by 1 ie we enable twice in probe. >> >> solution is that either there should be get_sync or clk_enable but not both. > > As far as I understand the inner workings of pm_runtime_get_sync this is > not a problem. the issue is not with the runtime. > >> > + ret = clk_prepare_enable(gpio->clk); >> > + if (ret) { >> > + dev_err(&pdev->dev, "Unable to enable clock.\n"); >> > + return ret; >> > + } >> >> This will now enable the first time. >> > >> > + pm_runtime_set_active(&pdev->dev); >> the the pm core that it is enabled . > > This function sets pdev->dev.power.runtime_status to RPM_ACTIVE (via > __update_runtime_status). > >> > pm_runtime_enable(&pdev->dev); >> > ret = pm_runtime_get_sync(&pdev->dev); >> >> this will enable the second time. > > The bulk of the work is done by rpm_resume. Close to the top of the > function the runtime_status field is compared to RPM_ACTIVE and if so, > the resume operation is skipped. > > Is there any mistake in that analysis? I feel that if you can print the clk enable count in at boot things could be easy to understand. > > Helmut ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 4.6 69/81] gpio: zynq: initialize clock even without CONFIG_PM 2016-08-02 8:59 ` Shubhrajyoti Datta @ 2016-08-02 10:58 ` Helmut Grohne 0 siblings, 0 replies; 3+ messages in thread From: Helmut Grohne @ 2016-08-02 10:58 UTC (permalink / raw) To: Shubhrajyoti Datta; +Cc: linux-gpio@vger.kernel.org, Shubhrajyoti Datta On Tue, Aug 02, 2016 at 10:59:05AM +0200, Shubhrajyoti Datta wrote: > I feel that if you can print the clk enable count in at boot things > could be easy > to understand. I verifed this via two ways now (holds both for CONFIG_PM=y and CONFIG_PM=n): * zynq_gpio_runtime_resume is not called (as expected given my analysis). I simply added a printk to check that. * After boot, /sys/kernel/debug/clk/gpio_aper/clk_enable_count also confirms my analysis by yielding "1". Thus I conclude that there there is no bug. Neither in theory nor in practise. Helmut ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-08-02 10:58 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20160622223743.240652686@linuxfoundation.org> [not found] ` <20160622223746.777833462@linuxfoundation.org> [not found] ` <CAKfKVtEFF=PvZ62N-Re9BX4iq+pCK5qchbp7N3TworkpRkAZZQ@mail.gmail.com> 2016-07-21 10:57 ` [PATCH 4.6 69/81] gpio: zynq: initialize clock even without CONFIG_PM Helmut Grohne 2016-08-02 8:59 ` Shubhrajyoti Datta 2016-08-02 10:58 ` Helmut Grohne
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).