Эх сурвалжийг харах

[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>
Heiko Carstens 14 жил өмнө
parent
commit
12fae5858c

+ 1 - 0
arch/s390/include/asm/irq.h

@@ -18,6 +18,7 @@ enum interruption_class {
 	IOINT_QAI,
 	IOINT_QAI,
 	IOINT_QDI,
 	IOINT_QDI,
 	IOINT_DAS,
 	IOINT_DAS,
+	IOINT_C15,
 	NMI_NMI,
 	NMI_NMI,
 	NR_IRQS,
 	NR_IRQS,
 };
 };

+ 1 - 0
arch/s390/kernel/irq.c

@@ -35,6 +35,7 @@ static const struct irq_class intrclass_names[] = {
 	{.name = "QAI", .desc = "[I/O] QDIO Adapter Interrupt" },
 	{.name = "QAI", .desc = "[I/O] QDIO Adapter Interrupt" },
 	{.name = "QDI", .desc = "[I/O] QDIO Interrupt" },
 	{.name = "QDI", .desc = "[I/O] QDIO Interrupt" },
 	{.name = "DAS", .desc = "[I/O] DASD" },
 	{.name = "DAS", .desc = "[I/O] DASD" },
+	{.name = "C15", .desc = "[I/O] 3215" },
 	{.name = "NMI", .desc = "[NMI] Machine Check" },
 	{.name = "NMI", .desc = "[NMI] Machine Check" },
 };
 };
 
 

+ 2 - 0
drivers/s390/char/con3215.c

@@ -9,6 +9,7 @@
  *	      Dan Morrison, IBM Corporation <dmorriso@cse.buffalo.edu>
  *	      Dan Morrison, IBM Corporation <dmorriso@cse.buffalo.edu>
  */
  */
 
 
+#include <linux/kernel_stat.h>
 #include <linux/module.h>
 #include <linux/module.h>
 #include <linux/types.h>
 #include <linux/types.h>
 #include <linux/kdev_t.h>
 #include <linux/kdev_t.h>
@@ -361,6 +362,7 @@ static void raw3215_irq(struct ccw_device *cdev, unsigned long intparm,
 	int cstat, dstat;
 	int cstat, dstat;
 	int count;
 	int count;
 
 
+	kstat_cpu(smp_processor_id()).irqs[IOINT_C15]++;
 	raw = dev_get_drvdata(&cdev->dev);
 	raw = dev_get_drvdata(&cdev->dev);
 	req = (struct raw3215_req *) intparm;
 	req = (struct raw3215_req *) intparm;
 	cstat = irb->scsw.cmd.cstat;
 	cstat = irb->scsw.cmd.cstat;