PCI: xgene: Add APM X-Gene v1 PCIe MSI/MSIX termination driver
authorDuc Dang <dhdang@apm.com>
Fri, 5 Jun 2015 20:56:34 +0000 (15:56 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 5 Jun 2015 20:56:34 +0000 (15:56 -0500)
commitdcd19de36775b689df602139f3e40bfb114d5d12
treecd10fb434431da064a0816ed582989fb7f522569
parent5ebe6afaf0057ac3eaeb98defd5456894b446d22
PCI: xgene: Add APM X-Gene v1 PCIe MSI/MSIX termination driver

APM X-Gene v1 SoC supports its own implementation of MSI, which is not
compliant to GIC V2M specification for MSI Termination.

There is a single MSI block in X-Gene v1 SOC which serves all 5 PCIe ports.
This MSI block supports 2048 MSI termination ports coalesced into 16
physical HW IRQ lines and shared across all 5 PCIe ports.

As there are only 16 HW IRQs to serve 2048 MSI vectors, to support
set_affinity correctly for each MSI vectors, the 16 HW IRQs are statically
allocated to 8 X-Gene v1 cores (2 HW IRQs for each cores).  To steer MSI
interrupt to target CPU, MSI vector is moved around these HW IRQs lines.
With this approach, the total MSI vectors this driver supports is reduced
to 256.

[bhelgaas: squash doc, driver, maintainer update]
Signed-off-by: Duc Dang <dhdang@apm.com>
Signed-off-by: Tanmay Inamdar <tinamdar@apm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Documentation/devicetree/bindings/pci/xgene-pci-msi.txt [new file with mode: 0644]
MAINTAINERS
drivers/pci/host/Kconfig
drivers/pci/host/Makefile
drivers/pci/host/pci-xgene-msi.c [new file with mode: 0644]
drivers/pci/host/pci-xgene.c
This page took 0.027922 seconds and 5 git commands to generate.