[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 1/1] xen/device-tree: Do not remap IRQs for secondary IRQ controllers
From: "Edgar E. Iglesias" <edgar.iglesias@xxxxxxxxxx> Do not remap IRQs connected to secondary interrupt controllers. These IRQs have no meaning to us until they connect to the primary controller. Secondary IRQ controllers will at some point connect to the primary controller (possibly via other IRQ controllers). We map the IRQs at that last connection point. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx> --- xen/common/device_tree.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c index 0ed86a7..02a7ede 100644 --- a/xen/common/device_tree.c +++ b/xen/common/device_tree.c @@ -1176,6 +1176,22 @@ int dt_for_each_irq_map(const struct dt_device_node *dev, for ( i = 0; i < pintsize; i++ ) dt_raw_irq.specifier[i] = dt_read_number(imap + i, 1); + if ( dt_raw_irq.controller != dt_interrupt_controller ) + { + /* We don't map IRQs connected to secondary IRQ controllers as + * these IRQs have no meaning to us until they connect to the + * primary controller. + * + * Secondary IRQ controllers will at some point connect to + * the primary controller (possibly via other IRQ controllers). + * We map the IRQs at that last connection point. + */ + imap += pintsize; + imaplen -= pintsize; + dt_dprintk(" -> Skipped IRQ for secondary IRQ controller\n"); + continue; + } + ret = dt_irq_translate(&dt_raw_irq, &dt_irq); if ( ret ) { -- 2.5.0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |