brintos

brintos / linux-shallow public Read only

0
0
Text · 1.9 KiB · 14d2a18 Raw
96 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * Orb related data structures.4 *5 * Copyright IBM Corp. 2007, 20116 *7 * Author(s): Cornelia Huck <cornelia.huck@de.ibm.com>8 *	      Peter Oberparleiter <peter.oberparleiter@de.ibm.com>9 *	      Sebastian Ott <sebott@linux.vnet.ibm.com>10 */11 12#ifndef S390_ORB_H13#define S390_ORB_H14 15#include <linux/types.h>16#include <asm/dma-types.h>17 18/*19 * Command-mode operation request block20 */21struct cmd_orb {22	u32 intparm;	/* interruption parameter */23	u32 key:4;	/* flags, like key, suspend control, etc. */24	u32 spnd:1;	/* suspend control */25	u32 res1:1;	/* reserved */26	u32 mod:1;	/* modification control */27	u32 sync:1;	/* synchronize control */28	u32 fmt:1;	/* format control */29	u32 pfch:1;	/* prefetch control */30	u32 isic:1;	/* initial-status-interruption control */31	u32 alcc:1;	/* address-limit-checking control */32	u32 ssic:1;	/* suppress-suspended-interr. control */33	u32 res2:1;	/* reserved */34	u32 c64:1;	/* IDAW/QDIO 64 bit control  */35	u32 i2k:1;	/* IDAW 2/4kB block size control */36	u32 lpm:8;	/* logical path mask */37	u32 ils:1;	/* incorrect length */38	u32 zero:6;	/* reserved zeros */39	u32 orbx:1;	/* ORB extension control */40	dma32_t cpa;	/* channel program address */41}  __packed __aligned(4);42 43/*44 * Transport-mode operation request block45 */46struct tm_orb {47	u32 intparm;48	u32 key:4;49	u32:9;50	u32 b:1;51	u32:2;52	u32 lpm:8;53	u32:7;54	u32 x:1;55	dma32_t tcw;56	u32 prio:8;57	u32:8;58	u32 rsvpgm:8;59	u32:8;60	u32:32;61	u32:32;62	u32:32;63	u32:32;64}  __packed __aligned(4);65 66/*67 * eadm operation request block68 */69struct eadm_orb {70	u32 intparm;71	u32 key:4;72	u32:4;73	u32 compat1:1;74	u32 compat2:1;75	u32:21;76	u32 x:1;77	dma32_t aob;78	u32 css_prio:8;79	u32:8;80	u32 scm_prio:8;81	u32:8;82	u32:29;83	u32 fmt:3;84	u32:32;85	u32:32;86	u32:32;87}  __packed __aligned(4);88 89union orb {90	struct cmd_orb cmd;91	struct tm_orb tm;92	struct eadm_orb eadm;93}  __packed __aligned(4);94 95#endif /* S390_ORB_H */96