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