xref: /openbmc/linux/arch/s390/include/asm/isc.h (revision 612a462a)
1 #ifndef _ASM_S390_ISC_H
2 #define _ASM_S390_ISC_H
3 
4 #include <linux/types.h>
5 
6 /*
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 */
17 #define EADM_SCH_ISC 4			/* EADM subchannels */
18 #define CHSC_SCH_ISC 7			/* CHSC subchannels */
19 #define VFIO_CCW_ISC IO_SCH_ISC		/* VFIO-CCW I/O subchannels */
20 /* Adapter interrupts. */
21 #define QDIO_AIRQ_ISC IO_SCH_ISC	/* I/O subchannel in qdio mode */
22 #define PCI_ISC 2			/* PCI I/O subchannels */
23 #define AP_ISC 6			/* adjunct processor (crypto) devices */
24 
25 /* Functions for registration of I/O interruption subclasses */
26 void isc_register(unsigned int isc);
27 void isc_unregister(unsigned int isc);
28 
29 #endif /* _ASM_S390_ISC_H */
30