[PATCH] s390: cleanup Kconfig
[linux-2.6/linux-2.6-openrd.git] / drivers / s390 / block / dasd_diag.h
bloba4f80bd735f1e94730fabd434c7615b7c7972186
1 /*
2 * File...........: linux/drivers/s390/block/dasd_diag.h
3 * Author(s)......: Holger Smolinski <Holger.Smolinski@de.ibm.com>
4 * Based on.......: linux/drivers/s390/block/mdisk.h
5 * ...............: by Hartmunt Penner <hpenner@de.ibm.com>
6 * Bugreports.to..: <Linux390@de.ibm.com>
7 * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000
9 * $Revision: 1.9 $
12 #define MDSK_WRITE_REQ 0x01
13 #define MDSK_READ_REQ 0x02
15 #define INIT_BIO 0x00
16 #define RW_BIO 0x01
17 #define TERM_BIO 0x02
19 #define DEV_CLASS_FBA 0x01
20 #define DEV_CLASS_ECKD 0x04
22 #define DASD_DIAG_LC_INT_CODE 132
23 #define DASD_DIAG_LC_INT_STATUS 133
24 #define DASD_DIAG_LC_INT_PARM_31BIT 128
25 #define DASD_DIAG_LC_INT_PARM_64BIT 4536
26 #define DASD_DIAG_CODE_31BIT 0x03
27 #define DASD_DIAG_CODE_64BIT 0x07
29 #define DASD_DIAG_RWFLAG_ASYNC 0x02
30 #define DASD_DIAG_RWFLAG_NOCACHE 0x01
32 #define DASD_DIAG_FLAGA_FORMAT_64BIT 0x80
34 struct dasd_diag_characteristics {
35 u16 dev_nr;
36 u16 rdc_len;
37 u8 vdev_class;
38 u8 vdev_type;
39 u8 vdev_status;
40 u8 vdev_flags;
41 u8 rdev_class;
42 u8 rdev_type;
43 u8 rdev_model;
44 u8 rdev_features;
45 } __attribute__ ((packed, aligned(4)));
48 #ifdef CONFIG_64BIT
49 #define DASD_DIAG_FLAGA_DEFAULT DASD_DIAG_FLAGA_FORMAT_64BIT
51 typedef u64 blocknum_t;
52 typedef s64 sblocknum_t;
54 struct dasd_diag_bio {
55 u8 type;
56 u8 status;
57 u8 spare1[2];
58 u32 alet;
59 blocknum_t block_number;
60 void *buffer;
61 } __attribute__ ((packed, aligned(8)));
63 struct dasd_diag_init_io {
64 u16 dev_nr;
65 u8 flaga;
66 u8 spare1[21];
67 u32 block_size;
68 u8 spare2[4];
69 blocknum_t offset;
70 sblocknum_t start_block;
71 blocknum_t end_block;
72 u8 spare3[8];
73 } __attribute__ ((packed, aligned(8)));
75 struct dasd_diag_rw_io {
76 u16 dev_nr;
77 u8 flaga;
78 u8 spare1[21];
79 u8 key;
80 u8 flags;
81 u8 spare2[2];
82 u32 block_count;
83 u32 alet;
84 u8 spare3[4];
85 u64 interrupt_params;
86 struct dasd_diag_bio *bio_list;
87 u8 spare4[8];
88 } __attribute__ ((packed, aligned(8)));
89 #else /* CONFIG_64BIT */
90 #define DASD_DIAG_FLAGA_DEFAULT 0x0
92 typedef u32 blocknum_t;
93 typedef s32 sblocknum_t;
95 struct dasd_diag_bio {
96 u8 type;
97 u8 status;
98 u16 spare1;
99 blocknum_t block_number;
100 u32 alet;
101 void *buffer;
102 } __attribute__ ((packed, aligned(8)));
104 struct dasd_diag_init_io {
105 u16 dev_nr;
106 u8 flaga;
107 u8 spare1[21];
108 u32 block_size;
109 blocknum_t offset;
110 sblocknum_t start_block;
111 blocknum_t end_block;
112 u8 spare2[24];
113 } __attribute__ ((packed, aligned(8)));
115 struct dasd_diag_rw_io {
116 u16 dev_nr;
117 u8 flaga;
118 u8 spare1[21];
119 u8 key;
120 u8 flags;
121 u8 spare2[2];
122 u32 block_count;
123 u32 alet;
124 struct dasd_diag_bio *bio_list;
125 u32 interrupt_params;
126 u8 spare3[20];
127 } __attribute__ ((packed, aligned(8)));
128 #endif /* CONFIG_64BIT */