aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/block/dasd_int.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/block/dasd_int.h')
-rw-r--r--drivers/s390/block/dasd_int.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/s390/block/dasd_int.h b/drivers/s390/block/dasd_int.h
index 4a39084d9c95..c1e487f774c6 100644
--- a/drivers/s390/block/dasd_int.h
+++ b/drivers/s390/block/dasd_int.h
@@ -112,6 +112,9 @@ do { \
112 d_data); \ 112 d_data); \
113} while(0) 113} while(0)
114 114
115/* limit size for an errorstring */
116#define ERRORLENGTH 30
117
115/* definition of dbf debug levels */ 118/* definition of dbf debug levels */
116#define DBF_EMERG 0 /* system is unusable */ 119#define DBF_EMERG 0 /* system is unusable */
117#define DBF_ALERT 1 /* action must be taken immediately */ 120#define DBF_ALERT 1 /* action must be taken immediately */
@@ -157,7 +160,8 @@ struct dasd_ccw_req {
157 struct dasd_block *block; /* the originating block device */ 160 struct dasd_block *block; /* the originating block device */
158 struct dasd_device *memdev; /* the device used to allocate this */ 161 struct dasd_device *memdev; /* the device used to allocate this */
159 struct dasd_device *startdev; /* device the request is started on */ 162 struct dasd_device *startdev; /* device the request is started on */
160 struct ccw1 *cpaddr; /* address of channel program */ 163 void *cpaddr; /* address of ccw or tcw */
164 unsigned char cpmode; /* 0 = cmd mode, 1 = itcw */
161 char status; /* status of this request */ 165 char status; /* status of this request */
162 short retries; /* A retry counter */ 166 short retries; /* A retry counter */
163 unsigned long flags; /* flags of this request */ 167 unsigned long flags; /* flags of this request */
@@ -280,6 +284,8 @@ struct dasd_discipline {
280 dasd_erp_fn_t(*erp_postaction) (struct dasd_ccw_req *); 284 dasd_erp_fn_t(*erp_postaction) (struct dasd_ccw_req *);
281 void (*dump_sense) (struct dasd_device *, struct dasd_ccw_req *, 285 void (*dump_sense) (struct dasd_device *, struct dasd_ccw_req *,
282 struct irb *); 286 struct irb *);
287 void (*dump_sense_dbf) (struct dasd_device *, struct dasd_ccw_req *,
288 struct irb *, char *);
283 289
284 void (*handle_unsolicited_interrupt) (struct dasd_device *, 290 void (*handle_unsolicited_interrupt) (struct dasd_device *,
285 struct irb *); 291 struct irb *);
@@ -378,7 +384,7 @@ struct dasd_block {
378 struct block_device *bdev; 384 struct block_device *bdev;
379 atomic_t open_count; 385 atomic_t open_count;
380 386
381 unsigned long blocks; /* size of volume in blocks */ 387 unsigned long long blocks; /* size of volume in blocks */
382 unsigned int bp_block; /* bytes per block */ 388 unsigned int bp_block; /* bytes per block */
383 unsigned int s2b_shift; /* log2 (bp_block/512) */ 389 unsigned int s2b_shift; /* log2 (bp_block/512) */
384 390
@@ -573,12 +579,14 @@ int dasd_generic_notify(struct ccw_device *, int);
573void dasd_generic_handle_state_change(struct dasd_device *); 579void dasd_generic_handle_state_change(struct dasd_device *);
574 580
575int dasd_generic_read_dev_chars(struct dasd_device *, char *, void **, int); 581int dasd_generic_read_dev_chars(struct dasd_device *, char *, void **, int);
582char *dasd_get_sense(struct irb *);
576 583
577/* externals in dasd_devmap.c */ 584/* externals in dasd_devmap.c */
578extern int dasd_max_devindex; 585extern int dasd_max_devindex;
579extern int dasd_probeonly; 586extern int dasd_probeonly;
580extern int dasd_autodetect; 587extern int dasd_autodetect;
581extern int dasd_nopav; 588extern int dasd_nopav;
589extern int dasd_nofcx;
582 590
583int dasd_devmap_init(void); 591int dasd_devmap_init(void);
584void dasd_devmap_exit(void); 592void dasd_devmap_exit(void);
@@ -623,6 +631,7 @@ struct dasd_ccw_req *dasd_alloc_erp_request(char *, int, int,
623 struct dasd_device *); 631 struct dasd_device *);
624void dasd_free_erp_request(struct dasd_ccw_req *, struct dasd_device *); 632void dasd_free_erp_request(struct dasd_ccw_req *, struct dasd_device *);
625void dasd_log_sense(struct dasd_ccw_req *, struct irb *); 633void dasd_log_sense(struct dasd_ccw_req *, struct irb *);
634void dasd_log_sense_dbf(struct dasd_ccw_req *cqr, struct irb *irb);
626 635
627/* externals in dasd_3990_erp.c */ 636/* externals in dasd_3990_erp.c */
628struct dasd_ccw_req *dasd_3990_erp_action(struct dasd_ccw_req *); 637struct dasd_ccw_req *dasd_3990_erp_action(struct dasd_ccw_req *);