18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#ifndef _ASM_S390_ISC_H 38c2ecf20Sopenharmony_ci#define _ASM_S390_ISC_H 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#include <linux/types.h> 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci/* 88c2ecf20Sopenharmony_ci * I/O interruption subclasses used by drivers. 98c2ecf20Sopenharmony_ci * Please add all used iscs here so that it is possible to distribute 108c2ecf20Sopenharmony_ci * isc usage between drivers. 118c2ecf20Sopenharmony_ci * Reminder: 0 is highest priority, 7 lowest. 128c2ecf20Sopenharmony_ci */ 138c2ecf20Sopenharmony_ci#define MAX_ISC 7 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci/* Regular I/O interrupts. */ 168c2ecf20Sopenharmony_ci#define IO_SCH_ISC 3 /* regular I/O subchannels */ 178c2ecf20Sopenharmony_ci#define CONSOLE_ISC 1 /* console I/O subchannel */ 188c2ecf20Sopenharmony_ci#define EADM_SCH_ISC 4 /* EADM subchannels */ 198c2ecf20Sopenharmony_ci#define CHSC_SCH_ISC 7 /* CHSC subchannels */ 208c2ecf20Sopenharmony_ci#define VFIO_CCW_ISC IO_SCH_ISC /* VFIO-CCW I/O subchannels */ 218c2ecf20Sopenharmony_ci/* Adapter interrupts. */ 228c2ecf20Sopenharmony_ci#define QDIO_AIRQ_ISC IO_SCH_ISC /* I/O subchannel in qdio mode */ 238c2ecf20Sopenharmony_ci#define PCI_ISC 2 /* PCI I/O subchannels */ 248c2ecf20Sopenharmony_ci#define GAL_ISC 5 /* GIB alert */ 258c2ecf20Sopenharmony_ci#define AP_ISC 6 /* adjunct processor (crypto) devices */ 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci/* Functions for registration of I/O interruption subclasses */ 288c2ecf20Sopenharmony_civoid isc_register(unsigned int isc); 298c2ecf20Sopenharmony_civoid isc_unregister(unsigned int isc); 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci#endif /* _ASM_S390_ISC_H */ 32