Commit Graph

84 Commits

Author SHA1 Message Date
gibbs
4aa004468a Don't set the number of SCBs here. aic7xxx.c determines the number of
SCBs by walking them.
1996-03-31 03:04:38 +00:00
gibbs
11e0a995aa aha1742.c:
Cleanse the SCSI subsystem of its internally defined types
		u_int32, u_int16, u_int8, int32, int16, int8.
		Use the system defined *_t types instead.

eisaconf.c:
	Cosmetic formatting chagnes.
1996-03-10 07:04:27 +00:00
gibbs
b41fe501d7 Fix media type determination. 1996-02-28 17:19:04 +00:00
gibbs
a33532efc7 3c5x9.c:
The eisaconf probe for the 3Com 3c579 and the 3c509 when in eisa
configuration mode.

aha1742.c aic7770.c bt74x.c:
Only call eisa_registerdev after the probe is successfully.

eisaconf.c:
Increase kdc->kdc_datalen during the eisa_reg* functions instead of
in the eisa_add* functions since eisa_registerdev has already been
called and we have a kdc to manipulate.
1996-02-26 01:01:41 +00:00
gibbs
039957a808 Free the externalizing buffer. 1996-01-31 18:46:36 +00:00
gibbs
c1d13430cf aha1742.c aic7770.c bt74x.c
- Call eisa_registerdev as soon as we have a device match.  This allows the
   "eisa_add_*" routines to tweak kdc_datalen as the kdc grows and shrinks.

eisaconf.c
 - externalize the linked lists that hold our ioaddrs and maddrs.
1996-01-31 18:02:19 +00:00
mpp
f3dd75a38d Fix a bunch of spelling errors in the comment fields of
a bunch of system include files.
1996-01-30 23:02:38 +00:00
gibbs
0b627d75b7 Another pass through eisaconf. Ioaddrs and Maddrs are link lists now.
The Bt driver is the only one that actually registers multiple addresses.

Probe output is formatted to 80 columns.
1996-01-29 03:13:23 +00:00
se
9516aa2caf Make PCI interrupt handlers return void like everybody else does.
Reviewed by:	davidg
1996-01-23 21:48:28 +00:00
gibbs
4eb0edb707 Register our softc at attach time. I forgot to do this in my last commit,
causing a panic.
1996-01-14 02:19:42 +00:00
gibbs
7087c7dd9a Use the new adapter_softc field in the scsi_link structure so that
this driver no longer needs to maintain an array of configured units.

Pass "softc" pointers instead of unit numbers to many functions that
did a conversion for unit->softc anyway.
1996-01-07 19:20:59 +00:00
wollman
39d3a9a3d3 Convert DDB to new-style option. 1996-01-04 21:13:23 +00:00
gibbs
4247656160 The long awaited stability patch set for the aic7xxx driver:
aic7770.c:
Simplify the initialization of adapters by pulling all card specific
initialization to the card specific modules.

eisaconf.c:
outb 0x80 instead of 0xc80.  The top byte is truncated anyway, and 0x80
was what was intended.
1996-01-03 06:28:01 +00:00
peter
ab124e78b0 recording cvs-1.6 file death 1995-12-30 19:02:48 +00:00
bde
f309260c71 Completed function declarations and added prototypes. Sorted prototypes. 1995-12-14 23:26:53 +00:00
bde
056382671a Added a prototype. 1995-12-14 23:23:48 +00:00
peter
133f0415bf Change the generic "btintr" function's name to "bt_intr" - the same as
all the other bt_XXX() functions in i386/scsi/bt*.

This the important effect of forcing a link error if the user is
still using the old "vector btintr" which is dangerously wrong
after Justin's updates to the driver.

The correct isa vector line for the bt driver is "vector bt_isa_intr".
Justin mentioned this in the commit message and updated LINT and
GENERIC.  This change is to enforce that.. :-)
1995-12-14 14:19:19 +00:00
gibbs
fbc6c334ee Eisa Probe portion of revamped Buslogic SCSI driver. 1995-12-12 08:47:11 +00:00
phk
924d3d88e6 Staticize and cleanup.
Make debug variable sysctl aware in 1742.
1995-12-10 13:33:49 +00:00
dg
c30f46c534 Untangled the vm.h include file spaghetti. 1995-12-07 12:48:31 +00:00
bde
c0273b2f64 Replaced #includes of <sys/user.h> by less gross headers, usually
<sys/vm.h>.  Many device drivers need only the definition of vtophys()
from vm.

