Thread (36 messages) 36 messages, 6 authors, 2016-03-04

Re: [PATCH v3 1/5] pwms: pwm-ti*: Remove support for local clock gating

From: Franklin S Cooper Jr. <hidden>
Date: 2016-03-02 19:42:01
Also in: linux-arm-kernel, linux-clk, linux-omap, linux-pwm, lkml


On 02/29/2016 05:20 PM, Tony Lindgren wrote:
* Franklin S Cooper Jr. [off-list ref] [160229 15:12]:
quoted
On 02/29/2016 04:55 PM, Tony Lindgren wrote:
quoted
* Franklin S Cooper Jr. [off-list ref] [160229 14:31]:
quoted
On 02/29/2016 04:04 PM, Tony Lindgren wrote:
quoted
Hmm but why are you also removing the pm_runtime calls? Those
actually do take care of gating the clocks via the interconnect
level code that is hwmod in this case.
I removed all PM runtime calls that revolved around
pwmss_submodule_state_change. Originally the driver would do
a pm_runtime_get_sync then call pwmss_submodule_state_change
and then immediately call pm_runtime_put_sync. Without
pwmss_submodule_state_change those calls would be
meaningless.  I also removed pm_runtime calls in error paths
that no longer existed.
Typically the interconnect level code can gate the clkctrl bit
for the module with PM runtime even with no other driver specific
registers. If you remove the pm_runtime calls, that does not
happen.
So the clocks should be unlocked when ever the IP registers are
being read/written or if the peripheral is being used for
example
the pwm signal is being generated. All these cases are already
being handled.

Using ecap driver as an example.

Pm_runtime_get_sync is called within ecap_pwm_enable when
the pwm signal is to be generated. Pm_runtime_put_sync is called
when the pwm signal is to be stopped.

When either the pwm signal polarity is set or pwm
configuration is made
then a pm_runtime_get_sync and pm_runtime_put_sync are
called within
the same function surrounding calls to the IP's registers.

Probe is calling pm_runtime_enable while remove is calling
pm_runtime_disable.
OK good to hear you have considered this. The above answers
my questions then thanks.
quoted
So the correct pm_runtime calls are being made from what I
can see.
I'm not sure I understand the concern since removing those
calls aren't
creating any kind of imbalance.
OK thanks for checking.
quoted
If I'm not addressing your concern please give me an example
of where
you see a possible issue.
No that's fine. I thought you're ripping out all of the the
pm_runtime based on just looking at the patch :)
quoted
quoted
Also, how do you know this change does not affect the other
SoC variants using the same driver?
I've tested these changes on AM335x GP and AM437x GP evms.
AM335x
and AM437x were the only other users of this driver. Sorry 
I should of
documented this in my cover-letter.
OK good to hear.

Thanks,

Tony
I know there are some comments regarding other patches in
this patchset but this patch is unrelated and can be pulled
in separately. Any objections to this or should I just
resubmit this patch by itself?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help