Skip to content
Permalink
Browse files

pci/msi: disable MSI on big-endian platforms by default

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>
  • Loading branch information
imirkin authored and skeggsb committed Aug 13, 2017
1 parent 4cc5b39 commit d1fb989912c2cfdb4fbfe5f93b42043853896caa
Showing with 4 additions and 0 deletions.
  1. +4 −0 drm/nouveau/nvkm/subdev/pci/base.c
@@ -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;

0 comments on commit d1fb989

Please sign in to comment.
You can’t perform that action at this time.