Skip to content
  • Srinivas Pandruvada's avatar
    ACPI / PM: Check low power idle constraints for debug only · 726fb6b4
    Srinivas Pandruvada authored
    For SoC to achieve its lowest power platform idle state a set of hardware
    preconditions must be met. These preconditions or constraints can be
    obtained by issuing a device specific method (_DSM) with function "1".
    Refer to the document provided in the link below.
    
    Here during initialization (from attach() callback of LPS0 device), invoke
    function 1 to get the device constraints. Each enabled constraint is
    stored in a table.
    
    The devices in this table are used to check whether they were in required
    minimum state, while entering suspend. This check is done from platform
    freeze wake() callback, only when /sys/power/pm_debug_messages attribute
    is non zero.
    
    If any constraint is not met and device is ACPI power managed then it
    prints the device information to kernel logs.
    
    Also if debug is enabled in acpi/sleep.c, the constraint table and state
    of each device on wake is dumped in kernel logs.
    
    Since pm_debug_messages_on setting is used as condition to check
    constraints outside kernel/power/main.c, pm_debug_messages_on is changed
    to a global variable.
    
    Link: http://www.uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf
    
    
    Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    726fb6b4