From: Grant Likely <hidden> Date: 2009-01-07 19:25:12
From: Grant Likely <redacted>
The MPC5200 PIC driver doesn't correctly update the .status field of
the irq_desc structure when the set_type hook is called. This patch
adds the required code.
Also cleans up the external IRQ typename field to be something easier
to read (very minor).
Signed-off-by: Grant Likely <redacted>
---
arch/powerpc/platforms/52xx/mpc52xx_pic.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
@@ -196,6 +196,7 @@ static void mpc52xx_extirq_ack(unsigned int virq)staticintmpc52xx_extirq_set_type(unsignedintvirq,unsignedintflow_type){+structirq_desc*desc=get_irq_desc(virq);u32ctrl_reg,type;intirq;intl2irq;
@@ -222,6 +223,11 @@ static int mpc52xx_extirq_set_type(unsigned int virq, unsigned int flow_type)type=0;}+desc->status&=~(IRQ_TYPE_SENSE_MASK|IRQ_LEVEL);+desc->status|=flow_type&IRQ_TYPE_SENSE_MASK;+if(flow_type&(IRQ_TYPE_LEVEL_HIGH|IRQ_TYPE_LEVEL_LOW))+desc->status|=IRQ_LEVEL;+ctrl_reg=in_be32(&intr->ctrl);ctrl_reg&=~(0x3<<(22-(l2irq*2)));ctrl_reg|=(type<<(22-(l2irq*2)));
@@ -231,7 +237,7 @@ static int mpc52xx_extirq_set_type(unsigned int virq, unsigned int flow_type)}staticstructirq_chipmpc52xx_extirq_irqchip={-.typename=" MPC52xx IRQ[0-3] ",+.typename="MPC52xx External",.mask=mpc52xx_extirq_mask,.unmask=mpc52xx_extirq_unmask,.ack=mpc52xx_extirq_ack,
From: Matt Sealey <hidden> Date: 2009-01-08 03:51:39
Grant Likely wrote:
From: Grant Likely <redacted>
The MPC5200 PIC driver doesn't correctly update the .status field of
the irq_desc structure when the set_type hook is called. This patch
adds the required code.
Also cleans up the external IRQ typename field to be something easier
to read (very minor).
Signed-off-by: Grant Likely <redacted>
From: Grant Likely <hidden> Date: 2009-01-08 04:53:08
On Wed, Jan 7, 2009 at 8:51 PM, Matt Sealey [off-list ref] wrote:
Grant Likely wrote:
quoted
From: Grant Likely <redacted>
The MPC5200 PIC driver doesn't correctly update the .status field of
the irq_desc structure when the set_type hook is called. This patch
adds the required code.
Also cleans up the external IRQ typename field to be something easier
to read (very minor).
Signed-off-by: Grant Likely <redacted>
Hi Grant,
What does this affect?
cat /proc/interrupts
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
From: Matt Sealey <hidden> Date: 2009-01-08 14:39:59
Grant Likely wrote:
On Wed, Jan 7, 2009 at 8:51 PM, Matt Sealey [off-list ref] wrote:
quoted
Grant Likely wrote:
quoted
From: Grant Likely <redacted>
The MPC5200 PIC driver doesn't correctly update the .status field of
the irq_desc structure when the set_type hook is called. This patch
adds the required code.
Also cleans up the external IRQ typename field to be something easier
to read (very minor).
Signed-off-by: Grant Likely <redacted>
Hi Grant,
What does this affect?
cat /proc/interrupts
Ah so, completely cosmetic in the end. I was worried I'd have to build a
new kernel for a second.. :D
-- Matt
From: Grant Likely <hidden> Date: 2009-01-09 21:02:50
On Thu, Jan 8, 2009 at 7:40 AM, Matt Sealey [off-list ref] wrote:
Grant Likely wrote:
quoted
On Wed, Jan 7, 2009 at 8:51 PM, Matt Sealey [off-list ref] wrote:
quoted
Grant Likely wrote:
quoted
From: Grant Likely <redacted>
The MPC5200 PIC driver doesn't correctly update the .status field of
the irq_desc structure when the set_type hook is called. This patch
adds the required code.
Also cleans up the external IRQ typename field to be something easier
to read (very minor).
Signed-off-by: Grant Likely <redacted>
Hi Grant,
What does this affect?
cat /proc/interrupts
Ah so, completely cosmetic in the end. I was worried I'd have to build a new
kernel for a second.. :D
Not entirely; it affects the details about how irqs are handled.
check_irq_resend() for example. I don't think any 5200 platforms
currently care; but it could be an issue with cascaded IRQ handlers.
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
From: Matt Sealey <hidden> Date: 2009-01-10 17:19:39
Grant Likely wrote:
Not entirely; it affects the details about how irqs are handled.
check_irq_resend() for example. I don't think any 5200 platforms
currently care; but it could be an issue with cascaded IRQ handlers.
I'm not sure if that would be a problem or not. Would it shed some light
on why Efika ATA DMA doesn't work? :)
-- Matt Sealey