DORMANTno replies

[PATCH] ppc32: explicitly disable 440GP IRQ compatibility mode in 440GX setup

From: Eugene Surovegin <hidden>
Date: 2005-07-01 17:02:42
Subsystem: the rest · Maintainer: Linus Torvalds

Andrew,

the following patch adds explicit disabling of 440GP IRQ compatibility 
mode when configuring 440GX interrupt controller. This helps when 
board firmware for some reason uses this compatibility mode and 
leaves it enabled. It breaks 440GX interrupt code because it assumes 
native 440GX IRQ mode. People seems to be continuously bitten by this.

Signed-off-by: Eugene Surovegin <redacted>
diff --git a/arch/ppc/syslib/ppc4xx_pic.c b/arch/ppc/syslib/ppc4xx_pic.c
--- a/arch/ppc/syslib/ppc4xx_pic.c
+++ b/arch/ppc/syslib/ppc4xx_pic.c
@@ -110,6 +110,10 @@ static int ppc4xx_pic_get_irq(struct pt_
 
 static void __init ppc4xx_pic_impl_init(void)
 {
+#if defined(CONFIG_440GX)
+	/* Disable 440GP compatibility mode if it was enabled in firmware */
+	SDR_WRITE(DCRN_SDR_MFR, SDR_READ(DCRN_SDR_MFR) & ~DCRN_SDR_MFR_PCM);
+#endif
 	/* Configure Base UIC */
 	mtdcr(DCRN_UIC_CR(UICB), 0);
 	mtdcr(DCRN_UIC_TR(UICB), 0);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help