From efe3224321c8b2f127b3dac844082229f948be77 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sat, 23 Jul 2011 01:20:15 +0200 Subject: [PATCH] --- yaml --- r: 265383 b: refs/heads/master c: a3e72cd2974a4b178d4edf6737ae51d1ea83b5d8 h: refs/heads/master i: 265381: e271775011753f84722cbed78e40f8d907893330 265379: 9c67224368a03520d26b8c192430a319e947d71e 265375: eab82966f730d3b52a20e2b537c2acd04cbaf3f6 v: v3 --- [refs] | 2 +- trunk/arch/mips/bcm47xx/irq.c | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 93b31a74104f..b083d64482a7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c1d1c5d4213ee96e054c4d195117368972a4c01f +refs/heads/master: a3e72cd2974a4b178d4edf6737ae51d1ea83b5d8 diff --git a/trunk/arch/mips/bcm47xx/irq.c b/trunk/arch/mips/bcm47xx/irq.c index 325757acd020..8cf3833b2d29 100644 --- a/trunk/arch/mips/bcm47xx/irq.c +++ b/trunk/arch/mips/bcm47xx/irq.c @@ -26,6 +26,7 @@ #include #include #include +#include void plat_irq_dispatch(void) { @@ -51,5 +52,16 @@ void plat_irq_dispatch(void) void __init arch_init_irq(void) { +#ifdef CONFIG_BCM47XX_BCMA + if (bcm47xx_bus_type == BCM47XX_BUS_TYPE_BCMA) { + bcma_write32(bcm47xx_bus.bcma.bus.drv_mips.core, + BCMA_MIPS_MIPS74K_INTMASK(5), 1 << 31); + /* + * the kernel reads the timer irq from some register and thinks + * it's #5, but we offset it by 2 and route to #7 + */ + cp0_compare_irq = 7; + } +#endif mips_cpu_irq_init(); }