Re: [PATCH] Unbreak MSI on ATI devices
From: Petr Vandrovec
Date: Fri Jan 05 2007 - 04:28:40 EST
Roland Dreier wrote:
> So my question is - what is real reason for disabling INTX when in MSI mode?
> According to PCI spec it should not be needed, and it hurts at least chips
> listed below:
>
> 00:13.0 0c03: 1002:4374 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller
> 00:13.1 0c03: 1002:4375 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller
> 00:13.2 0c03: 1002:4373 USB Controller: ATI Technologies Inc IXP SB400 USB2 Host Controller
heh... I'm not gloating or anything... but I am glad that some ASIC
designer was careless enough to prove me right when I said going
beyond what the PCI spec requires is dangerous.
Hi,
unfortunately it is not everything :-(
I cannot get MSI to work on IDE interface under any circumstances - in
legacy mode it always uses IRQ14/15 regardless of whether MSI is enabled
or not (that's probably correct), but in native mode as soon as I enable
MSI it either does not deliver interrupts at all (definitely not through
IRQ14/15, and, if I got routing right, also not through its INTA#), or
it delivers them somewhere else than where programmed. As my boot
device is connected to this adapter, and it is a notebook, it is not
easy to debug what's really going on :-(
00:14.1 0101: 1002:4376 IDE interface: ATI Technologies Inc Standard
Dual Channel PCI IDE Controller ATI (prog-if 8f [Master SecP SecO PriP
PriO])
Subsystem: Rioworks Unknown device 2043
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 18
I/O ports at 01f0 [size=8]
I/O ports at 03f4 [size=4]
I/O ports at 0170 [size=8]
I/O ports at 0374 [size=4]
I/O ports at 8410 [size=16]
Capabilities: [70] Message Signalled Interrupts: Mask- 64bit-
Queue=0/0 Enable-
Petr
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/