• Kevin Hilman's avatar
    Revert "ARM: OMAP3: PM: call pre/post transition per powerdomain" · e0e29fd7
    Kevin Hilman authored
    This reverts commit 58f0829b.
    
    Converstion to per-pwrdm per/post transition calls was a bit
    premature.  Only tracking MPU, PER & CORE in the idle path means we
    lose the accounting for all the other powerdomains which may also
    transition in idle.  On OMAP3, due to autodeps, several powerdomains
    transition along with MPU (e.g. DSS, USBHOST), and the accounting for
    these was lost with this patch.  Since the accounting includes the
    context loss counters, drivers for devices in those power domains
    would never notice context lost, so would likely hang after any
    off-mode transitions.
    
    This patch should be revisited when the upcoming clkdm/pwrmdm/voltdm
    use-counting seires is merged since then we can properly do accounting
    without relying on a call in the idle path.
    
    In addition, the original patch had another bug because the PER
    powerdomain accounting was not updated until after the GPIO resume
    hook is called.  Since gpio_resume_after_idle() checks the context
    loss count (which is not yet updated) it would not properly restore
    context, leaving the GPIO banks in an undefined state.
    
    Cc: Jean Pihet <jean.pihet@newoldbits.com>
    Cc: Tero Kristo <t-kristo@ti.com>
    Cc: Rajendra Nayak <rnayak@ti.com>
    Reported-by: default avatarPaul Walmsley <paul@pwsan.com>
    Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
    e0e29fd7
pm34xx.c 20.5 KB