All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Auger <eric.auger@linaro.org>
To: Marc Zyngier <marc.zyngier@arm.com>,
	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: Re: [PATCH v4 0/3] genirq: Saving/restoring the irqchip state of an irq line
Date: Mon, 13 Apr 2015 16:12:54 +0200	[thread overview]
Message-ID: <552BCEE6.6060003@linaro.org> (raw)
In-Reply-To: <1426676484-21812-1-git-send-email-marc.zyngier@arm.com>

Hi Marc,

You can apply my R-b and T-b on the whole series. To be precise, I
tested the get path only with my kvm-vfio forward series.

Best Regards

Eric

Reviewed-by: Eric Auger <eric.auger@linaro.org>
Tested-by: Eric Auger <eric.auger@linaro.org>


On 03/18/2015 12:01 PM, Marc Zyngier wrote:
> 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
> 
> This has been fairly heavily tested with KVM on ARM, which makes use
> of this feature to context switch the timer interrupt (see the last
> three patch in the above branch).
> 
> Thanks,
> 
> 	M.
> 
> * From v3 [3]
> - Rebased on top of 4.0-rc4
> 
> * From v2 [2]:
> - Rebased on top of 3.19-rc3
> - Fixed irq_set_irqchip_state return value
> 
> * 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
> [2] https://lkml.org/lkml/2014/12/3/612
> [3] http://lkml.iu.edu/hypermail/linux/kernel/1501.0/03473.html
> 
> 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, 246 insertions(+), 17 deletions(-)
> 

WARNING: multiple messages have this Message-ID (diff)
From: eric.auger@linaro.org (Eric Auger)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 0/3] genirq: Saving/restoring the irqchip state of an irq line
Date: Mon, 13 Apr 2015 16:12:54 +0200	[thread overview]
Message-ID: <552BCEE6.6060003@linaro.org> (raw)
In-Reply-To: <1426676484-21812-1-git-send-email-marc.zyngier@arm.com>

Hi Marc,

You can apply my R-b and T-b on the whole series. To be precise, I
tested the get path only with my kvm-vfio forward series.

Best Regards

Eric

Reviewed-by: Eric Auger <eric.auger@linaro.org>
Tested-by: Eric Auger <eric.auger@linaro.org>


On 03/18/2015 12:01 PM, Marc Zyngier wrote:
> 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
> 
> This has been fairly heavily tested with KVM on ARM, which makes use
> of this feature to context switch the timer interrupt (see the last
> three patch in the above branch).
> 
> Thanks,
> 
> 	M.
> 
> * From v3 [3]
> - Rebased on top of 4.0-rc4
> 
> * From v2 [2]:
> - Rebased on top of 3.19-rc3
> - Fixed irq_set_irqchip_state return value
> 
> * 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
> [2] https://lkml.org/lkml/2014/12/3/612
> [3] http://lkml.iu.edu/hypermail/linux/kernel/1501.0/03473.html
> 
> 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, 246 insertions(+), 17 deletions(-)
> 

  parent reply	other threads:[~2015-04-13 14:15 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-18 11:01 [PATCH v4 0/3] genirq: Saving/restoring the irqchip state of an irq line Marc Zyngier
2015-03-18 11:01 ` Marc Zyngier
2015-03-18 11:01 ` [PATCH v4 1/3] genirq: Allow the irqchip state of an IRQ to be save/restored Marc Zyngier
2015-03-18 11:01   ` Marc Zyngier
2015-04-08 17:48   ` Bjorn Andersson
2015-04-08 17:48     ` Bjorn Andersson
2015-04-13 16:18     ` Srinivas Kandagatla
2015-04-13 16:18       ` Srinivas Kandagatla
2015-04-13 16:21       ` Marc Zyngier
2015-04-13 16:21         ` Marc Zyngier
2015-04-08 21:30   ` [tip:irq/core] " tip-bot for Marc Zyngier
2015-03-18 11:01 ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get,set}_irqchip_state Marc Zyngier
2015-03-18 11:01   ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get, set}_irqchip_state Marc Zyngier
2015-04-08 21:31   ` [tip:irq/core] irqchip: GIC: Add support for irq_[get, set] _irqchip_state() tip-bot for Marc Zyngier
2015-05-13  2:25   ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get,set}_irqchip_state Feng Kan
2015-05-13  2:25     ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get, set}_irqchip_state Feng Kan
2015-05-13 11:58     ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get,set}_irqchip_state Linus Walleij
2015-05-13 11:58       ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get, set}_irqchip_state Linus Walleij
2015-05-13 15:44       ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get,set}_irqchip_state Feng Kan
2015-05-13 15:44         ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get, set}_irqchip_state Feng Kan
2015-05-14 10:32         ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get,set}_irqchip_state Linus Walleij
2015-05-14 10:32           ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get, set}_irqchip_state Linus Walleij
2015-05-14 20:14           ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get,set}_irqchip_state Feng Kan
2015-05-14 20:14             ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get, set}_irqchip_state Feng Kan
2015-05-19  8:40             ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get,set}_irqchip_state Linus Walleij
2015-05-19  8:40               ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get, set}_irqchip_state Linus Walleij
2015-05-19 10:01               ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get,set}_irqchip_state Marc Zyngier
2015-05-19 10:01                 ` Marc Zyngier
2015-05-19 15:01                 ` Linus Walleij
2015-05-19 15:01                   ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get, set}_irqchip_state Linus Walleij
2015-05-19 21:45                 ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get,set}_irqchip_state Feng Kan
2015-05-19 21:45                   ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get, set}_irqchip_state Feng Kan
2015-05-20  7:58                   ` [PATCH v4 2/3] irqchip: GIC: Add support for irq_{get,set}_irqchip_state Marc Zyngier
2015-05-20  7:58                     ` Marc Zyngier
2015-03-18 11:01 ` [PATCH v4 3/3] irqchip: GICv3: " Marc Zyngier
2015-03-18 11:01   ` [PATCH v4 3/3] irqchip: GICv3: Add support for irq_{get, set}_irqchip_state Marc Zyngier
2015-04-08 21:31   ` [tip:irq/core] irqchip: GICv3: Add support for irq_[get, set] _irqchip_state() tip-bot for Marc Zyngier
2015-04-13 14:12 ` Eric Auger [this message]
2015-04-13 14:12   ` [PATCH v4 0/3] genirq: Saving/restoring the irqchip state of an irq line Eric Auger

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=552BCEE6.6060003@linaro.org \
    --to=eric.auger@linaro.org \
    --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=marc.zyngier@arm.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.