Re: [RFC] Whitelist chipsets supporting MSI and check Hyper-transport capabilities

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Saturday 17 June 2006 04:01, Brice Goglin wrote:
> Several chipsets are known to not support MSI. Some support MSI but
> disable it by default. Thus, several drivers implement their own way to
> detect whether MSI works.
>
> We introduce whitelisting of chipsets that are known to support MSI and
> keep the existing backlisting to disable MSI for other chipsets. When it
> is unknown whether the root chipset support MSI or not, we disable MSI
> by default except if pci=forcemsi was passed.

I tried your patch on 2.6.17-rc6 (fixed up a view rejects) in an attempt to 
get MSI working with my forcedeth NIC, which advertises the capability. The 
kernel now gives me the following:

PCI: Found MSI HT mapping on 0000:00:0b.0
PCI: Found MSI HT mapping on 0000:00:00.0
PCI: MSI quirk detected. PCI_BUS_FLAGS_MSI set for 0000:00:0b.0 subordinate 
bus.
PCI: Found MSI HT mapping on 0000:00:0c.0
PCI: Found MSI HT mapping on 0000:00:00.0
PCI: MSI quirk detected. PCI_BUS_FLAGS_MSI set for 0000:00:0c.0 subordinate 
bus.
PCI: Found MSI HT mapping on 0000:00:0d.0
PCI: Found MSI HT mapping on 0000:00:00.0
PCI: MSI quirk detected. PCI_BUS_FLAGS_MSI set for 0000:00:0d.0 subordinate 
bus.
PCI: Found MSI HT mapping on 0000:00:0e.0
PCI: Found MSI HT mapping on 0000:00:00.0
PCI: MSI quirk detected. PCI_BUS_FLAGS_MSI set for 0000:00:0e.0 subordinate 
bus.
PCI: Setting latency timer of device 0000:00:0b.0 to 64
pcie_portdrv_probe->Dev[005d:10de] has invalid IRQ. Check vendor BIOS
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:0b.0:pcie00]
Allocate Port Service[0000:00:0b.0:pcie03]
PCI: Setting latency timer of device 0000:00:0c.0 to 64
pcie_portdrv_probe->Dev[005d:10de] has invalid IRQ. Check vendor BIOS
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:0c.0:pcie00]
Allocate Port Service[0000:00:0c.0:pcie03]
PCI: Setting latency timer of device 0000:00:0d.0 to 64
pcie_portdrv_probe->Dev[005d:10de] has invalid IRQ. Check vendor BIOS
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:0d.0:pcie00]
Allocate Port Service[0000:00:0d.0:pcie03]
PCI: Setting latency timer of device 0000:00:0e.0 to 64
pcie_portdrv_probe->Dev[005d:10de] has invalid IRQ. Check vendor BIOS
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:0e.0:pcie00]
Allocate Port Service[0000:00:0e.0:pcie03]

Is the "vendor BIOS" causing the problem? Here's my /proc/interrupts after 
booting.

           CPU0       CPU1
  0:     574494          0    IO-APIC-edge  timer
  8:          0          0    IO-APIC-edge  rtc
  9:          0          0   IO-APIC-level  acpi
 15:       4891          0    IO-APIC-edge  ide1
 50:          0          0   IO-APIC-level  NVidia CK804
 58:          4          0   IO-APIC-level  ehci_hcd:usb1
 66:       6203          0   IO-APIC-level  ohci1394, wlan
 74:          3          0   IO-APIC-level  ohci1394
217:      21315          0   IO-APIC-level  libata, ohci_hcd:usb2
225:       1031          0   IO-APIC-level  libata
233:      28124          0   IO-APIC-level  EMU10K1, skge
NMI:        171         90
LOC:     574330     574263
ERR:          0
MIS:          0

It's an x86-64 kernel.

-- 
Cheers,
Alistair.

Third year Computer Science undergraduate.
1F2 55 South Clerk Street, Edinburgh, UK.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux