[Nouveau] How to check for proper MSI support?

Ilia Mirkin imirkin at alum.mit.edu
Wed Jul 2 20:20:52 PDT 2014


Hello,

A user (cc'd) reported that nouveau's enabling of MSI causes the card
to not work on his setup [1]. I think the situation is that MSI is
just not supported by the underlying motherboard, even though the
card, and probably bridge, support it just fine. It's a very old
board. The nouveau code does:

pmc->use_msi = pci_enable_msi(device->pdev) == 0;

Does it need to do more checking than that before trying to enable MSI
on the device? Could it be that the linux pci subsystem is missing on
inheriting MSI capabilities somewhere?

Thanks,

  -ilia

[1]

00:00.0 Host bridge [0600]: Intel Corporation 430FX - 82437FX TSC
[Triton I] [8086:122d] (rev 01)
        Flags: bus master, medium devsel, latency 64

00:0e.0 PCI bridge [0604]: PLX Technology, Inc. PEX8112 x1 Lane PCI
Express-to-PCI Bridge [10b5:8112] (rev aa) (prog-if 00 [Normal
decode])
        Flags: bus master, 66MHz, medium devsel, latency 66
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        I/O behind bridge: 0000f000-0000ffff
        Memory behind bridge: f5e00000-fbffffff
        Prefetchable memory behind bridge: d5d00000-f5dfffff
        Capabilities: [40] Power Management version 2
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [60] Express PCI/PCI-X to PCI-Express Bridge, MSI 00

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G96
[GeForce 9400 GT] [10de:0641] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: Jaton Corp Device [1b13:0641]
        Flags: bus master, fast devsel, latency 0, IRQ 11
        Memory at fb000000 (32-bit, non-prefetchable) [size=16M]
        Memory at e0000000 (64-bit, prefetchable) [size=256M]
        Memory at f8000000 (64-bit, non-prefetchable) [size=32M]
        I/O ports at fc80 [size=128]
        [virtual] Expansion ROM at d5d00000 [disabled] [size=512K]
        Capabilities: [60] Power Management version 3
        Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [78] Express Endpoint, MSI 00
        Capabilities: [b4] Vendor Specific Information: Len=14 <?>
        Kernel driver in use: nouveau


More information about the Nouveau mailing list