Linux Audio

Check our new training course

Loading...
v5.9
 1/* SPDX-License-Identifier: GPL-2.0 */
 2/*
 3 * Orb related data structures.
 4 *
 5 * Copyright IBM Corp. 2007, 2011
 6 *
 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_H
13#define S390_ORB_H
14
15/*
16 * Command-mode operation request block
17 */
18struct cmd_orb {
19	u32 intparm;	/* interruption parameter */
20	u32 key:4;	/* flags, like key, suspend control, etc. */
21	u32 spnd:1;	/* suspend control */
22	u32 res1:1;	/* reserved */
23	u32 mod:1;	/* modification control */
24	u32 sync:1;	/* synchronize control */
25	u32 fmt:1;	/* format control */
26	u32 pfch:1;	/* prefetch control */
27	u32 isic:1;	/* initial-status-interruption control */
28	u32 alcc:1;	/* address-limit-checking control */
29	u32 ssic:1;	/* suppress-suspended-interr. control */
30	u32 res2:1;	/* reserved */
31	u32 c64:1;	/* IDAW/QDIO 64 bit control  */
32	u32 i2k:1;	/* IDAW 2/4kB block size control */
33	u32 lpm:8;	/* logical path mask */
34	u32 ils:1;	/* incorrect length */
35	u32 zero:6;	/* reserved zeros */
36	u32 orbx:1;	/* ORB extension control */
37	u32 cpa;	/* channel program address */
38}  __packed __aligned(4);
39
40/*
41 * Transport-mode operation request block
42 */
43struct tm_orb {
44	u32 intparm;
45	u32 key:4;
46	u32:9;
47	u32 b:1;
48	u32:2;
49	u32 lpm:8;
50	u32:7;
51	u32 x:1;
52	u32 tcw;
53	u32 prio:8;
54	u32:8;
55	u32 rsvpgm:8;
56	u32:8;
57	u32:32;
58	u32:32;
59	u32:32;
60	u32:32;
61}  __packed __aligned(4);
62
63/*
64 * eadm operation request block
65 */
66struct eadm_orb {
67	u32 intparm;
68	u32 key:4;
69	u32:4;
70	u32 compat1:1;
71	u32 compat2:1;
72	u32:21;
73	u32 x:1;
74	u32 aob;
75	u32 css_prio:8;
76	u32:8;
77	u32 scm_prio:8;
78	u32:8;
79	u32:29;
80	u32 fmt:3;
81	u32:32;
82	u32:32;
83	u32:32;
84}  __packed __aligned(4);
85
86union orb {
87	struct cmd_orb cmd;
88	struct tm_orb tm;
89	struct eadm_orb eadm;
90}  __packed __aligned(4);
91
92#endif /* S390_ORB_H */
v5.4
 1/* SPDX-License-Identifier: GPL-2.0 */
 2/*
 3 * Orb related data structures.
 4 *
 5 * Copyright IBM Corp. 2007, 2011
 6 *
 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_H
13#define S390_ORB_H
14
15/*
16 * Command-mode operation request block
17 */
18struct cmd_orb {
19	u32 intparm;	/* interruption parameter */
20	u32 key:4;	/* flags, like key, suspend control, etc. */
21	u32 spnd:1;	/* suspend control */
22	u32 res1:1;	/* reserved */
23	u32 mod:1;	/* modification control */
24	u32 sync:1;	/* synchronize control */
25	u32 fmt:1;	/* format control */
26	u32 pfch:1;	/* prefetch control */
27	u32 isic:1;	/* initial-status-interruption control */
28	u32 alcc:1;	/* address-limit-checking control */
29	u32 ssic:1;	/* suppress-suspended-interr. control */
30	u32 res2:1;	/* reserved */
31	u32 c64:1;	/* IDAW/QDIO 64 bit control  */
32	u32 i2k:1;	/* IDAW 2/4kB block size control */
33	u32 lpm:8;	/* logical path mask */
34	u32 ils:1;	/* incorrect length */
35	u32 zero:6;	/* reserved zeros */
36	u32 orbx:1;	/* ORB extension control */
37	u32 cpa;	/* channel program address */
38}  __packed __aligned(4);
39
40/*
41 * Transport-mode operation request block
42 */
43struct tm_orb {
44	u32 intparm;
45	u32 key:4;
46	u32:9;
47	u32 b:1;
48	u32:2;
49	u32 lpm:8;
50	u32:7;
51	u32 x:1;
52	u32 tcw;
53	u32 prio:8;
54	u32:8;
55	u32 rsvpgm:8;
56	u32:8;
57	u32:32;
58	u32:32;
59	u32:32;
60	u32:32;
61}  __packed __aligned(4);
62
63/*
64 * eadm operation request block
65 */
66struct eadm_orb {
67	u32 intparm;
68	u32 key:4;
69	u32:4;
70	u32 compat1:1;
71	u32 compat2:1;
72	u32:21;
73	u32 x:1;
74	u32 aob;
75	u32 css_prio:8;
76	u32:8;
77	u32 scm_prio:8;
78	u32:8;
79	u32:29;
80	u32 fmt:3;
81	u32:32;
82	u32:32;
83	u32:32;
84}  __packed __aligned(4);
85
86union orb {
87	struct cmd_orb cmd;
88	struct tm_orb tm;
89	struct eadm_orb eadm;
90}  __packed __aligned(4);
91
92#endif /* S390_ORB_H */