Messages in this thread Patch in this message | | | Date | Wed, 30 Jun 2004 18:29:23 -0700 | From | Matt Porter <> | Subject | [PATCH][PPC32] Fix dual UICs in 4xx PIC support |
| |
Fixes a case where we were not correctly acking the base cascade controller on PPC4xx. Patch from Pavel Bartusek <pba@sysgo.com>
Signed-off-by: Matt Porter <mporter@kernel.crashing.org>
===== arch/ppc/syslib/ppc4xx_pic.c 1.10 vs edited ===== --- 1.10/arch/ppc/syslib/ppc4xx_pic.c Tue May 18 07:48:10 2004 +++ edited/arch/ppc/syslib/ppc4xx_pic.c Wed Jun 30 18:21:16 2004 @@ -234,6 +234,9 @@ case 1: mtdcr(DCRN_UIC_ER(UIC1), ppc_cached_irq_mask[word]); mtdcr(DCRN_UIC_SR(UIC1), (1 << (31 - bit))); +#if (NR_UICS == 2) + mtdcr(DCRN_UIC_SR(UIC0), (1 << (31 - UIC0_UIC1NC))); +#endif #if (NR_UICS > 2) mtdcr(DCRN_UIC_SR(UICB), UICB_UIC1NC); #endif @@ -285,6 +288,9 @@ break; case 1: mtdcr(DCRN_UIC_SR(UIC1), 1 << (31 - bit)); +#if (NR_UICS == 2) + mtdcr(DCRN_UIC_SR(UIC0), (1 << (31 - UIC0_UIC1NC))); +#endif #if (NR_UICS > 2) mtdcr(DCRN_UIC_SR(UICB), UICB_UIC1NC); #endif @@ -423,7 +429,7 @@ bit, sense); #endif ppc_cached_sense_mask[word] |= - (sense & IRQ_SENSE_MASK) << (31 - bit); + (~sense & IRQ_SENSE_MASK) << (31 - bit); ppc_cached_pol_mask[word] |= ((sense & IRQ_POLARITY_MASK) >> 1) << (31 - bit); switch (word) { - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |