• Marcel Apfelbaum's avatar
    mlx4_core: Added FW commands and their wrappers for supporting SRIOV · 5cc914f1
    Marcel Apfelbaum authored
    The following commands are added here:
    1. QUERY_FUNC_CAP and its wrapper.  This function is used by VFs when
       they start up to receive configuration information from the PF, such
       as resource quotas for this VF, which ports should be used (currently
       two), what protocol is running on the port (currently Ethernet ONLY,
       or port not active).
    
    2. QUERY_PORT and its wrapper. Previously, this FW command was invoked directly
       by the ETH driver (en_port.c) using mlx4_cmd_box. Virtualization is now
       required here (the VF's MAC address must be substituted for the PFs
       MAC address returned by the FW). We changed the invocation
       in the ETH driver to use mlx4_QUERY_PORT, and added the wrapper.
    
    3. QUERY_HCA. Used by the VF to determine how the HCA was initialized.
       For now, we need only the multicast table member entry size
       (log2_mc_table_entry_sz, in the ConnectX PRM).  No wrapper is needed
       here, because the data may be passed as is to the VF without modification).
    
       In this command, we have added a GLOBAL_CAPS field for passing required
       configuration information from FW to a VF (this field is to allow safely
                       adding new SRIOV capabilities which require support in VF drivers, too).
       Bits will set here by FW in response to PF-driver configuration commands which
       will activate as yet undefined new SRIOV features. The VF will test to see that
       all required capabilities indicated by this field are supported (i.e., if a bit
       is set and the VF driver does not recognize that bit, it must abort
       its initialization).  Currently, no bits are set.
    
    4. Added a CLOSE_PORT wrapper.  The PF context needs to keep track of how many VF contexts
       have the port open.  The PF context will not actually issue the FW close port command
       until the last port user issues a CLOSE_PORT request.
    Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
    Signed-off-by: default avatarYevgeny Petrilin <yevgenyp@mellanox.co.il>
    Signed-off-by: default avatarMarcel Apfelbaum <marcela@mellanox.co.il>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5cc914f1
mlx4.h 25.3 KB