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