Commit ad4341e7 authored by Achim Leubner's avatar Achim Leubner Committed by Linus Torvalds

[PATCH] gdth driver update

- Maintainers email address and copyright messages updated
- Scanning for EISA and ISA controllers disabled due to a resource conflict
  with the Adaptec aic driver
- Switch "probe_eisa_isa" added to give the possibility to enable the
  EISA/ISA scan if required
- Driver version increased to 2.08
parent fcdcae94
...@@ -1869,9 +1869,9 @@ S: D53424 Remagen ...@@ -1869,9 +1869,9 @@ S: D53424 Remagen
S: Germany S: Germany
N: Achim Leubner N: Achim Leubner
E: achim.leubner@intel.com E: achim_leubner@adaptec.com
D: GDT Disk Array Controller/Storage RAID controller driver D: GDT Disk Array Controller/Storage RAID controller driver
S: ICP vortex GmbH, an Intel company S: ICP vortex GmbH
S: Neckarsulm S: Neckarsulm
S: Germany S: Germany
......
...@@ -814,7 +814,7 @@ S: Odd fixes (e.g., new signatures) ...@@ -814,7 +814,7 @@ S: Odd fixes (e.g., new signatures)
GDT SCSI DISK ARRAY CONTROLLER DRIVER GDT SCSI DISK ARRAY CONTROLLER DRIVER
P: Achim Leubner P: Achim Leubner
M: achim.leubner@intel.com M: achim_leubner@adaptec.com
L: linux-scsi@vger.kernel.org L: linux-scsi@vger.kernel.org
W: http://www.icp-vortex.com/ W: http://www.icp-vortex.com/
S: Supported S: Supported
......
...@@ -556,7 +556,7 @@ config SCSI_GDTH ...@@ -556,7 +556,7 @@ config SCSI_GDTH
Formerly called GDT SCSI Disk Array Controller Support. Formerly called GDT SCSI Disk Array Controller Support.
This is a driver for RAID/SCSI Disk Array Controllers (EISA/ISA/PCI) This is a driver for RAID/SCSI Disk Array Controllers (EISA/ISA/PCI)
manufactured by Intel/ICP vortex (an Intel Company). It is documented manufactured by Intel Corporation/ICP vortex GmbH. It is documented
in the kernel source in <file:drivers/scsi/gdth.c> and in the kernel source in <file:drivers/scsi/gdth.c> and
<file:drivers/scsi/gdth.h.> <file:drivers/scsi/gdth.h.>
......
...@@ -4,11 +4,14 @@ ...@@ -4,11 +4,14 @@
* Intel Corporation: Storage RAID Controllers * * Intel Corporation: Storage RAID Controllers *
* * * *
* gdth.c * * gdth.c *
* Copyright (C) 1995-03 ICP vortex, an Intel company, Achim Leubner * * Copyright (C) 1995-03 ICP vortex GmbH, Achim Leubner *
* <achim.leubner@intel.com> * * Copyright (C) 2002-03 Intel Corporation *
* Copyright (C) 2003 Adaptec Inc. *
* <achim_leubner@adaptec.com> *
* * * *
* Additions/Fixes: Boji Tony Kannanthanam * * Additions/Fixes: *
* <boji.t.kannanthanam@intel.com> * * Boji Tony Kannanthanam <boji.t.kannanthanam@intel.com> *
* Johannes Dinner <johannes_dinner@adaptec.com> *
* * * *
* This program is free software; you can redistribute it and/or modify * * This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published * * it under the terms of the GNU General Public License as published *
...@@ -24,9 +27,13 @@ ...@@ -24,9 +27,13 @@
* along with this kernel; if not, write to the Free Software * * along with this kernel; if not, write to the Free Software *
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
* * * *
* Tested with Linux 1.2.13, ..., 2.2.20, ..., 2.4.20 * * Tested with Linux 1.2.13, ..., 2.2.20, ..., 2.4.22 *
* * * *
* $Log: gdth.c,v $ * $Log: gdth.c,v $
* Revision 1.64 2003/09/17 08:30:26 achim
* EISA/ISA controller scan disabled
* Command line switch probe_eisa_isa added
*
* Revision 1.63 2003/07/12 14:01:00 Daniele Bellucci <bellucda@tiscali.it> * Revision 1.63 2003/07/12 14:01:00 Daniele Bellucci <bellucda@tiscali.it>
* Minor cleanups in gdth_ioctl. * Minor cleanups in gdth_ioctl.
* *
...@@ -257,7 +264,7 @@ ...@@ -257,7 +264,7 @@
* Initial revision * Initial revision
* *
************************************************************************/ ************************************************************************/
#ident "$Id: gdth.c,v 1.62 2003/02/27 15:01:59 achim Exp $" #ident "$Id: gdth.c,v 1.64 2003/09/17 08:30:26 achim Exp $"
/* All GDT Disk Array Controllers are fully supported by this driver. /* All GDT Disk Array Controllers are fully supported by this driver.
* This includes the PCI/EISA/ISA SCSI Disk Array Controllers and the * This includes the PCI/EISA/ISA SCSI Disk Array Controllers and the
...@@ -291,10 +298,12 @@ ...@@ -291,10 +298,12 @@
* access a shared resource from several nodes, * access a shared resource from several nodes,
* appropiate controller firmware required * appropiate controller firmware required
* shared_access:N enable driver reserve/release protocol * shared_access:N enable driver reserve/release protocol
* probe_eisa_isa:Y scan for EISA/ISA controllers
* probe_eisa_isa:N do not scan for EISA/ISA controllers
* *
* The default values are: "gdth=disable:N,reserve_mode:1,reverse_scan:N, * The default values are: "gdth=disable:N,reserve_mode:1,reverse_scan:N,
* max_ids:127,rescan:N,virt_ctr:N,hdr_channel:0, * max_ids:127,rescan:N,virt_ctr:N,hdr_channel:0,
* shared_access:Y". * shared_access:Y,probe_eisa_isa:N".
* Here is another example: "gdth=reserve_list:0,1,2,0,0,1,3,0,rescan:Y". * Here is another example: "gdth=reserve_list:0,1,2,0,0,1,3,0,rescan:Y".
* *
* When loading the gdth driver as a module, the same options are available. * When loading the gdth driver as a module, the same options are available.
...@@ -304,7 +313,8 @@ ...@@ -304,7 +313,8 @@
* '1' in place of 'Y' and '0' in place of 'N'. * '1' in place of 'Y' and '0' in place of 'N'.
* *
* Default: "modprobe gdth disable=0 reserve_mode=1 reverse_scan=0 * Default: "modprobe gdth disable=0 reserve_mode=1 reverse_scan=0
* max_ids=127 rescan=0 virt_ctr=0 hdr_channel=0 shared_access=0" * max_ids=127 rescan=0 virt_ctr=0 hdr_channel=0 shared_access=0
* probe_eisa_isa=0"
* The other example: "modprobe gdth reserve_list=0,1,2,0,0,1,3,0 rescan=1". * The other example: "modprobe gdth reserve_list=0,1,2,0,0,1,3,0 rescan=1".
*/ */
...@@ -719,6 +729,8 @@ static int rescan = 0; ...@@ -719,6 +729,8 @@ static int rescan = 0;
static int virt_ctr = 0; static int virt_ctr = 0;
/* shared access */ /* shared access */
static int shared_access = 1; static int shared_access = 1;
/* enable support for EISA and ISA controllers */
static int probe_eisa_isa = 0;
#ifdef MODULE #ifdef MODULE
#if LINUX_VERSION_CODE >= 0x02011A #if LINUX_VERSION_CODE >= 0x02011A
...@@ -733,6 +745,7 @@ MODULE_PARM(max_ids, "i"); ...@@ -733,6 +745,7 @@ MODULE_PARM(max_ids, "i");
MODULE_PARM(rescan, "i"); MODULE_PARM(rescan, "i");
MODULE_PARM(virt_ctr, "i"); MODULE_PARM(virt_ctr, "i");
MODULE_PARM(shared_access, "i"); MODULE_PARM(shared_access, "i");
MODULE_PARM(probe_eisa_isa, "i");
MODULE_AUTHOR("Achim Leubner"); MODULE_AUTHOR("Achim Leubner");
#endif #endif
#if LINUX_VERSION_CODE >= 0x02040B #if LINUX_VERSION_CODE >= 0x02040B
...@@ -4133,6 +4146,8 @@ GDTH_INITFUNC(void, internal_setup(char *str,int *ints)) ...@@ -4133,6 +4146,8 @@ GDTH_INITFUNC(void, internal_setup(char *str,int *ints))
virt_ctr = val; virt_ctr = val;
else if (!strncmp(argv, "shared_access:", 14)) else if (!strncmp(argv, "shared_access:", 14))
shared_access = val; shared_access = val;
else if (!strncmp(argv, "probe_eisa_isa:", 15))
probe_eisa_isa = val;
else if (!strncmp(argv, "reserve_list:", 13)) { else if (!strncmp(argv, "reserve_list:", 13)) {
reserve_list[0] = val; reserve_list[0] = val;
for (i = 1; i < MAX_RES_ARGS; i++) { for (i = 1; i < MAX_RES_ARGS; i++) {
...@@ -4213,9 +4228,10 @@ GDTH_INITFUNC(int, gdth_detect(Scsi_Host_Template *shtp)) ...@@ -4213,9 +4228,10 @@ GDTH_INITFUNC(int, gdth_detect(Scsi_Host_Template *shtp))
gdth_polling = TRUE; b = 0; gdth_polling = TRUE; b = 0;
gdth_clear_events(); gdth_clear_events();
/* As default we do not probe for EISA or ISA controllers */
if (probe_eisa_isa) {
/* scanning for controllers, at first: ISA controller */ /* scanning for controllers, at first: ISA controller */
for (isa_bios=0xc8000UL; isa_bios<=0xd8000UL; isa_bios+=0x8000UL) { for (isa_bios=0xc8000UL; isa_bios<=0xd8000UL; isa_bios+=0x8000UL) {
dma_addr_t scratch_dma_handle; dma_addr_t scratch_dma_handle;
if (gdth_ctr_count >= MAXHA) if (gdth_ctr_count >= MAXHA)
...@@ -4342,7 +4358,6 @@ GDTH_INITFUNC(int, gdth_detect(Scsi_Host_Template *shtp)) ...@@ -4342,7 +4358,6 @@ GDTH_INITFUNC(int, gdth_detect(Scsi_Host_Template *shtp))
/* scanning for EISA controllers */ /* scanning for EISA controllers */
for (eisa_slot=0x1000; eisa_slot<=0x8000; eisa_slot+=0x1000) { for (eisa_slot=0x1000; eisa_slot<=0x8000; eisa_slot+=0x1000) {
dma_addr_t scratch_dma_handle; dma_addr_t scratch_dma_handle;
if (gdth_ctr_count >= MAXHA) if (gdth_ctr_count >= MAXHA)
...@@ -4458,6 +4473,7 @@ GDTH_INITFUNC(int, gdth_detect(Scsi_Host_Template *shtp)) ...@@ -4458,6 +4473,7 @@ GDTH_INITFUNC(int, gdth_detect(Scsi_Host_Template *shtp))
gdth_enable_int(hanum); gdth_enable_int(hanum);
} }
} }
}
/* scanning for PCI controllers */ /* scanning for PCI controllers */
#if LINUX_VERSION_CODE < 0x2015C #if LINUX_VERSION_CODE < 0x2015C
...@@ -4470,7 +4486,6 @@ GDTH_INITFUNC(int, gdth_detect(Scsi_Host_Template *shtp)) ...@@ -4470,7 +4486,6 @@ GDTH_INITFUNC(int, gdth_detect(Scsi_Host_Template *shtp))
printk("GDT: Found %d PCI Storage RAID Controllers\n",cnt); printk("GDT: Found %d PCI Storage RAID Controllers\n",cnt);
gdth_sort_pci(pcistr,cnt); gdth_sort_pci(pcistr,cnt);
for (ctr = 0; ctr < cnt; ++ctr) { for (ctr = 0; ctr < cnt; ++ctr) {
dma_addr_t scratch_dma_handle; dma_addr_t scratch_dma_handle;
if (gdth_ctr_count >= MAXHA) if (gdth_ctr_count >= MAXHA)
......
...@@ -4,13 +4,13 @@ ...@@ -4,13 +4,13 @@
/* /*
* Header file for the GDT Disk Array/Storage RAID controllers driver for Linux * Header file for the GDT Disk Array/Storage RAID controllers driver for Linux
* *
* gdth.h Copyright (C) 1995-02 ICP vortex, an Intel company, Achim Leubner * gdth.h Copyright (C) 1995-03 ICP vortex, Achim Leubner
* See gdth.c for further informations and * See gdth.c for further informations and
* below for supported controller types * below for supported controller types
* *
* <achim.leubner@intel.com> * <achim_leubner@adaptec.com>
* *
* $Id: gdth.h,v 1.48 2003/02/27 14:58:22 achim Exp $ * $Id: gdth.h,v 1.50 2003/09/17 08:29:58 achim Exp $
*/ */
#include <linux/version.h> #include <linux/version.h>
...@@ -26,9 +26,9 @@ ...@@ -26,9 +26,9 @@
/* defines, macros */ /* defines, macros */
/* driver version */ /* driver version */
#define GDTH_VERSION_STR "2.07" #define GDTH_VERSION_STR "2.08"
#define GDTH_VERSION 2 #define GDTH_VERSION 2
#define GDTH_SUBVERSION 7 #define GDTH_SUBVERSION 8
/* protocol version */ /* protocol version */
#define PROTOCOL_VERSION 1 #define PROTOCOL_VERSION 1
......
/* gdth_proc.c /* gdth_proc.c
* $Id: gdth_proc.c,v 1.35 2003/02/27 15:00:44 achim Exp $ * $Id: gdth_proc.c,v 1.37 2003/09/17 08:31:53 achim Exp $
*/ */
#if LINUX_VERSION_CODE >= 0x020407 #if LINUX_VERSION_CODE >= 0x020407
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
#define _GDTH_PROC_H #define _GDTH_PROC_H
/* gdth_proc.h /* gdth_proc.h
* $Id: gdth_proc.h,v 1.13 2003/02/27 14:59:25 achim Exp $ * $Id: gdth_proc.h,v 1.14 2003/08/27 11:37:35 achim Exp $
*/ */
static int gdth_set_info(char *buffer,int length,int hanum,int busnum); static int gdth_set_info(char *buffer,int length,int hanum,int busnum);
......
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