• Kevin Hilman's avatar
    OMAP: timekeeping: time should not stop during suspend · d92cfcbe
    Kevin Hilman authored
    During suspend, the kernel timekeeping subsystem is shut down.  Before
    suspend and upon resume, it uses a weak function
    read_persistent_clock() to determine the amount of time that elapsed
    during suspend.
    
    This function was not implemented on OMAP, so from the timekeeping
    subsystem perspective (and thus userspace as well) it appeared that no
    time elapsed during suspend.
    
    This patch uses the 32k sync timer as a the persistent clock.
    
    NOTE: This does *NOT* fully handle wrapping of the 32k sync timer, so
          more than one wrapping of the 32k sync timer during suspend may
          cause problems.  Also note there are not interrupts when the 32k
          sync timer wraps, so something else has to be done.
    Reported-by: default avatarJon Hunter <jon-hunter@ti.com>
    Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
    d92cfcbe
common.c 8.07 KB