• N
    PCI: Support INTx masking on ConnectX-4 with firmware x.14.1100+ · 1600f625
    Noa Osherovich 提交于
    Mellanox devices were marked as having INTx masking ability broken.  As a
    result, the VFIO driver fails to start when more than one device function
    is passed-through to a VM if both have the same INTx pin.
    
    Prior to Connect-IB, Mellanox devices exposed to the operating system one
    PCI function per all ports.  Starting from Connect-IB, the devices are
    function-per-port.  When passing the second function to a VM, VFIO will
    fail to start.
    
    Exclude ConnectX-4, ConnectX4-Lx and Connect-IB from the list of Mellanox
    devices marked as having broken INTx masking:
    
    - ConnectX-4 and ConnectX4-LX firmware version is checked. If INTx
      masking is supported, we unmark the broken INTx masking.
    - Connect-IB does not support INTx currently so will not cause any
      problem.
    
    [bhelgaas: call pci_disable_device() always, after iounmap()]
    Fixes: 11e42532 ("PCI: Assume all Mellanox devices have broken INTx masking")
    Signed-off-by: NNoa Osherovich <noaos@mellanox.com>
    Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: NOr Gerlitz <ogerlitz@mellanox.com>
    Reviewed-by: NGavin Shan <gwshan@linux.vnet.ibm.com>
    1600f625
quirks.c 159.3 KB