Added nearby #includes of <sys/conf.h> where appropriate.
1995-12-06 23:52:35 +00:00
bde
25c88c6232 Don't staticize again (twice).
Cleaned up includes.
1995-11-29 17:40:47 +00:00
phk
4e3ca77747 Staticize again. 1995-11-29 10:12:34 +00:00
bde
24ce87cc75 Completed function declarations and/or added prototypes. 1995-11-21 12:55:26 +00:00
phk
d0c66446cc Mega commit for sysctl.
Convert the remaining sysctl stuff to the new way of doing things.
the devconf stuff is the reason for the large number of files.
Cleaned up some compiler warnings while I were there.
1995-11-20 12:42:39 +00:00
gibbs
eddb6a4057 Modify the kdc_description for eisa0 to include the system board ID.
Add the mainboard_drv into the eisa driver linker set so that you can
compile eisa0 into your kernel without any other eisa devices.
1995-11-10 01:32:12 +00:00
gibbs
a16fe2deb0 Convert Adaptec 1742 driver to new eisaconf interface. 1995-11-09 22:43:25 +00:00
gibbs
7b39ff1acd Second pass on this. Sentinal device node was an uneeded complication.
Handle kdc registration correctly.  Catch ISA devices that use eisa
registration and output probe information accordingly.

lsdev will have to be updated to handle EISA devices correctly.

aic7770.c:
	Set kdc_isa0 as the parent for 284X cards since its a VL card.
1995-11-09 07:14:11 +00:00
gibbs
d21be4a073 Probe all slots even if an EISA main board isn't found. This catches
cards like the Adaptec 284x that use EISA ID registers for identification
even when in stalled in non-EISA systems.

Use one format throught the files.

-Wall fixes.
1995-11-06 05:21:01 +00:00
gibbs
da1c8c00f7 This is a totally new implementation of eisaconf. It will hopefully
be the beginning of our move to a more dynamic (configuration manager)
based setup for all drivers.  Everything seems to work except for
some devconf problems.  Only the aic7xxx driver will be using this
interface until it is reviewed, revised and accepted as a good configuration
interface.

Adapt aic7770.c to use new eisaconf.

eisadevs.c is replaced by a linker set.
1995-11-05 04:42:50 +00:00
bde
6073486300 Added `#include "ioconf.h"' to <machine/conf.h> and cleaned up the
misplaced extern declarations (mostly prototypes of interrupt handlers)
that this exposed.  The prototypes should be moved back to the driver
sources when the functions are staticalized.

Added idempotency guards to <machine/conf.h>.  "ioconf.h" can't be
included when building LKMs so define a wart in bsd.kmod.mk to help
guard against including it.
1995-11-04 17:08:13 +00:00
phk
7fd61cfafd Remove unused functions and variables, make things static, and other cleanups. 1995-10-28 15:39:31 +00:00
bde
190b17ed87 Fix benign type mismatches in isa interrupt handlers. Many returned int
instead of void.
1995-09-19 18:55:37 +00:00
gibbs
232d793158 ahcprobe now takes a flags argument. For EISA/VL adapters set it to
AHC_FNONE.
1995-09-05 23:39:31 +00:00
gibbs
ae1e6673d9 Remove hard coded assumption that SCSI busses have 7 targets.
This change forces the controller drivers to allocate a scsibus_data struct
via a call to scsi_alloc_bus(), fill in the adapter_link field, and optionally
modify any other fields of the struct.  Scsi_alloc_bus() initializes all fields
to the default, so the changes in most drivers are very minimal.  For drivers
that support Wide controllers, the maxtarg field will have to be updated to
allow probing of all targets (for an example, look at the aic7xxx driver).

Scsi_attachdevs() now takes a scsibus_data* as its argument instead of an
sc_link*.  This allows us to expand the role of the scsibus_data struct for
other bus level configuration setings (max number of transactions, current
transaction opennings, etc for better tagged queuing support).

Reviewed by: Rodney Grimes <rgrimes>, Peter Dufault <dufault>, Julian Elischer <julian>
1995-08-23 23:03:34 +00:00
peter
1e1a18756b Add hook for EISA probe for Specialix EISA card.
Reviewed by:
Submitted by:
Obtained from:
1995-08-09 13:00:25 +00:00
bde
f21ab33b23 First step of fixing the remaining sloppy common-style declarations.
Declare `cheat' as static.  It was bogusly shared between the aha1742 and
ultrastor drivers.

