xref: /openbmc/linux/arch/s390/include/asm/isc.h (revision 3cf3cdea)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_S390_ISC_H
3 #define _ASM_S390_ISC_H
4 
5 #include <linux/types.h>
6 
7 /*
8  * I/O interruption subclasses used by drivers.
9  * Please add all used iscs here so that it is possible to distribute
10  * isc usage between drivers.
11  * Reminder: 0 is highest priority, 7 lowest.
12  */
13 #define MAX_ISC 7
14 
15 /* Regular I/O interrupts. */
16 #define IO_SCH_ISC 3			/* regular I/O subchannels */
17 #define CONSOLE_ISC 1			/* console I/O subchannel */
18 #define EADM_SCH_ISC 4			/* EADM subchannels */
19 #define CHSC_SCH_ISC 7			/* CHSC subchannels */
20 #define VFIO_CCW_ISC IO_SCH_ISC		/* VFIO-CCW I/O subchannels */
21 /* Adapter interrupts. */
22 #define QDIO_AIRQ_ISC IO_SCH_ISC	/* I/O subchannel in qdio mode */
23 #define PCI_ISC 2			/* PCI I/O subchannels */
24 #define GAL_ISC 5			/* GIB alert */
25 #define AP_ISC 6			/* adjunct processor (crypto) devices */
26 
27 /* Functions for registration of I/O interruption subclasses */
28 void isc_register(unsigned int isc);
29 void isc_unregister(unsigned int isc);
30 
31 #endif /* _ASM_S390_ISC_H */
32