diff --git a/arch/s390/include/asm/irq.h b/arch/s390/include/asm/irq.h index 6986343a566f3c128c9543ee6d48fa49dfe6a6f9..6c9b55681eab91c178ceeb02c6aa4ade06256f95 100644 --- a/arch/s390/include/asm/irq.h +++ b/arch/s390/include/asm/irq.h @@ -21,6 +21,7 @@ enum interruption_class { IOINT_C15, IOINT_C70, IOINT_TAP, + IOINT_VMR, NMI_NMI, NR_IRQS, }; diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c index 5d7b6fbb3c13f8398856237707f196c65dad6679..ae726d1ae4304f213a70df735f6ed9efb0eb38a7 100644 --- a/arch/s390/kernel/irq.c +++ b/arch/s390/kernel/irq.c @@ -38,6 +38,7 @@ static const struct irq_class intrclass_names[] = { {.name = "C15", .desc = "[I/O] 3215" }, {.name = "C70", .desc = "[I/O] 3270" }, {.name = "TAP", .desc = "[I/O] Tape" }, + {.name = "VMR", .desc = "[I/O] Unit Record Devices" }, {.name = "NMI", .desc = "[NMI] Machine Check" }, }; diff --git a/drivers/s390/char/vmur.c b/drivers/s390/char/vmur.c index f7e4ae6bf15a5be647bdf4a0223a228880d368a5..caef1757341d4ef7a8e60e1818bbcbfe03dd3675 100644 --- a/drivers/s390/char/vmur.c +++ b/drivers/s390/char/vmur.c @@ -11,6 +11,7 @@ #define KMSG_COMPONENT "vmur" #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt +#include #include #include @@ -302,6 +303,7 @@ static void ur_int_handler(struct ccw_device *cdev, unsigned long intparm, { struct urdev *urd; + kstat_cpu(smp_processor_id()).irqs[IOINT_VMR]++; TRACE("ur_int_handler: intparm=0x%lx cstat=%02x dstat=%02x res=%u\n", intparm, irb->scsw.cmd.cstat, irb->scsw.cmd.dstat, irb->scsw.cmd.count);