public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/02] irqchip: renesas-irqc: Lazy disable and mask-on-suspend
@ 2013-12-04 12:05 Magnus Damm
  2013-12-04 12:05 ` [PATCH 01/02] irqchip: renesas-irqc: Use lazy disable Magnus Damm
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Magnus Damm @ 2013-12-04 12:05 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-sh, rob.herring, grant.likely, horms, Magnus Damm, tglx

irqchip: renesas-irqc: Lazy disable and mask-on-suspend

[PATCH 01/02] irqchip: renesas-irqc: Use lazy disable
[PATCH 02/02] irqchip: renesas-irqc: Enable mask on suspend

Update the IRQC driver to use lazy disable and mask on suspend. This fixes
the Suspend-to-RAM behavior to make sure wakeup sources are left enabled
while suspending.

Signed-off-by: Magnus Damm <damm@opensource.se>
---

 Written against renesas.git tag renesas-devel-v3.13-rc2-20131202

 drivers/irqchip/irq-renesas-irqc.c |    4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 01/02] irqchip: renesas-irqc: Use lazy disable
  2013-12-04 12:05 [PATCH 00/02] irqchip: renesas-irqc: Lazy disable and mask-on-suspend Magnus Damm
@ 2013-12-04 12:05 ` Magnus Damm
  2014-01-22 21:03   ` [tip:irq/core] " tip-bot for Magnus Damm
  2013-12-04 12:05 ` [PATCH 02/02] irqchip: renesas-irqc: Enable mask on suspend Magnus Damm
  2013-12-12 12:02 ` [PATCH 00/02] irqchip: renesas-irqc: Lazy disable and mask-on-suspend Simon Horman
  2 siblings, 1 reply; 6+ messages in thread
From: Magnus Damm @ 2013-12-04 12:05 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-sh, rob.herring, grant.likely, horms, Magnus Damm, tglx

From: Magnus Damm <damm@opensource.se>

Set the ->irq_enable() and ->irq_disable() methods to NULL
to enable lazy disable of interrupts. This by itself provides
some level of optimization, but is mainly enabled as ground
work for future Suspend-to-RAM wake up support.

Signed-off-by: Magnus Damm <damm@opensource.se>
---

 drivers/irqchip/irq-renesas-irqc.c |    2 --
 1 file changed, 2 deletions(-)

--- 0001/drivers/irqchip/irq-renesas-irqc.c
+++ work/drivers/irqchip/irq-renesas-irqc.c	2013-12-04 18:12:45.000000000 +0900
@@ -212,8 +212,6 @@ static int irqc_probe(struct platform_de
 	irq_chip->name = name;
 	irq_chip->irq_mask = irqc_irq_disable;
 	irq_chip->irq_unmask = irqc_irq_enable;
-	irq_chip->irq_enable = irqc_irq_enable;
-	irq_chip->irq_disable = irqc_irq_disable;
 	irq_chip->irq_set_type = irqc_irq_set_type;
 	irq_chip->flags	= IRQCHIP_SKIP_SET_WAKE;
 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 02/02] irqchip: renesas-irqc: Enable mask on suspend
  2013-12-04 12:05 [PATCH 00/02] irqchip: renesas-irqc: Lazy disable and mask-on-suspend Magnus Damm
  2013-12-04 12:05 ` [PATCH 01/02] irqchip: renesas-irqc: Use lazy disable Magnus Damm
