From 9a073cabeffb59901ad77180d31bb3083994dc80 Mon Sep 17 00:00:00 2001 From: NicJA Date: Thu, 30 Apr 2015 16:41:39 +0000 Subject: [PATCH] acknowledge pending fiq's git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@50534 fb15a70f-31f2-0310-bbcc-cdcc74a49acc --- arch/arm-native/kernel/platform_bcm2708.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/arch/arm-native/kernel/platform_bcm2708.c b/arch/arm-native/kernel/platform_bcm2708.c index 7fa30f6bbb..93978f530e 100644 --- a/arch/arm-native/kernel/platform_bcm2708.c +++ b/arch/arm-native/kernel/platform_bcm2708.c @@ -37,6 +37,7 @@ #define D(x) x #define DIRQ(x) +#define DFIQ(x) #define DTIMER(x) extern void mpcore_trampoline(); @@ -219,12 +220,17 @@ static void bcm2807_irq_process() static void bcm2807_fiq_process() { - uint32_t tmp; + uint32_t tmp, fiq; asm volatile (" mrc p15, 0, %0, c0, c0, 5 " : "=r" (tmp)); - D(bug("[KRN:BCM2708] %s(%d)\n", __PRETTY_FUNCTION__, (tmp & 0x3))); + DFIQ(bug("[KRN:BCM2708] %s(%d)\n", __PRETTY_FUNCTION__, (tmp & 0x3))); + + fiq = *((uint32_t *)(BCM2836_FIQ_PEND0 + (0x4 * (tmp & 0x3)))); + + DFIQ(bug("[KRN:BCM2708] %s: FIQ %x\n", __PRETTY_FUNCTION__, fiq)); + *((uint32_t *)(BCM2836_FIQ_PEND0 + (0x4 * (tmp & 0x3)))) = fiq; } static void bcm2708_toggle_led(int LED, int state) -- 2.11.4.GIT