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