Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 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 AP_ISC 6 /* adjunct processor (crypto) devices */ |
| 25 | |
| 26 | /* Functions for registration of I/O interruption subclasses */ |
| 27 | void isc_register(unsigned int isc); |
| 28 | void isc_unregister(unsigned int isc); |
| 29 | |
| 30 | #endif /* _ASM_S390_ISC_H */ |