• Jack Morgenstein's avatar
    mlx4_core: Add wrapper functions and comm channel and slave event support to EQs · acba2420
    Jack Morgenstein authored
    Passing async events to slaves:
    In SRIOV mode, each slave creates its own async EQ, but only the master can
    register directly with the FW to receive async events.  Async events which
    should be passed to slaves (such as a WQ_ACCESS_ERROR for a QP owned by a slave)
    are generated at the slave by the master using the GEN_EQE FW command.
    
    Wrapper functions: mlx4_MAP_EQ_wrapper
    Only the master can map an EQ. The slave commands to map their EQs arrive
    at the master via the comm channel.  The master then invokes the wrapper
    function to do the work (and enter the resource in the tracking database).
    
    New events: COMM_CHANNEL and FLR
    The COMM_CHANNEL event arrives only at the master, and signals that
    a slave has posted a command on the comm channel.
    The FLR event is generated by the FW when a guest operating a VF
    unexpectedly goes down.
    Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    acba2420
eq.c 30 KB