diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-02-04 07:40:19 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-02-04 07:40:19 +0000 |
commit | 33263fc5f9ac8e8cb2b22d06af3ce5ac1dd815e4 (patch) | |
tree | 2d1b86a40bef0958a68cf1a2eafbeb0667a70543 /drivers/scsi/hosts.h | |
parent | 216f5f51aa02f8b113aa620ebc14a9631a217a00 (diff) |
Merge with Linux 2.3.32.
Diffstat (limited to 'drivers/scsi/hosts.h')
-rw-r--r-- | drivers/scsi/hosts.h | 38 |
1 files changed, 12 insertions, 26 deletions
diff --git a/drivers/scsi/hosts.h b/drivers/scsi/hosts.h index ae3d13c66..18a9bf45c 100644 --- a/drivers/scsi/hosts.h +++ b/drivers/scsi/hosts.h @@ -1,6 +1,6 @@ /* * hosts.h Copyright (C) 1992 Drew Eckhardt - * Copyright (C) 1993, 1994, 1995 Eric Youngdale + * Copyright (C) 1993, 1994, 1995, 1998, 1999 Eric Youngdale * * mid to low-level SCSI driver interface header * Initial versions: Drew Eckhardt @@ -8,7 +8,7 @@ * * <drew@colorado.edu> * - * Modified by Eric Youngdale eric@aib.com to + * Modified by Eric Youngdale eric@andante.org to * add scatter-gather, multiple outstanding request, and other * enhancements. * @@ -25,7 +25,6 @@ $Header: /vger/u4/cvs/linux/drivers/scsi/hosts.h,v 1.6 1997/01/19 23:07:13 davem Exp $ */ -#include <linux/config.h> #include <linux/proc_fs.h> /* It is senseless to set SG_ALL any higher than this - the performance @@ -302,13 +301,7 @@ struct Scsi_Host */ struct Scsi_Host * next; Scsi_Device * host_queue; - /* - * List of commands that have been rejected because either the host - * or the device was busy. These need to be retried relatively quickly, - * but we need to hold onto it for a short period until the host/device - * is available. - */ - Scsi_Cmnd * pending_commands; + struct task_struct * ehandler; /* Error recovery thread. */ struct semaphore * eh_wait; /* The error recovery thread waits on @@ -327,7 +320,6 @@ struct Scsi_Host /* public: */ unsigned short extra_bytes; unsigned short host_no; /* Used for IOCTL_GET_IDLUN, /proc/scsi et al. */ - char proc_name[4]; int resetting; /* if set, it means that last_reset is a valid value */ unsigned long last_reset; @@ -342,16 +334,9 @@ struct Scsi_Host unsigned int max_lun; unsigned int max_channel; - /* - * Pointer to a circularly linked list - this indicates the hosts - * that should be locked out of performing I/O while we have an active - * command on this host. - */ - struct Scsi_Host * block; - unsigned wish_block:1; /* These parameters should be set by the detect routine */ - unsigned char *base; + unsigned long base; unsigned long io_port; unsigned char n_io_port; unsigned char dma_channel; @@ -393,9 +378,14 @@ struct Scsi_Host * Host uses correct SCSI ordering not PC ordering. The bit is * set for the minority of drivers whose authors actually read the spec ;) */ - unsigned reverse_ordering:1; - + + /* + * Indicates that one or more devices on this host were starved, and + * when the device becomes less busy that we need to feed them. + */ + unsigned some_device_starved:1; + void (*select_queue_depths)(struct Scsi_Host *, Scsi_Device *); /* @@ -414,7 +404,6 @@ extern Scsi_Host_Template * scsi_hosts; extern void build_proc_dir_entries(Scsi_Host_Template *); - /* * scsi_init initializes the scsi hosts. */ @@ -458,6 +447,7 @@ struct Scsi_Device_Template void (*finish)(void); /* Perform initialization after attachment */ int (*attach)(Scsi_Device *); /* Attach devices to arrays */ void (*detach)(Scsi_Device *); + int (*init_command)(Scsi_Cmnd *); /* Used by new queueing code. */ }; extern struct Scsi_Device_Template sd_template; @@ -487,11 +477,7 @@ extern void scsi_unregister_module(int, void *); * Even bigger hack for SparcSTORAGE arrays. Those are at least 6 disks, but * usually up to 30 disks, so everyone would need to change this. -jj */ -#ifdef CONFIG_SCSI_PLUTO_MODULE #define SD_EXTRA_DEVS 40 -#else -#define SD_EXTRA_DEVS 4 -#endif #define ST_EXTRA_DEVS 2 #define SR_EXTRA_DEVS 2 #define SG_EXTRA_DEVS (SD_EXTRA_DEVS + SR_EXTRA_DEVS + ST_EXTRA_DEVS) |