2 * Author(s)......: Holger Smolinski <Holger.Smolinski@de.ibm.com>
3 * Based on.......: linux/drivers/s390/block/mdisk.h
4 * ...............: by Hartmunt Penner <hpenner@de.ibm.com>
5 * Bugreports.to..: <Linux390@de.ibm.com>
6 * Copyright IBM Corp. 1999, 2000
10 #define MDSK_WRITE_REQ 0x01
11 #define MDSK_READ_REQ 0x02
17 #define DEV_CLASS_FBA 0x01
18 #define DEV_CLASS_ECKD 0x04
20 #define DASD_DIAG_CODE_31BIT 0x03
21 #define DASD_DIAG_CODE_64BIT 0x07
23 #define DASD_DIAG_RWFLAG_ASYNC 0x02
24 #define DASD_DIAG_RWFLAG_NOCACHE 0x01
26 #define DASD_DIAG_FLAGA_FORMAT_64BIT 0x80
28 struct dasd_diag_characteristics {
39 } __attribute__ ((packed, aligned(4)));
43 #define DASD_DIAG_FLAGA_DEFAULT DASD_DIAG_FLAGA_FORMAT_64BIT
45 typedef u64 blocknum_t;
46 typedef s64 sblocknum_t;
48 struct dasd_diag_bio {
53 blocknum_t block_number;
55 } __attribute__ ((packed, aligned(8)));
57 struct dasd_diag_init_io {
64 sblocknum_t start_block;
67 } __attribute__ ((packed, aligned(8)));
69 struct dasd_diag_rw_io {
80 struct dasd_diag_bio *bio_list;
82 } __attribute__ ((packed, aligned(8)));
83 #else /* CONFIG_64BIT */
84 #define DASD_DIAG_FLAGA_DEFAULT 0x0
86 typedef u32 blocknum_t;
87 typedef s32 sblocknum_t;
89 struct dasd_diag_bio {
93 blocknum_t block_number;
96 } __attribute__ ((packed, aligned(8)));
98 struct dasd_diag_init_io {
104 sblocknum_t start_block;
105 blocknum_t end_block;
107 } __attribute__ ((packed, aligned(8)));
109 struct dasd_diag_rw_io {
118 struct dasd_diag_bio *bio_list;
119 u32 interrupt_params;
121 } __attribute__ ((packed, aligned(8)));
122 #endif /* CONFIG_64BIT */