Module Name: src Committed By: macallan Date: Sat Mar 7 15:37:46 UTC 2015
Modified Files: src/sys/arch/evbmips/ingenic: intr.c Log Message: count all interrupts, not just the ones we have handlers for To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/sys/arch/evbmips/ingenic/intr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/evbmips/ingenic/intr.c diff -u src/sys/arch/evbmips/ingenic/intr.c:1.5 src/sys/arch/evbmips/ingenic/intr.c:1.6 --- src/sys/arch/evbmips/ingenic/intr.c:1.5 Thu Mar 5 17:42:29 2015 +++ src/sys/arch/evbmips/ingenic/intr.c Sat Mar 7 15:37:46 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: intr.c,v 1.5 2015/03/05 17:42:29 macallan Exp $ */ +/* $NetBSD: intr.c,v 1.6 2015/03/07 15:37:46 macallan Exp $ */ /*- * Copyright (c) 2014 Michael Lorenz @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.5 2015/03/05 17:42:29 macallan Exp $"); +__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.6 2015/03/07 15:37:46 macallan Exp $"); #define __INTR_PRIVATE @@ -234,13 +234,13 @@ ingenic_irq(int ipl) while (bit != 0) { idx = bit - 1; mask = 1 << idx; + intrs[idx].ih_count.ev_count++; if (intrs[idx].ih_func != NULL) { if (intrs[idx].ih_ipl == IPL_VM) KERNEL_LOCK(1, NULL); intrs[idx].ih_func(intrs[idx].ih_arg); if (intrs[idx].ih_ipl == IPL_VM) KERNEL_UNLOCK_ONE(NULL); - intrs[idx].ih_count.ev_count++; } else { /* spurious interrupt, mask it */ writereg(JZ_ICMSR0, mask); @@ -262,13 +262,13 @@ ingenic_irq(int ipl) idx = bit - 1; mask = 1 << idx; idx += 32; + intrs[idx].ih_count.ev_count++; if (intrs[idx].ih_func != NULL) { if (intrs[idx].ih_ipl == IPL_VM) KERNEL_LOCK(1, NULL); intrs[idx].ih_func(intrs[idx].ih_arg); if (intrs[idx].ih_ipl == IPL_VM) KERNEL_UNLOCK_ONE(NULL); - intrs[idx].ih_count.ev_count++; } else { /* spurious interrupt, mask it */ writereg(JZ_ICMSR1, mask);