dc390-1.20f: AM53C974/DC390 SCSI driver

Kurt Garloff (garloff@kg1.ping.de)
Tue, 19 May 1998 00:30:20 +0200


--JgQwtEuHJzHdouWu
Content-Type: text/plain; charset=us-ascii

Hi everybody,

here I am again. I spent a lot of work on the DC390/tmscsim/AM53C974 SCSI
driver during the last week.
I added a lot of features for 1.20a and I am testing and debugging since then.
Now 1.20f is ready and is stable as far as I can tell. It's tested now with
2.1.10x UP and SMP and 2.0.33 on two boxes with two different hostadapters
(DawiControl 2974 and Tekram DC390). It needs more testing of course, but
until now, there is no known bug. So I call it BETA.

So, everybody having a AM53C974 based adapter is asked to use the driver now
and tell me, if there are problems. I plan to release 1.20 final in about a
week.

There are two files attached to this posting: dc390-120f.tar.gz contains
the four files dc390.h tmscsim.h tmscsim.c scsiiom.c which ought to be
copied into /usr/src/linux/drivers/scsi or wherever your kernel source tree
is. The other file, Config.patches, contains a small patch against the clean
kernel to ask you if you want to have the general AM53C974 support compiled
into the driver. (Traditionally, the driver used to only suport the Tekram
DC390 host adapter.) Please apply it (cd /usr/src; patch -p0 </path/to/patch)

Here is a short list of new features since 1.12:
* Support for non Tekram adapters
* Clean spinlock implementation for 2.1.XX with SMP kernels
* Support for the "scsi add-single-device" feature
* Unlimited number of supported devices, because the mem for the
DeviceControlBlocks is allocated dynamically. (OK, unlimited means 7*8 = 56.)
* A lot of code cleanup
* Uniform driver sourcecode for Linux-2.0.x and 2.1.x
* Dynamic configuration via the /proc/scsi/tmscsim/? interface, which is
especially useful for those people not having a DC390 EEprom to get the
config from.
* Simple statistics output via /proc/scsi/tmscsim/?
* Moderate memory consumption

So I hope you find some of them useful.

-- 
Kurt Garloff, Dortmund 
<K.Garloff@ping.de>
PGP key on http://student.physik.uni-dortmund.de/homepages/garloff

--JgQwtEuHJzHdouWu Content-Type: application/x-tar-gz Content-Transfer-Encoding: base64 Content-Description: dc390-120f.tar.gz Content-Disposition: attachment; filename="dc390-120f.tar.gz"

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 eTJxlQDgAQA=

--JgQwtEuHJzHdouWu Content-Type: text/plain; charset=us-ascii Content-Description: Config.patch Content-Disposition: attachment; filename="Config.patch"

--- linux/drivers/scsi/Config.in.orig Sun Feb 22 09:42:55 1998 +++ linux/drivers/scsi/Config.in Thu Feb 26 01:05:14 1998 @@ -107,6 +107,9 @@ dep_tristate 'Seagate ST-02 and Future Domain TMC-8xx SCSI support' CONFIG_SCSI_SEAGATE $CONFIG_SCSI if [ "$CONFIG_PCI" = "y" -a "$CONFIG_SCSI_AM53C974" != "y" ]; then dep_tristate 'Tekram DC-390(T) (AMD PCscsi) SCSI support' CONFIG_SCSI_DC390T $CONFIG_SCSI + if [ "$CONFIG_SCSI_DC390T" != "n" ]; then + bool ' support for general AM53C974 adapters' CONFIG_SCSI_DC390T_GENSUPP + fi fi dep_tristate 'Trantor T128/T128F/T228 SCSI support' CONFIG_SCSI_T128 $CONFIG_SCSI dep_tristate 'UltraStor 14F/34F support' CONFIG_SCSI_U14_34F $CONFIG_SCSI --- linux/Documentation/Configure.help.orig Mon Feb 2 23:51:31 1998 +++ linux/Documentation/Configure.help Thu Feb 26 01:45:09 1998 @@ -2979,6 +2979,16 @@ inserted in and removed from the running kernel whenever you want), say M here and read Documentation/modules.txt. The module will be called tmscsim.o. + +Support other AM53C974 based SCSI adapters +CONFIG_SCSI_DC390T_GENSUPP + Normally the DC390(T) SCSI driver relies on the DC390 EEProm to get + initial values for its settings, such as speed, termination, etc. + If it can't find this EEProm, it won't initialize. + With this option, if no EEProm is found, default settings are used + and the driver tries to operate non-Tekram but AM53C974 based + adapters. + Note that you configure the driver by writing to /proc/scsi/tmscsim/?. AM53/79C974 PCI SCSI support CONFIG_SCSI_AM53C974

--JgQwtEuHJzHdouWu--

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu