Re: [PATCH 6/8] powerpc 8xx: cascade eoi will be performed by generic_handle_irq handler
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2011-05-26 03:32:48
On Wed, 2011-05-25 at 01:34 -0500, Milton Miller wrote:
The 8xx cpm_cascade was calling irq_eoi for the cascaded irq, but that will already have been called by the handle_fasteoi_irq that generic_handle_irq will call. The handler is set in arch/powerpc/sysdev/cpm1.c by the host map routine.
No it won't unless I'm missing something. The flow handler (handle_fasteoi_irq) is going to be replaced by the chained handler when mpc8xx_pics_init() calls irq_set_chained_handle(irq, cpm_cascade) no ? Cheers, Ben.
quoted hunk ↗ jump to hunk
Signed-off-by: Milton Miller <redacted> Index: work.git/arch/powerpc/platforms/8xx/m8xx_setup.c ===================================================================--- work.git.orig/arch/powerpc/platforms/8xx/m8xx_setup.c 2011-05-18 22:50:38.983498572 -0500 +++ work.git/arch/powerpc/platforms/8xx/m8xx_setup.c 2011-05-18 22:52:48.920532258 -0500@@ -221,15 +221,9 @@ static void cpm_cascade(unsigned int irq struct irq_chip *chip; int cascade_irq; - if ((cascade_irq = cpm_get_irq()) >= 0) { - struct irq_desc *cdesc = irq_to_desc(cascade_irq); - + if ((cascade_irq = cpm_get_irq()) >= 0) generic_handle_irq(cascade_irq); - chip = irq_desc_get_chip(cdesc); - chip->irq_eoi(&cdesc->irq_data); - } - chip = irq_desc_get_chip(desc); chip->irq_eoi(&desc->irq_data); }