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). */
11struct 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 */
23struct 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