• Vasant Hegde's avatar
    powerpc/pseries: Do not initiate shutdown when system is running on UPS · 90a9b102
    Vasant Hegde authored
    As per PAPR we have to look for both EPOW sensor value and event
    modifier to identify the type of event and take appropriate action.
    
    In LoPAPR v1.1 section 10.2.2 includes table 136 "EPOW Action Codes":
    
      SYSTEM_SHUTDOWN 3
    
      The system must be shut down. An EPOW-aware OS logs the EPOW error
      log information, then schedules the system to be shut down to begin
      after an OS defined delay internal (default is 10 minutes.)
    
    Then in section 10.3.2.2.8 there is table 146 "Platform Event Log
    Format, Version 6, EPOW Section", which includes the "EPOW Event
    Modifier":
    
      For EPOW sensor value = 3
      0x01 = Normal system shutdown with no additional delay
      0x02 = Loss of utility power, system is running on UPS/Battery
      0x03 = Loss of system critical functions, system should be shutdown
      0x04 = Ambient temperature too high
      All other values = reserved
    
    We have a user space tool (rtas_errd) on LPAR to monitor for
    EPOW_SHUTDOWN_ON_UPS. Once it gets an event it initiates shutdown
    after predefined time. It also starts monitoring for any new EPOW
    events. If it receives "Power restored" event before predefined time
    it will cancel the shutdown. Otherwise after predefined time it will
    shutdown the system.
    
    Commit 79872e35 ("powerpc/pseries: All events of
    EPOW_SYSTEM_SHUTDOWN must initiate shutdown") changed our handling of
    the "on UPS/Battery" case, to immediately shutdown the system. This
    breaks existing setups that rely on the userspace tool to delay
    shutdown and let the system run on the UPS.
    
    Fixes: 79872e35 ("powerpc/pseries: All events of EPOW_SYSTEM_SHUTDOWN must initiate shutdown")
    Cc: stable@vger.kernel.org # v4.0+
    Signed-off-by: default avatarVasant Hegde <hegdevasant@linux.vnet.ibm.com>
    [mpe: Massage change log and add PAPR references]
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20200820061844.306460-1-hegdevasant@linux.vnet.ibm.com
    90a9b102
ras.c 23.2 KB