]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/nouveau/pci/msi: disable MSI on big-endian platforms by default
authorIlia Mirkin <imirkin@alum.mit.edu>
Thu, 10 Aug 2017 16:13:40 +0000 (12:13 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Sep 2017 21:09:45 +0000 (14:09 -0700)
commit bc60c90f472b6e762ea96ef384072145adc8d4af upstream.

It appears that MSI does not work on either G5 PPC nor on a E5500-based
platform, where other hardware is reported to work fine with MSI.

Both tests were conducted with NV4x hardware, so perhaps other (or even
this) hardware can be made to work. It's still possible to force-enable
with config=NvMSI=1 on load.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/nouveau/nvkm/subdev/pci/base.c

index d671dcfaff3ce38cf2d951f7bda24f3019c79f30..4896474da320ea48d04ce126d157f2a84483a33c 100644 (file)
@@ -180,6 +180,10 @@ nvkm_pci_new_(const struct nvkm_pci_func *func, struct nvkm_device *device,
                }
        }
 
+#ifdef __BIG_ENDIAN
+       pci->msi = false;
+#endif
+
        pci->msi = nvkm_boolopt(device->cfgopt, "NvMSI", pci->msi);
        if (pci->msi && func->msi_rearm) {
                pci->msi = pci_enable_msi(pci->pdev) == 0;