From: Marc Zyngier <marc.zyngier@arm.com>
To: Abhijeet Dharmapurikar <adharmap@codeaurora.org>,
Stephen Boyd <sboyd@codeaurora.org>, Phong Vo <pvo@apm.com>,
Linus Walleij <linus.walleij@linaro.org>,
Tin Huynh <tnhuynh@apm.com>, Y Vo <yvo@apm.com>,
Thomas Gleixner <tglx@linutronix.de>, Toan Le <toanle@apm.com>,
Bjorn Andersson <bjorn@kryo.se>,
Jason Cooper <jason@lakedaemon.net>,
Arnd Bergmann <arnd@arndb.de>
Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 0/3] genirq: Saving/restoring the irqchip state of an irq line
Date: Wed, 3 Dec 2014 16:18:20 +0000 [thread overview]
Message-ID: <1417623503-30261-1-git-send-email-marc.zyngier@arm.com> (raw)
Despite Linux offering a rather fine grained control over the life
cycle of an interrupt, there is a few cases where it would be very
useful to snapshot (or even set) the internal state of the interrupt
controller for a given interrupt line:
- With KVM, a device shared between VMs must have its whole context
switched, and that includes the interrupt line state. KVM/arm is
moving to using this.
- Some GPIO controllers seem to require peeking into the interrupt
controller they are connected to to report their internal state.
Instead of letting people facing this situation doing horrible
(controller specific) hacks in their code, let's offer a couple of new
entry points that allow a few attributes to be read and set.
Of course, this is a very dangerous thing to do if you don't know what
you doing, and I wouldn't expect most drivers to use this. But this
can also be a life saver at times.
This patch series implement said API, and adds support for this to the
two main ARM interrupt controllers (GIC and GICv3). Available at:
git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git irq/irqchip_state
>From v1 [1]:
- Rebased on top of 3.18-rc7 + tip/irq/irqdomain-arm
- Now deals with stacked domains
- Changed the API to be less ambiguous (after review by tglx)
- Added IRQCHIP_STATE_LINE_LEVEL (as requested by Bjorn Anderson)
[1] https://lkml.org/lkml/2014/10/25/134
Marc Zyngier (3):
genirq: Allow the irqchip state of an IRQ to be save/restored
irqchip: GIC: Add support for irq_{get,set}_irqchip_state
irqchip: GICv3: Add support for irq_{get,set}_irqchip_state
drivers/irqchip/irq-gic-v3.c | 83 +++++++++++++++++++++++++++++++++-------
drivers/irqchip/irq-gic.c | 69 ++++++++++++++++++++++++++++++---
include/linux/interrupt.h | 14 +++++++
include/linux/irq.h | 6 +++
kernel/irq/manage.c | 91 ++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 245 insertions(+), 18 deletions(-)
--
2.1.3
next reply other threads:[~2014-12-03 16:18 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-03 16:18 Marc Zyngier [this message]
2014-12-03 16:18 ` [PATCH v2 1/3] genirq: Allow the irqchip state of an IRQ to be save/restored Marc Zyngier
2014-12-08 22:42 ` Bjorn Andersson
2014-12-09 9:37 ` Marc Zyngier
2015-01-07 16:05 ` Jason Cooper
2015-01-07 16:09 ` Marc Zyngier
2015-01-07 16:13 ` Jason Cooper
2014-12-03 16:18 ` [PATCH v2 2/3] irqchip: GIC: Add support for irq_{get,set}_irqchip_state Marc Zyngier
2014-12-03 16:18 ` [PATCH v2 3/3] irqchip: GICv3: " Marc Zyngier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1417623503-30261-1-git-send-email-marc.zyngier@arm.com \
--to=marc.zyngier@arm.com \
--cc=adharmap@codeaurora.org \
--cc=arnd@arndb.de \
--cc=bjorn@kryo.se \
--cc=jason@lakedaemon.net \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pvo@apm.com \
--cc=sboyd@codeaurora.org \
--cc=tglx@linutronix.de \
--cc=tnhuynh@apm.com \
--cc=toanle@apm.com \
--cc=yvo@apm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).