Even static variables should have unique names so that they can be
debugged, but fixing them can wait.
1995-07-25 15:53:11 +00:00
gibbs
f932227387 First pass cleanup of this driver. This pass does not include the sequencer
optimizations I have been working on yet, but does bring in some bug fixes
and performance improvments that were easy to regression test:

Setup the data fifo threshold and bus off timing correctly for 27/284x cards.
Users of these adapters with fast periferals (greater than 5MB/s) will notice
a big performance difference. (Sometimes as large as going from 3.7->8.3MB/s).

Fix handling of the active target flags.  Some of the outbs where missing
the base offset in the abort code.  The abort code still needs lots of work.

Support 3940 controllers, but only with 16 SCBs for now.  Eventually I'll
add support for all 255, but I need to find a tester for the code first since
we have to enable the cards external SRAM to do this.

Add Dan Eischen's serial eeprom reading facilities.  This allows the 2940
adapters to pull additional information left over from SCSI-Select right out
out of the configuration seeprom.

If the BIOS is disabled on 274x controllers, reset all target parameters
to there defaults since you can't rely on what is stored in scratch ram.

Report motherboard controllers as such.

Stick the first SG address and count into the SCB data and count areas for
all transfers in preparation of a later sequencer optimization.

Keep track of which targets can are allowed to have the disconnection
priveledge since this will be handled by the kernel driver in the future.

If a target issues a message reject in response to a tagged message,
disable tagged queuing for that target.  Some seagates say they can do
tagged queuing, but lie, and its a shame to have to disable tagged queuing
on all devices just because you have one that can't cope.
1995-07-04 21:14:45 +00:00
rgrimes
c86f0c7a71 Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
rgrimes
0e1db07cf9 Fix -Wformat warnings from LINT kernel. 1995-05-11 19:26:53 +00:00
rgrimes
9b4f2eba57 Fix -Wformat warnings, still need to do something about %b and pointer
type args.
1995-05-09 12:26:00 +00:00
julian
1814d0bcea files for the eisa specific autoconfiguration..
don't expect this to work yet.. but at least they're here..
(hey this cvs stuff is fun!)

activate with a line exactly like the isa line in the config file,
(but specifying eisa :)
patches to come..
1995-04-23 08:55:43 +00:00
wollman
6a8d3a357d Add a class field to devconf and mst drivers.
For those where it was easy, drivers were also fixed to call
dev_attach() during probe rather than attach (in keeping with the
new design articulated in a mail message five months ago).  For
a few that were really easy, correct state tracking was added as well.
The `fd' driver was fixed to correctly fill in the description.
The CPU identify code was fixed to attach a `cpu' device.  The code
was also massively reordered to fill in cpu_model with somethingremotely
resembling what identifycpu() prints out.  A few bytes saved by using
%b to format the features list rather than lots of ifs.
1995-04-12 20:48:13 +00:00
gibbs
d543732b8e Use EISA_MAX_SLOTS to be consistent with other EISA drivers.
Fix off by one error in slot probe.

Update some comments.
Submitted by: rgrimes@FreeBSD.org
1995-03-31 13:36:57 +00:00
bde
4f64fe43e7 Add and move declarations to fix all of the warnings from `gcc -Wimplicit'
(except in netccitt, netiso and netns) that I didn't notice when I fixed
"all" such warnings before.
1995-03-28 07:58:53 +00:00
rgrimes
76cc5d1e93 Change MAX_SLOTS -> EISA_MAX_SLOTS and correct comments. Add this to
ultra14f.c and eliminate constants.

Correct EISA slot scan loops to look at slots 1 to 15 inclusive (off
by 1 errors all over the place).  Other drivers need this, I will get
to it after a little more work.

Correct the ultrastore EISA probe so that it starts after the last
EISA slot probed instead of starting over from slot 0.

We need an eisa.h to move a lot of common constants into.  I will
write it if someone tells me where it should go (sys/eisa?).
1995-03-23 09:00:20 +00:00
gibbs
130cfc33a6 aha1742.c:
#include <i386/isa/isa.h>
	return IO_EISASIZE instead of hard coded 0x1000.

if_ep.c:
	Remove commented out disabling of interrupts that gave a
	"comment withing a comment" warning.
1995-03-23 07:31:08 +00:00
gibbs
d6d2d98089 Compile cleanly -Wall. 1995-03-07 08:58:22 +00:00
gibbs
d55c379829 Add $Id 1995-01-16 16:31:34 +00:00
gibbs
00d4d48c05 Add in aic7770.c (EISA/VL Adaptors) and aic7870.c (PCI adaptor) dependancies
for the ahc driver.
1995-01-13 02:23:27 +00:00