• Michael Holzheu's avatar
    [S390] pm: power management support for SCLP drivers. · 62b74942
    Michael Holzheu authored
    The SCLP base driver defines a new notifier call back for all upper level SCLP
    drivers, like the SCLP console, etc. This guarantees that in suspend first the
    upper level drivers are suspended and afterwards the SCLP base driver. For
    resume it is the other way round. The SCLP base driver itself registers a
    new platform device at the platform bus and gets PM notifications via
    the dev_pm_ops.
    
    In suspend, the SCLP base driver switches off the receiver and sender mask
    This is done in sclp_deactivate(). After suspend all new requests will be
    rejected with -EIO and no more interrupts will be received, because the masks
    are switched off. For resume the sender and receiver masks are reset in
    the sclp_reactivate() function.
    
    When the SCLP console is suspended, all new messages are cached in the
    sclp console buffers. In resume, all the cached messages are written to the
    console. In addition to that we have an early resume function that removes
    the cached messages from the suspend image.
    Signed-off-by: default avatarMichael Holzheu <holzheu@de.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    62b74942
sclp_con.c 7.93 KB