diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2011-01-05 06:47:31 -0500 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2011-01-05 06:47:25 -0500 |
commit | 12fae5858cd97181c92472c9bb5f098a7eca2ffe (patch) | |
tree | 7cb0aff0fec24b9396ae05c0da8d9123008e5f1d | |
parent | 3283942b71eb5023184b378230f5f0e3fbb40991 (diff) |
[S390] 3215: add support for irq statistics
Add support for 3215 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.h | 1 | ||||
-rw-r--r-- | arch/s390/kernel/irq.c | 1 | ||||
-rw-r--r-- | drivers/s390/char/con3215.c | 2 |
3 files changed, 4 insertions, 0 deletions
diff --git a/arch/s390/include/asm/irq.h b/arch/s390/include/asm/irq.h index 082ef0cce287..d52533df6ac8 100644 --- a/arch/s390/include/asm/irq.h +++ b/arch/s390/include/asm/irq.h | |||
@@ -18,6 +18,7 @@ enum interruption_class { | |||
18 | IOINT_QAI, | 18 | IOINT_QAI, |
19 | IOINT_QDI, | 19 | IOINT_QDI, |
20 | IOINT_DAS, | 20 | IOINT_DAS, |
21 | IOINT_C15, | ||
21 | NMI_NMI, | 22 | NMI_NMI, |
22 | NR_IRQS, | 23 | NR_IRQS, |
23 | }; | 24 | }; |
diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c index 313fe83a443a..e7914e4adc48 100644 --- a/arch/s390/kernel/irq.c +++ b/arch/s390/kernel/irq.c | |||
@@ -35,6 +35,7 @@ static const struct irq_class intrclass_names[] = { | |||
35 | {.name = "QAI", .desc = "[I/O] QDIO Adapter Interrupt" }, | 35 | {.name = "QAI", .desc = "[I/O] QDIO Adapter Interrupt" }, |
36 | {.name = "QDI", .desc = "[I/O] QDIO Interrupt" }, | 36 | {.name = "QDI", .desc = "[I/O] QDIO Interrupt" }, |
37 | {.name = "DAS", .desc = "[I/O] DASD" }, | 37 | {.name = "DAS", .desc = "[I/O] DASD" }, |
38 | {.name = "C15", .desc = "[I/O] 3215" }, | ||
38 | {.name = "NMI", .desc = "[NMI] Machine Check" }, | 39 | {.name = "NMI", .desc = "[NMI] Machine Check" }, |
39 | }; | 40 | }; |
40 | 41 | ||
diff --git a/drivers/s390/char/con3215.c b/drivers/s390/char/con3215.c index 59ec073724bf..3fb4335d491d 100644 --- a/drivers/s390/char/con3215.c +++ b/drivers/s390/char/con3215.c | |||
@@ -9,6 +9,7 @@ | |||
9 | * Dan Morrison, IBM Corporation <dmorriso@cse.buffalo.edu> | 9 | * Dan Morrison, IBM Corporation <dmorriso@cse.buffalo.edu> |
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include <linux/kernel_stat.h> | ||
12 | #include <linux/module.h> | 13 | #include <linux/module.h> |
13 | #include <linux/types.h> | 14 | #include <linux/types.h> |
14 | #include <linux/kdev_t.h> | 15 | #include <linux/kdev_t.h> |
@@ -361,6 +362,7 @@ static void raw3215_irq(struct ccw_device *cdev, unsigned long intparm, | |||
361 | int cstat, dstat; | 362 | int cstat, dstat; |
362 | int count; | 363 | int count; |
363 | 364 | ||
365 | kstat_cpu(smp_processor_id()).irqs[IOINT_C15]++; | ||
364 | raw = dev_get_drvdata(&cdev->dev); | 366 | raw = dev_get_drvdata(&cdev->dev); |
365 | req = (struct raw3215_req *) intparm; | 367 | req = (struct raw3215_req *) intparm; |
366 | cstat = irb->scsw.cmd.cstat; | 368 | cstat = irb->scsw.cmd.cstat; |