• ShuoX Liu's avatar
    PM / Suspend: Add statistics debugfs file for suspend to RAM · 2a77c46d
    ShuoX Liu authored
    Record S3 failure time about each reason and the latest two failed
    devices' names in S3 progress.
    We can check it through 'suspend_stats' entry in debugfs.
    
    The motivation of the patch:
    
    We are enabling power features on Medfield. Comparing with PC/notebook,
    a mobile enters/exits suspend-2-ram (we call it s3 on Medfield) far
    more frequently. If it can't enter suspend-2-ram in time, the power
    might be used up soon.
    
    We often find sometimes, a device suspend fails. Then, system retries
    s3 over and over again. As display is off, testers and developers
    don't know what happens.
    
    Some testers and developers complain they don't know if system
    tries suspend-2-ram, and what device fails to suspend. They need
    such info for a quick check. The patch adds suspend_stats under
    debugfs for users to check suspend to RAM statistics quickly.
    
    If not using this patch, we have other methods to get info about
    what device fails. One is to turn on  CONFIG_PM_DEBUG, but users
    would get too much info and testers need recompile the system.
    
    In addition, dynamic debug is another good tool to dump debug info.
    But it still doesn't match our utilization scenario closely.
    1) user need write a user space parser to process the syslog output;
    2) Our testing scenario is we leave the mobile for at least hours.
       Then, check its status. No serial console available during the
       testing. One is because console would be suspended, and the other
       is serial console connecting with spi or HSU devices would consume
       power. These devices are powered off at suspend-2-ram.
    Signed-off-by: default avatarShuoX Liu <shuox.liu@intel.com>
    Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
    2a77c46d
main.c 28 KB