All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: mingo@elte.hu
Cc: linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org,
	dwalker@mvista.com
Subject: [PATCH] 2.6.18-rt7: PowerPC: fix breakage in threaded fasteoi type IRQ handlers
Date: Sun, 19 Nov 2006 22:43:34 +0300	[thread overview]
Message-ID: <200611192243.34850.sshtylyov@ru.mvista.com> (raw)

As fasteoi type chips never had to define their ack() method before the
recent Ingo's change to handle_fasteoi_irq(), any attempt to execute handler
in thread resulted in the kernel crash. So, define their ack() methods to be
the same as their eoi() ones...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>

---
Since there was no feedback on three solutions I suggested, I'm going the way
of least resistance and making the fasteoi type chips behave the way that
handle_fasteoi_irq() is expecting from them...

 arch/powerpc/platforms/cell/interrupt.c |    1 +
 arch/powerpc/platforms/iseries/irq.c    |    1 +
 arch/powerpc/platforms/pseries/xics.c   |    2 ++
 arch/powerpc/sysdev/mpic.c              |    1 +
 4 files changed, 5 insertions(+)

Index: linux-2.6/arch/powerpc/platforms/cell/interrupt.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/cell/interrupt.c
+++ linux-2.6/arch/powerpc/platforms/cell/interrupt.c
@@ -83,6 +83,7 @@ static struct irq_chip iic_chip = {
 	.typename = " CELL-IIC ",
 	.mask = iic_mask,
 	.unmask = iic_unmask,
+	.ack = iic_eoi,
 	.eoi = iic_eoi,
 };
 
Index: linux-2.6/arch/powerpc/platforms/iseries/irq.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/iseries/irq.c
+++ linux-2.6/arch/powerpc/platforms/iseries/irq.c
@@ -282,6 +282,7 @@ static struct irq_chip iseries_pic = {
 	.shutdown	= iseries_shutdown_IRQ,
 	.unmask		= iseries_enable_IRQ,
 	.mask		= iseries_disable_IRQ,
+	.ack		= iseries_end_IRQ,
 	.eoi		= iseries_end_IRQ
 };
 
Index: linux-2.6/arch/powerpc/platforms/pseries/xics.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/pseries/xics.c
+++ linux-2.6/arch/powerpc/platforms/pseries/xics.c
@@ -477,6 +477,7 @@ static struct irq_chip xics_pic_direct =
 	.startup = xics_startup,
 	.mask = xics_mask_irq,
 	.unmask = xics_unmask_irq,
+	.ack = xics_eoi_direct,
 	.eoi = xics_eoi_direct,
 	.set_affinity = xics_set_affinity
 };
@@ -487,6 +488,7 @@ static struct irq_chip xics_pic_lpar = {
 	.startup = xics_startup,
 	.mask = xics_mask_irq,
 	.unmask = xics_unmask_irq,
+	.ack = xics_eoi_lpar,
 	.eoi = xics_eoi_lpar,
 	.set_affinity = xics_set_affinity
 };
Index: linux-2.6/arch/powerpc/sysdev/mpic.c
===================================================================
--- linux-2.6.orig/arch/powerpc/sysdev/mpic.c
+++ linux-2.6/arch/powerpc/sysdev/mpic.c
@@ -718,6 +718,7 @@ static int mpic_set_irq_type(unsigned in
 static struct irq_chip mpic_irq_chip = {
 	.mask		= mpic_mask_irq,
 	.unmask		= mpic_unmask_irq,
+	.ack		= mpic_end_irq,
 	.eoi		= mpic_end_irq,
 	.set_type	= mpic_set_irq_type,
 };

WARNING: multiple messages have this Message-ID (diff)
From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: mingo@elte.hu
Cc: linux-kernel@vger.kernel.org, linuxppc-dev@ozlabs.org,
	dwalker@mvista.com
Subject: [PATCH] 2.6.18-rt7: PowerPC: fix breakage in threaded fasteoi type IRQ handlers
Date: Sun, 19 Nov 2006 22:43:34 +0300	[thread overview]
Message-ID: <200611192243.34850.sshtylyov@ru.mvista.com> (raw)

As fasteoi type chips never had to define their ack() method before the
recent Ingo's change to handle_fasteoi_irq(), any attempt to execute handler
in thread resulted in the kernel crash. So, define their ack() methods to be
the same as their eoi() ones...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>

---
Since there was no feedback on three solutions I suggested, I'm going the way
of least resistance and making the fasteoi type chips behave the way that
handle_fasteoi_irq() is expecting from them...

 arch/powerpc/platforms/cell/interrupt.c |    1 +
 arch/powerpc/platforms/iseries/irq.c    |    1 +
 arch/powerpc/platforms/pseries/xics.c   |    2 ++
 arch/powerpc/sysdev/mpic.c              |    1 +
 4 files changed, 5 insertions(+)

Index: linux-2.6/arch/powerpc/platforms/cell/interrupt.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/cell/interrupt.c
+++ linux-2.6/arch/powerpc/platforms/cell/interrupt.c
@@ -83,6 +83,7 @@ static struct irq_chip iic_chip = {
 	.typename = " CELL-IIC ",
 	.mask = iic_mask,
 	.unmask = iic_unmask,
+	.ack = iic_eoi,
 	.eoi = iic_eoi,
 };
 
Index: linux-2.6/arch/powerpc/platforms/iseries/irq.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/iseries/irq.c
+++ linux-2.6/arch/powerpc/platforms/iseries/irq.c
@@ -282,6 +282,7 @@ static struct irq_chip iseries_pic = {
 	.shutdown	= iseries_shutdown_IRQ,
 	.unmask		= iseries_enable_IRQ,
 	.mask		= iseries_disable_IRQ,
+	.ack		= iseries_end_IRQ,
 	.eoi		= iseries_end_IRQ
 };
 
Index: linux-2.6/arch/powerpc/platforms/pseries/xics.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/pseries/xics.c
+++ linux-2.6/arch/powerpc/platforms/pseries/xics.c
@@ -477,6 +477,7 @@ static struct irq_chip xics_pic_direct =
 	.startup = xics_startup,
 	.mask = xics_mask_irq,
 	.unmask = xics_unmask_irq,
+	.ack = xics_eoi_direct,
 	.eoi = xics_eoi_direct,
 	.set_affinity = xics_set_affinity
 };
@@ -487,6 +488,7 @@ static struct irq_chip xics_pic_lpar = {
 	.startup = xics_startup,
 	.mask = xics_mask_irq,
 	.unmask = xics_unmask_irq,
+	.ack = xics_eoi_lpar,
 	.eoi = xics_eoi_lpar,
 	.set_affinity = xics_set_affinity
 };
Index: linux-2.6/arch/powerpc/sysdev/mpic.c
===================================================================
--- linux-2.6.orig/arch/powerpc/sysdev/mpic.c
+++ linux-2.6/arch/powerpc/sysdev/mpic.c
@@ -718,6 +718,7 @@ static int mpic_set_irq_type(unsigned in
 static struct irq_chip mpic_irq_chip = {
 	.mask		= mpic_mask_irq,
 	.unmask		= mpic_unmask_irq,
+	.ack		= mpic_end_irq,
 	.eoi		= mpic_end_irq,
 	.set_type	= mpic_set_irq_type,
 };


             reply	other threads:[~2006-11-19 19:42 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-19 19:43 Sergei Shtylyov [this message]
2006-11-19 19:43 ` [PATCH] 2.6.18-rt7: PowerPC: fix breakage in threaded fasteoi type IRQ handlers Sergei Shtylyov
2006-11-19 20:00 ` Benjamin Herrenschmidt
2006-11-19 20:00   ` Benjamin Herrenschmidt
2006-11-19 20:04   ` Benjamin Herrenschmidt
2006-11-19 20:04     ` Benjamin Herrenschmidt
2006-11-19 20:11     ` Sergei Shtylyov
2006-11-19 20:11       ` Sergei Shtylyov
2006-11-19 20:06   ` Ingo Molnar
2006-11-19 20:06     ` Ingo Molnar
2006-11-19 20:19     ` Benjamin Herrenschmidt
2006-11-19 20:19       ` Benjamin Herrenschmidt
2006-11-19 20:23       ` Ingo Molnar
2006-11-19 20:23         ` Ingo Molnar
2006-11-19 20:31         ` Sergei Shtylyov
2006-11-19 20:31           ` Sergei Shtylyov
2006-11-19 20:36           ` Benjamin Herrenschmidt
2006-11-19 20:36             ` Benjamin Herrenschmidt
2006-11-19 20:42             ` Sergei Shtylyov
2006-11-19 20:42               ` Sergei Shtylyov
2006-11-19 20:45               ` Benjamin Herrenschmidt
2006-11-19 20:45                 ` Benjamin Herrenschmidt
2006-11-19 20:49         ` Benjamin Herrenschmidt
2006-11-19 20:49           ` Benjamin Herrenschmidt
2006-11-20  1:16         ` Benjamin Herrenschmidt
2006-11-20  1:16           ` Benjamin Herrenschmidt
2006-11-20 10:01           ` Ingo Molnar
2006-11-20 10:01             ` Ingo Molnar
2006-11-20 15:29             ` Sergei Shtylyov
2006-11-20 15:29               ` Sergei Shtylyov
2006-11-20 16:56               ` Ingo Molnar
2006-11-20 16:56                 ` Ingo Molnar
2006-11-20 17:03                 ` Sergei Shtylyov
2006-11-20 17:03                   ` Sergei Shtylyov
2006-11-20 17:26                   ` Ingo Molnar
2006-11-20 17:26                     ` Ingo Molnar
2006-11-20 17:55                     ` Ingo Molnar
2006-11-20 17:55                       ` Ingo Molnar
2006-11-20 18:20                       ` Daniel Walker
2006-11-20 18:20                         ` Daniel Walker
2006-11-20 18:29                         ` Ingo Molnar
2006-11-20 18:29                           ` Ingo Molnar
2006-11-20 18:30                       ` Sergei Shtylyov
2006-11-20 18:30                         ` Sergei Shtylyov
2006-11-20 19:10                         ` Ingo Molnar
2006-11-20 19:10                           ` Ingo Molnar
2006-11-20 19:11                           ` Ingo Molnar
2006-11-20 19:11                             ` Ingo Molnar
2006-11-20 19:18                             ` Sergei Shtylyov
2006-11-20 19:18                               ` Sergei Shtylyov
2006-11-20 19:24                               ` Sergei Shtylyov
2006-11-20 19:24                                 ` Sergei Shtylyov
2006-11-20 19:23                                 ` Ingo Molnar
2006-11-20 20:11                       ` Benjamin Herrenschmidt
2006-11-20 20:11                         ` Benjamin Herrenschmidt
2006-11-20 20:09                 ` Benjamin Herrenschmidt
2006-11-20 20:09                   ` Benjamin Herrenschmidt
2006-11-20 16:25             ` Daniel Walker
2006-11-20 16:25               ` Daniel Walker
2006-11-20 16:42               ` Ingo Molnar
2006-11-20 17:01                 ` Daniel Walker
2006-11-20 20:07             ` Benjamin Herrenschmidt
2006-11-20 20:07               ` Benjamin Herrenschmidt
2006-11-19 20:26       ` Sergei Shtylyov
2006-11-19 20:26         ` Sergei Shtylyov
2006-11-19 20:32         ` Benjamin Herrenschmidt
2006-11-19 20:32           ` Benjamin Herrenschmidt
2006-11-19 20:40           ` Sergei Shtylyov
2006-11-19 20:40             ` Sergei Shtylyov
2006-11-19 20:41             ` Benjamin Herrenschmidt
2006-11-19 20:41               ` Benjamin Herrenschmidt
2006-11-19 20:52               ` Sergei Shtylyov
2006-11-19 20:52                 ` Sergei Shtylyov
2006-11-19 21:08                 ` Benjamin Herrenschmidt
2006-11-19 21:08                   ` Benjamin Herrenschmidt
2006-11-20 15:46                   ` Sergei Shtylyov
2006-11-20 15:46                     ` Sergei Shtylyov
2006-11-19 20:44             ` Sergei Shtylyov
2006-11-19 20:48               ` Benjamin Herrenschmidt
2007-05-17 13:20 ` [PATCH 2.6.21-rt2] PowerPC: revert fix for threaded fasteoi " Sergei Shtylyov
2007-05-17 13:20   ` Sergei Shtylyov
2007-07-12 16:47   ` Sergei Shtylyov
2007-07-12 16:52     ` Thomas Gleixner
2007-07-12 16:52       ` Thomas Gleixner
2007-07-13 17:19       ` Sergei Shtylyov
2007-07-13 17:19         ` Sergei Shtylyov

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=200611192243.34850.sshtylyov@ru.mvista.com \
    --to=sshtylyov@ru.mvista.com \
    --cc=dwalker@mvista.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=mingo@elte.hu \
    /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.