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)
committerBen Skeggs <bskeggs@redhat.com>
Tue, 22 Aug 2017 08:04:36 +0000 (18:04 +1000)
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>
Cc: stable@vger.kernel.org
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvkm/subdev/pci/base.c

index eb9b278..a4cb824 100644 (file)
@@ -192,6 +192,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;