lkml.org 
[lkml]   [2015]   [Jan]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v2 0/2] genirq: Make irqchip flags work with stacked irq domains
Date
With the landing of stacked irq domains in 3.19, we have ended up in a
situation where we have a stack of IRQ controllers, each with their
set of flags, but the core code is only able to look at the top-most,
which is not very helpful. This small series is trying to fix this.

The first patch converts all access to desc->irq_data.chip->flags to
using an accessor, without changing anything else. The second patch
adds some logic to combine these flags as we allocate the interrupts,
ultimately storing the resulting set as part of the irq_desc
structure.

We end-up with a configuration where the flags can either be located
in the irq_chip structure (non stacked case), or in the irq_desc
(stacked case). While this isn't really ideal, this gives at least the
right level of information to the rest of the IRQ framework, and is
only computed at allocation time, instead of parsing the irqchip stack
at runtime.

Based on 3.19-rc3, and available at:
git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git irq/stacked-irqchip-flags

From v1 [1]:
- fix one last occurence of desc->irq_data.chip->flags, spotted by Jiang

[1]: https://lkml.org/lkml/2015/1/8/387

Marc Zyngier (2):
genirq: Abstract access to irq_chip flags
genirq: Allow irq_desc to carry the union of stacked irq_chip flags

include/linux/irq.h | 4 ++++
include/linux/irqdesc.h | 12 ++++++++++++
kernel/irq/chip.c | 10 +++++-----
kernel/irq/irqdesc.c | 3 +++
kernel/irq/irqdomain.c | 20 +++++++++++++++++++-
kernel/irq/manage.c | 8 ++++----
kernel/irq/pm.c | 2 +-
7 files changed, 48 insertions(+), 11 deletions(-)

--
2.1.4



\
 
 \ /
  Last update: 2015-01-14 16:21    [W:0.051 / U:1.180 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site