aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2011-01-05 06:47:36 -0500
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>2011-01-05 06:47:26 -0500
commit355eb4022b92349f70cd69ce5b9572c71c0be226 (patch)
tree638e77a5f8635f234bc1283ce9e1986756dfdd75
parent096a61682e86090e4e74118ff6fa6858ca73aa58 (diff)
[S390] claw: add support for irq statistics
Add support for CLAW I/O interrupt statistics in /proc/interrupts. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r--arch/s390/include/asm/irq.h1
-rw-r--r--arch/s390/kernel/irq.c1
-rw-r--r--drivers/s390/net/claw.c2
3 files changed, 4 insertions, 0 deletions
diff --git a/arch/s390/include/asm/irq.h b/arch/s390/include/asm/irq.h
index 6a455b8ea18b..2d5943c1c6a1 100644
--- a/arch/s390/include/asm/irq.h
+++ b/arch/s390/include/asm/irq.h
@@ -23,6 +23,7 @@ enum interruption_class {
23 IOINT_TAP, 23 IOINT_TAP,
24 IOINT_VMR, 24 IOINT_VMR,
25 IOINT_LCS, 25 IOINT_LCS,
26 IOINT_CLW,
26 NMI_NMI, 27 NMI_NMI,
27 NR_IRQS, 28 NR_IRQS,
28}; 29};
diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c
index 4c6e071b7f92..406b539f61a9 100644
--- a/arch/s390/kernel/irq.c
+++ b/arch/s390/kernel/irq.c
@@ -40,6 +40,7 @@ static const struct irq_class intrclass_names[] = {
40 {.name = "TAP", .desc = "[I/O] Tape" }, 40 {.name = "TAP", .desc = "[I/O] Tape" },
41 {.name = "VMR", .desc = "[I/O] Unit Record Devices" }, 41 {.name = "VMR", .desc = "[I/O] Unit Record Devices" },
42 {.name = "LCS", .desc = "[I/O] LCS" }, 42 {.name = "LCS", .desc = "[I/O] LCS" },
43 {.name = "CLW", .desc = "[I/O] CLAW" },
43 {.name = "NMI", .desc = "[NMI] Machine Check" }, 44 {.name = "NMI", .desc = "[NMI] Machine Check" },
44}; 45};
45 46
diff --git a/drivers/s390/net/claw.c b/drivers/s390/net/claw.c
index 8e4153d740f3..ce3a5c13ce0b 100644
--- a/drivers/s390/net/claw.c
+++ b/drivers/s390/net/claw.c
@@ -63,6 +63,7 @@
63 63
64#define KMSG_COMPONENT "claw" 64#define KMSG_COMPONENT "claw"
65 65
66#include <linux/kernel_stat.h>
66#include <asm/ccwdev.h> 67#include <asm/ccwdev.h>
67#include <asm/ccwgroup.h> 68#include <asm/ccwgroup.h>
68#include <asm/debug.h> 69#include <asm/debug.h>
@@ -640,6 +641,7 @@ claw_irq_handler(struct ccw_device *cdev,
640 struct claw_env *p_env; 641 struct claw_env *p_env;
641 struct chbk *p_ch_r=NULL; 642 struct chbk *p_ch_r=NULL;
642 643
644 kstat_cpu(smp_processor_id()).irqs[IOINT_CLW]++;
643 CLAW_DBF_TEXT(4, trace, "clawirq"); 645 CLAW_DBF_TEXT(4, trace, "clawirq");
644 /* Bypass all 'unsolicited interrupts' */ 646 /* Bypass all 'unsolicited interrupts' */
645 privptr = dev_get_drvdata(&cdev->dev); 647 privptr = dev_get_drvdata(&cdev->dev);