Subject: [PATCH 3/3] ARM: OMAP: hwmod: Look for hwmod/module level context lost count if supported

From: [email-masked] (Rajendra Nayak)
Date: Fri, 02 Dec 2011 10:16:45 +0530

On Tuesday 29 November 2011 11:40 PM, Cousson, Benoit wrote:
> Hi Rajendra,
>
> Sorry for the delay, I kind of forgot your series :-(
>
> On 11/3/2011 11:54 AM, Nayak, Rajendra wrote:
>> Now that OMAP4 has hwmod/module level context lost counters, make
>> omap_hwmod_get_context_loss_count() return them on platforms where they
>> exist, else fall back on the pwrdm level counters for older platforms.
>>
>> Signed-off-by: Rajendra Nayak<[email-masked]>
>> ---
>> arch/arm/mach-omap2/omap_hwmod.c | 11 ++++++++---
>> 1 files changed, 8 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/arm/mach-omap2/omap_hwmod.c
>> b/arch/arm/mach-omap2/omap_hwmod.c
>> index ac17748..9d140c4 100644
>> --- a/arch/arm/mach-omap2/omap_hwmod.c
>> +++ b/arch/arm/mach-omap2/omap_hwmod.c
>> @@ -2658,9 +2658,14 @@ u32 omap_hwmod_get_context_loss_count(struct
>> omap_hwmod *oh)
>> struct powerdomain *pwrdm;
>> int ret = 0;
>>
>> - pwrdm = omap_hwmod_get_pwrdm(oh);
>> - if (pwrdm)
>> - ret = pwrdm_get_context_loss_count(pwrdm);
>> + if (oh->prcm.omap4.context_offs) {
>
> I don't think it is safe to use that, since this is an union.
> You do know what OMAP2 & 3 will put in that location.
> It might be zero, but who knows?

Thats true, I need to figure out a better way to identify
when a module level context count is supported and when its
at the pwrdm level. Will repost with a fix.

Thanks for the review.

>
>> + /* Support for per-hwmod context register */
>> + ret = oh->prcm.omap4.context_lost_counter;
>> + } else {
>> + pwrdm = omap_hwmod_get_pwrdm(oh);
>> + if (pwrdm)
>> + ret = pwrdm_get_context_loss_count(pwrdm);
>> + }
>>
>> return ret;
>> }
>
> Regards,
> Benoit