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