blob: 68d7d68300f2e81b171f633ab56b86f7d6864e41 [file] [log] [blame]
Cornelia Huck3a3fc292008-07-14 09:58:58 +02001#ifndef _ASM_S390_ISC_H
2#define _ASM_S390_ISC_H
3
Sebastian Ottfcc6ab32008-07-14 09:59:00 +02004#include <linux/types.h>
5
Cornelia Huck3a3fc292008-07-14 09:58:58 +02006/*
7 * I/O interruption subclasses used by drivers.
8 * Please add all used iscs here so that it is possible to distribute
9 * isc usage between drivers.
10 * Reminder: 0 is highest priority, 7 lowest.
11 */
12#define MAX_ISC 7
13
14/* Regular I/O interrupts. */
15#define IO_SCH_ISC 3 /* regular I/O subchannels */
16#define CONSOLE_ISC 1 /* console I/O subchannel */
Sebastian Otteadb86a2012-08-28 16:48:16 +020017#define EADM_SCH_ISC 4 /* EADM subchannels */
Cornelia Huck9d92a7e2008-07-14 09:59:05 +020018#define CHSC_SCH_ISC 7 /* CHSC subchannels */
Cornelia Huck3a3fc292008-07-14 09:58:58 +020019/* Adapter interrupts. */
20#define QDIO_AIRQ_ISC IO_SCH_ISC /* I/O subchannel in qdio mode */
Jan Glauber9a4da8a2012-11-29 13:05:05 +010021#define PCI_ISC 2 /* PCI I/O subchannels */
Felix Beckcb17a632008-12-25 13:38:41 +010022#define AP_ISC 6 /* adjunct processor (crypto) devices */
Cornelia Huck3a3fc292008-07-14 09:58:58 +020023
Sebastian Ottfcc6ab32008-07-14 09:59:00 +020024/* Functions for registration of I/O interruption subclasses */
25void isc_register(unsigned int isc);
26void isc_unregister(unsigned int isc);
27
Cornelia Huck3a3fc292008-07-14 09:58:58 +020028#endif /* _ASM_S390_ISC_H */