1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Functions for incremental construction of fcx enabled I/O control blocks.
5 * Copyright IBM Corp. 2008
6 * Author(s): Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
9 #ifndef _ASM_S390_ITCW_H
10 #define _ASM_S390_ITCW_H
12 #include <linux/types.h>
15 #define ITCW_OP_READ 0
16 #define ITCW_OP_WRITE 1
20 struct tcw
*itcw_get_tcw(struct itcw
*itcw
);
21 size_t itcw_calc_size(int intrg
, int max_tidaws
, int intrg_max_tidaws
);
22 struct itcw
*itcw_init(void *buffer
, size_t size
, int op
, int intrg
,
23 int max_tidaws
, int intrg_max_tidaws
);
24 struct dcw
*itcw_add_dcw(struct itcw
*itcw
, u8 cmd
, u8 flags
, void *cd
,
25 u8 cd_count
, u32 count
);
26 struct tidaw
*itcw_add_tidaw(struct itcw
*itcw
, u8 flags
, void *addr
,
28 void itcw_set_data(struct itcw
*itcw
, void *addr
, int use_tidal
);
29 void itcw_finalize(struct itcw
*itcw
);
31 #endif /* _ASM_S390_ITCW_H */