PCI Express MSI support on Kirkwood?

Lennert Buytenhek buytenh at wantstofly.org
Wed Apr 21 09:17:14 EDT 2010


On Wed, Apr 21, 2010 at 05:55:27AM -0700, Leon Woestenberg wrote:

> > what is the current status for PCI Express MSI support on Kirkwood?
> 
> Including Nicolas Pitre, Lennert Buytenhek and LAK ml on this topic.
> 
> I'm interested in PCI Express MSI support for Linux / Kirkwood, has
> this been addressed yet in any of the GIT trees?

It hasn't been done yet as far as I know.

I don't think KW was designed with MSI in mind, but it can perhaps be
done (MSI with up to 16 messages but without multiple message enable,
or MSI-X with up to 32 system-wide messages) if you use the interrupt
controller Doorbell interrupts for this purpose.

IOW, make the KW 1M register area available to the PCIe bus via an
inbound BAR, point the MSI message address to the Host-to-CPU Doorbell
Register (register block + 0x20400), and use successive powers of two
for the MSI message data.  (And demultiplex the doorbell interrupt into
its own range of 32 IRQs in the Kirkwood IRQ demux code.)

Having to map the register area to an inbound BAR means that it's not
possible anymore to have more than 2G of RAM in the system.  On KW
this won't be an issue, but on mv78xx0 it would be in some
configurations.

/me doesn't think he has MSI-capable PCIe cards



More information about the linux-arm-kernel mailing list