diff options
Diffstat (limited to 'arch/s390/include/asm/cio.h')
| -rw-r--r-- | arch/s390/include/asm/cio.h | 28 | 
1 files changed, 27 insertions, 1 deletions
diff --git a/arch/s390/include/asm/cio.h b/arch/s390/include/asm/cio.h index 77043aa44d6..55bde603521 100644 --- a/arch/s390/include/asm/cio.h +++ b/arch/s390/include/asm/cio.h @@ -80,6 +80,18 @@ struct erw {  } __attribute__ ((packed));  /** + * struct erw_eadm - EADM Subchannel extended report word + * @b: aob error + * @r: arsb error + */ +struct erw_eadm { +	__u32 : 16; +	__u32 b : 1; +	__u32 r : 1; +	__u32  : 14; +} __packed; + +/**   * struct sublog - subchannel logout area   * @res0: reserved   * @esf: extended status flags @@ -170,9 +182,22 @@ struct esw3 {  } __attribute__ ((packed));  /** + * struct esw_eadm - EADM Subchannel Extended Status Word (ESW) + * @sublog: subchannel logout + * @erw: extended report word + */ +struct esw_eadm { +	__u32 sublog; +	struct erw_eadm erw; +	__u32 : 32; +	__u32 : 32; +	__u32 : 32; +} __packed; + +/**   * struct irb - interruption response block   * @scsw: subchannel status word - * @esw: extened status word, 4 formats + * @esw: extened status word   * @ecw: extended control word   *   * The irb that is handed to the device driver when an interrupt occurs. For @@ -191,6 +216,7 @@ struct irb {  		struct esw1 esw1;  		struct esw2 esw2;  		struct esw3 esw3; +		struct esw_eadm eadm;  	} esw;  	__u8   ecw[32];  } __attribute__ ((packed,aligned(4)));  |