]> git.baikalelectronics.ru Git - kernel.git/commit
irqchip: gicv3-its: Iterate over PCI aliases to generate ITS configuration
authorMarc Zyngier <marc.zyngier@arm.com>
Fri, 6 Mar 2015 16:37:42 +0000 (16:37 +0000)
committerJason Cooper <jason@lakedaemon.net>
Sun, 8 Mar 2015 05:32:54 +0000 (05:32 +0000)
commite3b7bfa4214e848314002ad1ecaf62f7d67bfa6d
tree9f19c001810d3e77dca930859c3bf6cb1d7f0c9c
parent124f195fa090dbd3570485ec5beda8895371acc6
irqchip: gicv3-its: Iterate over PCI aliases to generate ITS configuration

The current PCI/MSI support in the GICv3 ITS doesn't really deal
with systems where different PCI devices end-up using the same
RequesterID (as it would be the case with non-transparent bridges,
for example). It is likely that none of these devices would
actually generate any interrupt, as the ITS is programmed with
the device's own ID, and not that of the bridge.

A solution to this is to iterate over the PCI hierarchy to
discover what the device aliases too. We also use this
to discover the upper bound of the number of MSIs that this
sub-hierarchy can generate.

With this in place, PCI aliases can be supported.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Link: https://lkml.kernel.org/r/1425659870-11832-4-git-send-email-marc.zyngier@arm.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
drivers/irqchip/irq-gic-v3-its.c