1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 #ifndef _ASM_S390_TPI_H 3 #define _ASM_S390_TPI_H 4 5 #include <linux/types.h> 6 #include <uapi/asm/schid.h> 7 8 #ifndef __ASSEMBLY__ 9 10 /* I/O-Interruption Code as stored by TEST PENDING INTERRUPTION (TPI). */ 11 struct tpi_info { 12 struct subchannel_id schid; 13 u32 intparm; 14 u32 adapter_IO:1; 15 u32 directed_irq:1; 16 u32 isc:3; 17 u32 :12; 18 u32 type:3; 19 u32 :12; 20 } __packed __aligned(4); 21 22 /* I/O-Interruption Code as stored by TPI for an Adapter I/O */ 23 struct tpi_adapter_info { 24 u32 aism:8; 25 u32 :22; 26 u32 error:1; 27 u32 forward:1; 28 u32 reserved; 29 u32 adapter_IO:1; 30 u32 directed_irq:1; 31 u32 isc:3; 32 u32 :27; 33 } __packed __aligned(4); 34 35 #endif /* __ASSEMBLY__ */ 36 37 #endif /* _ASM_S390_TPI_H */ 38