• Xin Zeng's avatar
    crypto: qat - implement interface for live migration · f0bbfc39
    Xin Zeng authored
    Add logic to implement the interface for live migration defined in
    qat/qat_mig_dev.h. This is specific for QAT GEN4 Virtual Functions
    (VFs).
    
    This introduces a migration data manager which is used to handle the
    device state during migration. The manager ensures that the device state
    is stored in a format that can be restored in the destination node.
    
    The VF state is organized into a hierarchical structure that includes a
    preamble, a general state section, a MISC bar section and an ETR bar
    section. The latter contains the state of the 4 ring pairs contained on
    a VF. Here is a graphical representation of the state:
    
        preamble | general state section | leaf state
                 | MISC bar state section| leaf state
                 | ETR bar state section | bank0 state section | leaf state
                                         | bank1 state section | leaf state
                                         | bank2 state section | leaf state
                                         | bank3 state section | leaf state
    
    In addition to the implementation of the qat_migdev_ops interface and
    the state manager framework, add a mutex in pfvf to avoid pf2vf messages
    during migration.
    Signed-off-by: default avatarXin Zeng <xin.zeng@intel.com>
    Reviewed-by: default avatarGiovanni Cabiddu <giovanni.cabiddu@intel.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    f0bbfc39
adf_mstate_mgr.c 7.74 KB