Thread (15 messages) 15 messages, 4 authors, 2011-04-21
STALE5552d

[PATCH] OMAP4: clockdomain: Follow recommended enable sequence

From: paul@pwsan.com (Paul Walmsley)
Date: 2011-03-09 21:44:02
Also in: linux-omap

(cc'ing Tero also)

Hi Rajendra

On Wed, 9 Mar 2011, Rajendra Nayak wrote:
On Wednesday 09 March 2011 09:20 AM, Paul Walmsley wrote:
quoted
On Fri, 4 Mar 2011, Rajendra Nayak wrote:
PRCM waking up the module's clockdomains when in hardware-supervised
and INACTIVE, atleast does not seem to be true for OMAP4 and does seem
to be documented atleast in the func specs (need to see if its
in TRM, else I will raise a request to include it) Chapter 11 to 23,
Section Chapter#.5.2.1: Enabling one <clockdomain name> module after
power-on-reset.
This seems to suggest that the clockdomains have to be force woken-up
using SW_WKUP, and can then be programmed in HW_AUTO once the module
is accessible.
From what I know this was true on OMAP3 as well and maybe on OMAP2,
and thinking of why we might not have seen any issues with them, I
realized, because of the autodeps of all clockdomains with MPU, they
would never be in INACTIVE while a module is being enabled, even if
the clockdomain was in HW_AUTO.
OK, maybe this is why the autodeps were needed, because otherwise we would 
need to wake the clockdomain up before enabling the clocks.  Something to 
experiment with for 2.6.40.
hmm.. I am not sure if this is a TRM bug, but FWIK, no clockdomains
should go to INACTIVE without taking into account the target idle
state. All targets should be sent a idlereq and only on a idleack from
all of them, should the clockdomain transition to INACTIVE. If the
clockdomain hits INACTIVE just based on its initiators asserting
standby, it does not seem right.
Ok, probably just a TRM bug then.  Guess we'll find out when we start 
removing the autodeps...
Btw, the patch does not change the behaviour/sequence followed on OMAP3,
it just affects OMAP4.
Until the autodeps get removed :-)
Since no clockdomains on OMAP4 were programmed in HW_AUTO untill now,
we did not have any issues, but with the recent series from Santosh
(which adds mpu ret/off support in idle/suspend) programming the
clockdomains to HW_AUTO did show issues/aborts, and this patch
fixes them.
Okay, I'll queue this for 2.6.39.

Thanks for thinking through the module enable sequence with me,


- Paul
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help