• Dasaratharaman Chandramouli's avatar
    misc: mic: Enable OSPM suspend and resume support. · af190494
    Dasaratharaman Chandramouli authored
    This patch enables support for OSPM suspend and resume in the MIC
    driver. During a host suspend event, the driver performs an
    orderly shutdown of the cards if they are online. Upon resume, any
    cards that were previously online before suspend are rebooted.
    The driver performs an orderly shutdown of the card primarily to
    ensure that applications in the card are terminated and mounted
    devices are safely un-mounted before the card is powered down in
    the event of an OSPM suspend.
    
    The driver makes use of the MIC daemon to accomplish OSPM suspend
    and resume. The driver registers a PM notifier per MIC device.
    The devices get notified synchronously during PM_SUSPEND_PREPARE and
    PM_POST_SUSPEND phases.
    
    During the PM_SUSPEND_PREPARE phase, the driver performs one of the
    following three tasks.
    1) If the card is 'offline', the driver sets the card to a
       'suspended' state and returns.
    2) If the card is 'online', the driver initiates card shutdown by
       setting the card state to suspending. This notifies the MIC
       daemon which invokes shutdown and sets card state to 'suspended'.
       The driver returns after the shutdown is complete.
    3) If the card is already being shutdown, possibly by a host user
       space application, the driver sets the card state to 'suspended'
       and returns after the shutdown is complete.
    
    During the PM_POST_SUSPEND phase, the driver simply notifies the
    daemon and returns. The daemon boots those cards that were previously
    online during the suspend phase.
    Signed-off-by: default avatarAshutosh Dixit <ashutosh.dixit@intel.com>
    Signed-off-by: default avatarNikhil Rao <nikhil.rao@intel.com>
    Signed-off-by: default avatarHarshavardhan R Kharche <harshavardhan.r.kharche@intel.com>
    Signed-off-by: default avatarSudeep Dutt <sudeep.dutt@intel.com>
    Signed-off-by: default avatarDasaratharaman Chandramouli <dasaratharaman.chandramouli@intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    af190494
mic_main.c 13.5 KB