Subject: [PATCH] OMAP4: clockdomain: Follow recommended enable sequence

From: [email-masked] (Rajendra Nayak)
Date: Fri, 01 Apr 2011 20:21:45 +0530

Hi Paul,

<snip>..
>>
>> In omap_hwmod.c:_enable(), what do you think about:
>>
>> 1. saving the current idle mode of the clockdomain,
>>
>> 2. forcing the clockdomain to software-supervised wakeup.
>>
>> 3. enabling clocks and waiting for the module as we currently do, then
>>
>> 4. switching the clockdomain's idle mode back to its original state?
>>
>> Seems like that would be a reasonable approach for the short term, at
>> least for drivers that have been converted to PM runtime.
>
> Ok, I'll try and get some RFC patches in these lines soon.

I tried some of what you were suggesting here and it seems to
work well, like you said, for the drivers which are converted
to PM runtime.

Now the issue seems to be, how do we handle the ones which
are *still* using clock framework to enable main clocks and
are yet to be converted to PM runtime.

One such, MMC, is showing me issues on OMAP4 even at boot
and causes a crash.

Its a different thing that some of these drivers which use
direct clock calls are working by fluke on OMAP4 since the
clock framework does not even wait for the modules to become
accessible after the clock enable.

I know the right way seems to be to get all these drivers
converted to PM runtime, but that might take sometime.

regards,
Rajendra