• Alexey Kardashevskiy's avatar
    vfio/pci/nvlink2: Do not attempt NPU2 setup on POWER8NVL NPU · d22f9a6c
    Alexey Kardashevskiy authored
    We execute certain NPU2 setup code (such as mapping an LPID to a device
    in NPU2) unconditionally if an Nvlink bridge is detected. However this
    cannot succeed on POWER8NVL machines as the init helpers return an error
    other than ENODEV which means the device is there is and setup failed so
    vfio_pci_enable() fails and pass through is not possible.
    
    This changes the two NPU2 related init helpers to return -ENODEV if
    there is no "memory-region" device tree property as this is
    the distinction between NPU and NPU2.
    
    Tested on
    - POWER9 pvr=004e1201, Ubuntu 19.04 host, Ubuntu 18.04 vm,
      NVIDIA GV100 10de:1db1 driver 418.39
    - POWER8 pvr=004c0100, RHEL 7.6 host, Ubuntu 16.10 vm,
      NVIDIA P100 10de:15f9 driver 396.47
    
    Fixes: 7f928917 ("vfio_pci: Add NVIDIA GV100GL [Tesla V100 SXM2] subdriver")
    Cc: stable@vger.kernel.org # 5.0
    Signed-off-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
    Signed-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
    d22f9a6c
vfio_pci_nvlink2.c 13.2 KB