@ 2013-12-04 12:05 ` Magnus Damm
  2014-01-22 21:04   ` [tip:irq/core] " tip-bot for Magnus Damm
  2013-12-12 12:02 ` [PATCH 00/02] irqchip: renesas-irqc: Lazy disable and mask-on-suspend Simon Horman
  2 siblings, 1 reply; 6+ messages in thread
From: Magnus Damm @ 2013-12-04 12:05 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-sh, rob.herring, grant.likely, horms, Magnus Damm, tglx

From: Magnus Damm <damm@opensource.se>

Now when lazy interrupt disable has been enabled in the driver
then extend the code to set IRQCHIP_MASK_ON_SUSPEND which tells
the core that only IRQs marked as wakeups need to stay enabled
during Suspend-to-RAM.

Signed-off-by: Magnus Damm <damm@opensource.se>
---

 drivers/irqchip/irq-renesas-irqc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- 0002/drivers/irqchip/irq-renesas-irqc.c
+++ work/drivers/irqchip/irq-renesas-irqc.c	2013-12-04 18:15:48.000000000 +0900
@@ -213,7 +213,7 @@ static int irqc_probe(struct platform_de
 	irq_chip->irq_mask = irqc_irq_disable;
 	irq_chip->irq_unmask = irqc_irq_enable;
 	irq_chip->irq_set_type = irqc_irq_set_type;
-	irq_chip->flags	= IRQCHIP_SKIP_SET_WAKE;
+	irq_chip->flags	= IRQCHIP_SKIP_SET_WAKE | IRQCHIP_MASK_ON_SUSPEND;
 
 	p->irq_domain = irq_domain_add_simple(pdev->dev.of_node,
 					      p->number_of_irqs,

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 00/02] irqchip: renesas-irqc: Lazy disable and mask-on-suspend
  2013-12-04 12:05 [PATCH 00/02] irqchip: renesas-irqc: Lazy disable and mask-on-suspend Magnus Damm
  2013-12-04 12:05 ` [PATCH 01/02] irqchip: renesas-irqc: Use lazy disable Magnus Damm
  2013-12-04 12:05 ` [PATCH 02/02] irqchip: renesas-irqc: Enable mask on suspend Magnus Damm
@ 2013-12-12 12:02 ` Simon Horman
  2 siblings, 0 replies; 6+ messages in thread
From: Simon Horman @ 2013-12-12 12:02 UTC (permalink / raw)
  To: Magnus Damm; +Cc: linux-kernel, linux-sh, rob.herring, grant.likely, tglx

On Wed, Dec 04, 2013 at 09:05:37PM +0900, Magnus Damm wrote:
> irqchip: renesas-irqc: Lazy disable and mask-on-suspend
> 
> [PATCH 01/02] irqchip: renesas-irqc: Use lazy disable
> [PATCH 02/02] irqchip: renesas-irqc: Enable mask on suspend
> 
> Update the IRQC driver to use lazy disable and mask on suspend. This fixes
> the Suspend-to-RAM behavior to make sure wakeup sources are left enabled
> while suspending.

Thanks, I will queue these up.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [tip:irq/core] irqchip: renesas-irqc: Use lazy disable
  2013-12-04 12:05 ` [PATCH 01/02] irqchip: renesas-irqc: Use lazy disable Magnus Damm
@ 2014-01-22 21:03   ` tip-bot for Magnus Damm
  0 siblings, 0 replies; 6+ messages in thread
From: tip-bot for Magnus Damm @ 2014-01-22 21:03 UTC (permalink / raw)
  To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, damm, tglx

Commit-ID:  3aba55605326be6d7e624090858aa921ab519cda
Gitweb:     http://git.kernel.org/tip/3aba55605326be6d7e624090858aa921ab519cda
Author:     Magnus Damm <damm@opensource.se>
AuthorDate: Wed, 4 Dec 2013 21:05:46 +0900
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Wed, 22 Jan 2014 21:48:55 +0100

irqchip: renesas-irqc: Use lazy disable

Set the ->irq_enable() and ->irq_disable() methods to NULL
to enable lazy disable of interrupts. This by itself provides
some level of optimization, but is mainly enabled as ground
work for future Suspend-to-RAM wake up support.

Signed-off-by: Magnus Damm <damm@opensource.se>
Cc: rob.herring@calxeda.com
Cc: grant.likely@secretlab.ca
Cc: horms@verge.net.au
Link: http://lkml.kernel.org/r/20131204120546.29642.15772.sendpatchset@w520
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 drivers/irqchip/irq-renesas-irqc.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/irqchip/irq-renesas-irqc.c b/drivers/irqchip/irq-renesas-irqc.c
index 2f404ba..8fdd7d6 100644
--- a/drivers/irqchip/irq-renesas-irqc.c
+++ b/drivers/irqchip/irq-renesas-irqc.c
@@ -212,8 +212,6 @@ static int irqc_probe(struct platform_device *pdev)
 	irq_chip->name = name;
 	irq_chip->irq_mask = irqc_irq_disable;
 	irq_chip->irq_unmask = irqc_irq_enable;
-	irq_chip->irq_enable = irqc_irq_enable;
-	irq_chip->irq_disable = irqc_irq_disable;
 	irq_chip->irq_set_type = irqc_irq_set_type;
 	irq_chip->flags	= IRQCHIP_SKIP_SET_WAKE;
 

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [tip:irq/core] irqchip: renesas-irqc: Enable mask on suspend
  2013-12-04 12:05 ` [PATCH 02/02] irqchip: renesas-irqc: Enable mask on suspend Magnus Damm
@ 2014-01-22 21:04   ` tip-bot for Magnus Damm
  0 siblings, 0 replies; 6+ messages in thread
From: tip-bot for Magnus Damm @ 2014-01-22 21:04 UTC (permalink / raw)
  To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, damm, tglx

Commit-ID:  43881ec7a88a3d3b2fd6da58168173e135b41fba
Gitweb:     http://git.kernel.org/tip/43881ec7a88a3d3b2fd6da58168173e135b41fba
Author:     Magnus Damm <damm@opensource.se>
AuthorDate: Wed, 4 Dec 2013 21:05:56 +0900
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Wed, 22 Jan 2014 21:48:55 +0100

irqchip: renesas-irqc: Enable mask on suspend

Now when lazy interrupt disable has been enabled in the driver
then extend the code to set IRQCHIP_MASK_ON_SUSPEND which tells
the core that only IRQs marked as wakeups need to stay enabled
during Suspend-to-RAM.

Signed-off-by: Magnus Damm <damm@opensource.se>
Cc: rob.herring@calxeda.com
Cc: grant.likely@secretlab.ca
Cc: horms@verge.net.au
Link: http://lkml.kernel.org/r/20131204120556.29642.27021.sendpatchset@w520
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 drivers/irqchip/irq-renesas-irqc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/irqchip/irq-renesas-irqc.c b/drivers/irqchip/irq-renesas-irqc.c
index 8fdd7d6..082d95c 100644
--- a/drivers/irqchip/irq-renesas-irqc.c
+++ b/drivers/irqchip/irq-renesas-irqc.c
@@ -213,7 +213,7 @@ static int irqc_probe(struct platform_device *pdev)
 	irq_chip->irq_mask = irqc_irq_disable;
 	irq_chip->irq_unmask = irqc_irq_enable;
 	irq_chip->irq_set_type = irqc_irq_set_type;
-	irq_chip->flags	= IRQCHIP_SKIP_SET_WAKE;
+	irq_chip->flags	= IRQCHIP_SKIP_SET_WAKE | IRQCHIP_MASK_ON_SUSPEND;
 
 	p->irq_domain = irq_domain_add_simple(pdev->dev.of_node,
 					      p->number_of_irqs,

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-01-22 21:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-04 12:05 [PATCH 00/02] irqchip: renesas-irqc: Lazy disable and mask-on-suspend Magnus Damm
2013-12-04 12:05 ` [PATCH 01/02] irqchip: renesas-irqc: Use lazy disable Magnus Damm
2014-01-22 21:03   ` [tip:irq/core] " tip-bot for Magnus Damm
2013-12-04 12:05 ` [PATCH 02/02] irqchip: renesas-irqc: Enable mask on suspend Magnus Damm
2014-01-22 21:04   ` [tip:irq/core] " tip-bot for Magnus Damm
2013-12-12 12:02 ` [PATCH 00/02] irqchip: renesas-irqc: Lazy disable and mask-on-suspend Simon Horman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox