| From bc60c90f472b6e762ea96ef384072145adc8d4af Mon Sep 17 00:00:00 2001 |
| From: Ilia Mirkin <imirkin@alum.mit.edu> |
| Date: Thu, 10 Aug 2017 12:13:40 -0400 |
| Subject: drm/nouveau/pci/msi: disable MSI on big-endian platforms by default |
| |
| From: Ilia Mirkin <imirkin@alum.mit.edu> |
| |
| 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 | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| --- a/drivers/gpu/drm/nouveau/nvkm/subdev/pci/base.c |
| +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pci/base.c |
| @@ -192,6 +192,10 @@ nvkm_pci_new_(const struct nvkm_pci_func |
| } |
| } |
| |
| +#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; |