[PATCH 1/2] ARM: OMAP3: PM: remove superfluous calls to pwrdm_clear_all_prev_pwrst()

Paul Walmsley
2012-01-31T07:15:25Z

Hi

just a few thoughts.

On Tue, 31 Jan 2012, Shilimkar, Santosh wrote:

> In this code the need is to clear only CPU and MPUPD, and hence they are
> explicitly cleared since the pre/post transition calls can be moved to PM_DEBUG
> in production kernels.
>
> But as you stated in current mainline kernel they are superfluous since the
> pre/post calls are not under PM debug. So I am ok either way

We're using the PM counters for the context restore skip optimization now
in pwrdm_get_context_loss_count(), so they've suddenly become needed even
when PM_DEBUG=n. But those counters are only needed when there are
devices in the CPU* powerdomains to track that can lose logic context. I
don't think that's the case on OMAP4, but you would probably know better
than I.

Another aspect is that previous powerstate accesses for the CPU*
powerdomains would theoretically go to the MPU local PRM rather than the
system PRCM. So they may actually return quickly. Haven't tested this.

The MPUSS powerdomain might be another case, though. There are a bunch of
devices in there: the local timers, APB debug devices, etc. We probably
have to worry about restoring context for some of those at some point.

- Paul