Commit 1eebea60 authored by Dario Ballabio's avatar Dario Ballabio Committed by Linus Torvalds

[PATCH] PATCH: eata driver update

The enclosed patch fix compile problems and adds all the diffs which
were still missing from 2.5.51.
parent e26768dc
...@@ -467,9 +467,8 @@ config SCSI_EATA ...@@ -467,9 +467,8 @@ config SCSI_EATA
---help--- ---help---
This driver supports all EATA/DMA-compliant SCSI host adapters. DPT This driver supports all EATA/DMA-compliant SCSI host adapters. DPT
ISA and all EISA I/O addresses are probed looking for the "EATA" ISA and all EISA I/O addresses are probed looking for the "EATA"
signature. If you chose "BIOS" at the question "PCI access mode", signature. The addresses of all the PCI SCSI controllers reported
the addresses of all the PCI SCSI controllers reported by the PCI by the PCI subsystem are probed as well.
subsystem are probed as well.
You want to read the start of <file:drivers/scsi/eata.c> and the You want to read the start of <file:drivers/scsi/eata.c> and the
SCSI-HOWTO, available from SCSI-HOWTO, available from
...@@ -490,9 +489,8 @@ config SCSI_EATA_TAGGED_QUEUE ...@@ -490,9 +489,8 @@ config SCSI_EATA_TAGGED_QUEUE
help help
This is a feature of SCSI-2 which improves performance: the host This is a feature of SCSI-2 which improves performance: the host
adapter can send several SCSI commands to a device's queue even if adapter can send several SCSI commands to a device's queue even if
previous commands haven't finished yet. Most EATA adapters negotiate previous commands haven't finished yet.
this feature automatically with the device, even if your answer is This is equivalent to the "eata=tc:y" boot option.
N. The safe answer is N.
config SCSI_EATA_LINKED_COMMANDS config SCSI_EATA_LINKED_COMMANDS
bool "enable elevator sorting" bool "enable elevator sorting"
...@@ -502,7 +500,7 @@ config SCSI_EATA_LINKED_COMMANDS ...@@ -502,7 +500,7 @@ config SCSI_EATA_LINKED_COMMANDS
CD-ROMs. It definitely reduces the average seek distance when doing CD-ROMs. It definitely reduces the average seek distance when doing
random seeks, but this does not necessarily result in a noticeable random seeks, but this does not necessarily result in a noticeable
performance improvement: your mileage may vary... performance improvement: your mileage may vary...
The safe answer is N. This is equivalent to the "eata=lc:y" boot option.
config SCSI_EATA_MAX_TAGS config SCSI_EATA_MAX_TAGS
int "maximum number of queued commands" int "maximum number of queued commands"
...@@ -515,6 +513,7 @@ config SCSI_EATA_MAX_TAGS ...@@ -515,6 +513,7 @@ config SCSI_EATA_MAX_TAGS
Minimum is 2 and maximum is 62. This value is also the window size Minimum is 2 and maximum is 62. This value is also the window size
used by the elevator sorting option above. The effective value used used by the elevator sorting option above. The effective value used
by the driver for each probed SCSI device is reported at boot time. by the driver for each probed SCSI device is reported at boot time.
This is equivalent to the "eata=mq:8" boot option.
config SCSI_EATA_DMA config SCSI_EATA_DMA
tristate "EATA-DMA [Obsolete] (DPT, NEC, AT&T, SNI, AST, Olivetti, Alphatronix) support" tristate "EATA-DMA [Obsolete] (DPT, NEC, AT&T, SNI, AST, Olivetti, Alphatronix) support"
...@@ -1487,6 +1486,15 @@ config SCSI_U14_34F ...@@ -1487,6 +1486,15 @@ config SCSI_U14_34F
The module will be called u14-34f.o. If you want to compile it as a The module will be called u14-34f.o. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>. module, say M here and read <file:Documentation/modules.txt>.
config SCSI_U14_34F_TAGGED_QUEUE
bool "enable tagged command queueing"
depends on SCSI_U14_34F
help
This is a feature of SCSI-2 which improves performance: the host
adapter can send several SCSI commands to a device's queue even if
previous commands haven't finished yet.
This is equivalent to the "u14-34f=tc:y" boot option.
config SCSI_U14_34F_LINKED_COMMANDS config SCSI_U14_34F_LINKED_COMMANDS
bool "enable elevator sorting" bool "enable elevator sorting"
depends on SCSI_U14_34F depends on SCSI_U14_34F
...@@ -1495,8 +1503,7 @@ config SCSI_U14_34F_LINKED_COMMANDS ...@@ -1495,8 +1503,7 @@ config SCSI_U14_34F_LINKED_COMMANDS
CD-ROMs. It definitely reduces the average seek distance when doing CD-ROMs. It definitely reduces the average seek distance when doing
random seeks, but this does not necessarily result in a noticeable random seeks, but this does not necessarily result in a noticeable
performance improvement: your mileage may vary... performance improvement: your mileage may vary...
This is equivalent to the "u14-34f=lc:y" boot option.
The safe answer is N.
config SCSI_U14_34F_MAX_TAGS config SCSI_U14_34F_MAX_TAGS
int "maximum number of queued commands" int "maximum number of queued commands"
...@@ -1509,6 +1516,7 @@ config SCSI_U14_34F_MAX_TAGS ...@@ -1509,6 +1516,7 @@ config SCSI_U14_34F_MAX_TAGS
Minimum is 2 and maximum is 14. This value is also the window size Minimum is 2 and maximum is 14. This value is also the window size
used by the elevator sorting option above. The effective value used used by the elevator sorting option above. The effective value used
by the driver for each probed SCSI device is reported at boot time. by the driver for each probed SCSI device is reported at boot time.
This is equivalent to the "u14-34f=mq:8" boot option.
config SCSI_ULTRASTOR config SCSI_ULTRASTOR
tristate "UltraStor SCSI support" tristate "UltraStor SCSI support"
......
This diff is collapsed.
...@@ -7,11 +7,11 @@ static int eata2x_release(struct Scsi_Host *); ...@@ -7,11 +7,11 @@ static int eata2x_release(struct Scsi_Host *);
static int eata2x_queuecommand(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *)); static int eata2x_queuecommand(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
static int eata2x_eh_abort(Scsi_Cmnd *); static int eata2x_eh_abort(Scsi_Cmnd *);
static int eata2x_eh_host_reset(Scsi_Cmnd *); static int eata2x_eh_host_reset(Scsi_Cmnd *);
static int eata2x_biosparam(struct scsi_device *, struct block_device *, static int eata2x_bios_param(struct scsi_device *, struct block_device *,
sector_t, int *); sector_t, int *);
static int eata2x_slave_configure(Scsi_Device *); static int eata2x_slave_configure(Scsi_Device *);
#define EATA_VERSION "8.00.00" #define EATA_VERSION "8.03.00"
#define EATA { \ #define EATA { \
.name = "EATA/DMA 2.0x rev. " EATA_VERSION " ", \ .name = "EATA/DMA 2.0x rev. " EATA_VERSION " ", \
......
/* /*
* u14-34f.c - Low-level driver for UltraStor 14F/34F SCSI host adapters. * u14-34f.c - Low-level driver for UltraStor 14F/34F SCSI host adapters.
* *
* 12 Nov 2002 Rev. 8.02 for linux 2.5.47
* + Release driver_lock before calling scsi_register.
*
* 11 Nov 2002 Rev. 8.01 for linux 2.5.47
* + Fixed bios_param and scsicam_bios_param calling parameters.
*
* 28 Oct 2002 Rev. 8.00 for linux 2.5.44-ac4 * 28 Oct 2002 Rev. 8.00 for linux 2.5.44-ac4
* + Use new tcq and adjust_queue_depth api. * + Use new tcq and adjust_queue_depth api.
* + New command line option (tm:[0-2]) to choose the type of tags: * + New command line option (tm:[0-2]) to choose the type of tags:
...@@ -841,7 +847,9 @@ static int port_detect \ ...@@ -841,7 +847,9 @@ static int port_detect \
if (have_old_firmware) tpnt->use_clustering = DISABLE_CLUSTERING; if (have_old_firmware) tpnt->use_clustering = DISABLE_CLUSTERING;
spin_unlock(&driver_lock);
sh[j] = scsi_register(tpnt, sizeof(struct hostdata)); sh[j] = scsi_register(tpnt, sizeof(struct hostdata));
spin_lock(&driver_lock);
if (sh[j] == NULL) { if (sh[j] == NULL) {
printk("%s: unable to register host, detaching.\n", name); printk("%s: unable to register host, detaching.\n", name);
...@@ -1488,8 +1496,8 @@ static int u14_34f_eh_host_reset(Scsi_Cmnd *SCarg) { ...@@ -1488,8 +1496,8 @@ static int u14_34f_eh_host_reset(Scsi_Cmnd *SCarg) {
return SUCCESS; return SUCCESS;
} }
static int u14_34f_bios_param(struct scsi_device *disk, struct block_device *bdev, static int u14_34f_bios_param(struct scsi_device *disk,
sector_t capacity, int *dkinfo) { struct block_device *bdev, sector_t capacity, int *dkinfo) {
unsigned int j = 0; unsigned int j = 0;
unsigned int size = capacity; unsigned int size = capacity;
......
...@@ -7,10 +7,11 @@ static int u14_34f_release(struct Scsi_Host *); ...@@ -7,10 +7,11 @@ static int u14_34f_release(struct Scsi_Host *);
static int u14_34f_queuecommand(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *)); static int u14_34f_queuecommand(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
static int u14_34f_eh_abort(Scsi_Cmnd *); static int u14_34f_eh_abort(Scsi_Cmnd *);
static int u14_34f_eh_host_reset(Scsi_Cmnd *); static int u14_34f_eh_host_reset(Scsi_Cmnd *);
static int u14_34f_bios_param(struct scsi_device *, struct block_device *, sector_t, int *); static int u14_34f_bios_param(struct scsi_device *, struct block_device *,
sector_t, int *);
static int u14_34f_slave_configure(Scsi_Device *); static int u14_34f_slave_configure(Scsi_Device *);
#define U14_34F_VERSION "8.00.00" #define U14_34F_VERSION "8.03.00"
#define ULTRASTOR_14_34F { \ #define ULTRASTOR_14_34F { \
.name = "UltraStor 14F/34F rev. " U14_34F_VERSION " ", \ .name = "UltraStor 14F/34F rev. " U14_34F_VERSION " ", \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment