Commit Graph

298 Commits

Author SHA1 Message Date
Garrett Wollman 71803c8ba9 Add register definitions for Intel 82437FX (Triton System Controller) 1996-01-22 22:43:48 +00:00
Jordan K. Hubbard f8fbee91ae Newest version of the Matrox Meteor driver. Tested with various MBONE
tools and found to work better with both nv and vic.
Submitted by:	Jim Lowe <james@miller.cs.uwm.edu>
1996-01-21 10:26:54 +00:00
Stefan Eßer b23345605d Fix bad typo: > was used instead of >> ...
Submitted by:	Matt Thomas <matt@lkg.dec.com>
1996-01-19 19:03:47 +00:00
Stefan Eßer e66a4e401d Improve PCI probe messages by printing the bus number.
Add missing newline to PCI to PCI bridge message.

Submitted by:	Matt Thomas <matt@lkg.dec.com>
1996-01-19 19:01:19 +00:00
Stefan Eßer 29681c973a Change default value of MAX_LUN from 1 to 8. 1996-01-18 19:59:23 +00:00
Stefan Eßer a294c82acc Back out patch 1.53. The problem report that had made me commit this
change turned out to have been caused by some other change, and the
patch should have had no effect at all (just made the code a little
longer).
1996-01-15 23:51:10 +00:00
Stefan Eßer 01996055ed Disable handshake timeout. Some devices don't send an ACK for several
seconds ...

Submitted by:	wolf
1996-01-15 23:16:39 +00:00
David Greenman ae12cdda30 This driver really is for the Pro/100B and not for the Pro/100 (and in fact
doesn't even work with a Pro/100)...updated to reflect this.
1996-01-15 10:12:41 +00:00
Stefan Eßer 85cf6e3f7e Make the NCR driver on the boot floppy kernel not negotiate synch. SCSI
transfers for CDROM drives.
1996-01-15 00:10:15 +00:00
Stefan Eßer ad6ca346f2 Add back initialization of "ncrp[unit]" since ncrcontrol relies on it. 1996-01-10 21:20:57 +00:00
Andreas Schulz f1686c1ebc Add the pci-numbers for the 3c595 10/100Mb card to the driver. 1996-01-09 23:07:32 +00:00
Stefan Eßer 020bfdcff6 Add back nncr and ncrp for now. ncrcontrol relies on them.
(To be replaced by sysctl accesses some time ...)

Remove a backward jump from the NCR script, which allowed a SCSI target
to receive any number of NOP messages it desired. If a target indeed
does such a silly thing, make it fail at the next instruction, instead
of causing a timeout a few seconds later.
1996-01-09 19:57:49 +00:00
Justin T. Gibbs e3cf0fb323 Don't bother setting the DSCommand register. Adaptec's own BIOS doesn't. 1996-01-09 16:14:53 +00:00
Justin T. Gibbs 2f53429551 Write the cahesize and latency timer values back into configuration
space (whoops!).

Add a missing argument to the cachesize/lattime printf.

Set the CACHETHEN bit in DSCommand.
1996-01-07 19:26:12 +00:00
Justin T. Gibbs c5753242cf The long awaited stability patch set for the aic7xxx driver:
Simplify the initialization of adapters by pulling all card specific
initialization to the card specific modules.

Set the Latency timer and Burst len to good values if thery are not
initialized during post or are reset during chip reset.

Properly identify and handle external SCB SRAM.  The code was false
id'ing 255 SCBs on aic7880 chips.

Reviewed by:   David Greenman <davidg@FreeBSd.org>
1996-01-03 06:34:10 +00:00
David Greenman 3ba657329e Reworked the stop/reset code to properly run-down allocated buffers and
made the code detect and handle wedged cards.
1996-01-03 05:22:32 +00:00
Stefan Eßer 7217e99c8f Preserve SIGP bit when clearing INTF condition.
Submitted by:	Gerard Roudier <groudier@htlm.fr>
1995-12-28 13:04:03 +00:00
David Greenman 10521e6da6 Added prototype for fxp_scb_wait() and fixed a bug where the wrong pointer
was passed in one case.
1995-12-18 02:47:43 +00:00
Bruce Evans 6ea3e9d839 Completed function declarations and/or added prototypes and/or added
#includes to get prototypes.

pci now uses a different interrupt handler type for interrupts that it
dispatches and the isa interrupt handler type for the interrupts that
it handles.
1995-12-16 00:27:59 +00:00
Stefan Eßer 6549c8c929 Fix the off-by-one error in the calculation of the valid port range.
Reduce default value of pcicb_membase to 0x2000000 (from 0x4000000)
since this seems to be the lower bound used by many systems.

Submitted by:	Mihoko Tanaka <m_tanaka@pa.yokogawa.co.jp>
1995-12-15 13:40:20 +00:00
Peter Wemm 60f17fcd9f 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
Poul-Henning Kamp f708ef1b9e Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
Justin T. Gibbs 1fbfe4ca34 PCI portion of the Buslogic SCSI driver. Needs to be tested and more
PCI ids for Buslogic products added.
1995-12-12 08:58:04 +00:00
Poul-Henning Kamp d2f265fab8 Julian forgot to make the *devsw structures static. 1995-12-08 23:23:00 +00:00
Julian Elischer 87f6c6625d Pass 3 of the great devsw changes
most devsw referenced functions are now static, as they are
in the same file as their devsw structure. I've also added DEVFS
support for nearly every device in the system, however
many of the devices have 'incorrect' names under DEVFS
because I couldn't quickly work out the correct naming conventions.
(but devfs won't be coming on line for a month or so anyhow so that doesn't
matter)

If you "OWN" a device which would normally have an entry in /dev
then search for the devfs_add_devsw() entries and munge to make them right..
check out similar devices to see what I might have done in them in you
can't see what's going on..
for a laugh compare conf.c conf.h defore and after... :)
I have not doen DEVFS entries for any DISKSLICE devices yet as that will be
a much more complicated job.. (pass 5 :)

pass 4 will be to make the devsw tables of type (cdevsw * )
rather than (cdevsw)
seems to work here..
complaints to the usual places.. :)
1995-12-08 11:19:42 +00:00
David Greenman efeaf95a41 Untangled the vm.h include file spaghetti. 1995-12-07 12:48:31 +00:00
Stefan Eßer 94fed3c149 Set default burst length limit to 32 bytes, since this seems to be
an acceptable value for all current chip sets (just a hint to PCI
device drivers, used in the NCR driver, for example).
Add PCI Vendor ID of ACER.
1995-12-06 15:52:23 +00:00
Bruce Evans d74abd4029 Renamed TRUE (which has value 2) to M_TR to avoid a clash with the
the boolean TRUE.
1995-12-05 20:40:10 +00:00
David Greenman 23a0ed7c08 Increased the number of Tx segments from 13 to 29 to reduce the need to
recopy to near zero. Wrote the necessary code to recopy the mbuf chain
into another buffer if there are too many mbufs in the chain.
1995-12-05 11:49:55 +00:00
David Greenman 4a5f1499b0 all:
Removed ifnet.if_init and ifnet.if_reset as they are generally unused.
Change the parameter passed to if_watchdog to be a ifnet * rather than
a unit number. All of this is an attempt to move toward not needing an
array of softc pointers (which is usually static in size) to point to
the driver softc.

if_ed.c:
Changed some of the argument passing to some functions to make a little
more sense.

if_ep.c, if_vx.c:
Killed completely bogus use of if_timer. It was being set in such a way
that the interface was being reset once per second (blech!).
1995-12-05 02:01:59 +00:00
David Greenman dfe61cf102 Fix minor bug that would cause the packet statistics updates to stop
working under extremely rare circumstances. Also added some additional
comments..
1995-12-01 22:41:56 +00:00
Julian Elischer b0d30084c0 missed one..
thanks jim..
(actually I was already aware I'd missed it, but hadn't started
searching for it :)
1995-11-29 15:31:22 +00:00
Bruce Evans 20c6c6ed1d Restored my old changes which were clobbered by the previous commit.
Added prototypes.  The previous version wouldn't have compiled if
prototypes were in scope.
1995-11-29 15:07:59 +00:00
Satoshi Asami 1d2e4e9cdf 'see" -> "see" (in the comment).
Noticed by:	hilit19.el (stop laughing! ;)
1995-11-29 11:19:02 +00:00
Jordan K. Hubbard d01b66804a A batch of Jim Lowe's patches:
o Add signed/unsigned functionality to the matrox meteor device driver.
	o Apply a few fixes to the sound driver.
	o Add a ``SPIGOT_UNSECURE'' compile time definition so, if one defines
	  SPIGOT_UNSECURE in their conf file, then they can use the spigot w/o
	  root.  There is a warning that this allows users access to the IO
	  page which is probably not secure.
Submitted by:	james
1995-11-29 01:07:59 +00:00
David Greenman a17c678ed2 Device driver for Intel Pro/100 PCI Fast Ethernet controller. 1995-11-28 23:55:26 +00:00
Bruce Evans 8be8b2a157 Made pci.c compile again. It unfortunately depends on the isa interrupt
interface.  Adding prototypes just made the dependency explicit.
1995-11-21 13:59:56 +00:00
Bruce Evans 512fef80a9 Completed function declarations and/or added prototypes. 1995-11-21 12:55:26 +00:00
Poul-Henning Kamp 4b2af45f4b 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
David Greenman 38428efc63 Set flag to stop backoff counter from counting when carrier activity is
detected. This dramatically reduces the collision rate (about 1/10th of
what is was previously).

Submitted by:	Matt Thomas <matt@lkg.dec.com>
1995-11-17 12:11:22 +00:00
Poul-Henning Kamp 12eedfdc3a statizice some internal magic. 1995-11-14 10:03:56 +00:00
Justin T. Gibbs 62f51df3c9 Remove uneccessary increment of the unit number. 1995-11-07 05:33:27 +00:00
Justin T. Gibbs deb0ea4125 Conform to new probe/attach interface exported by aic7xxx.c.
Use ahcintr directly as interrupt handler.
1995-11-05 04:51:58 +00:00
Bruce Evans 8289505ce7 Fixed the type of feaintr(). The type of an EISA interrupt handler is
incompatible with the type of a PCI interrupt handler.

Fixed the type of pdc_pci_ifintr().  The type of a PCI interrupt handler
is too generic to pass arbitrary struct pointers.
1995-11-04 15:05:52 +00:00
Bruce Evans 2e8300f1f6 Fixed the type of ahcintr(). The type of an ISA interrupt handler is
incompatible with the type of a PCI interrupt handler.  A new entry
point `ahc_pci_intr()' is used for PCI.  ISA and PCI interrupts are
penalized equally (:-) by calling a common handler `ahc_intr()'.  This
should be reorganized.  Some strings now name the wrong function...
1995-11-04 14:43:30 +00:00
Julian Elischer e9500cdb8a Submitted by: bde
IFF_NOTRAILERS doesn't exist any more in current
(driver came from 2.0.5)
now compiles again.
1995-11-04 07:57:14 +00:00
Julian Elischer f4567b9c1c Reviewed by: not yet
Submitted by:	fgray@rice.edu
this driver hasn't been checked but as a separate module, bringing it in won't
break anything else and it't the best way of testing it......

julian
1995-10-31 07:42:54 +00:00
Poul-Henning Kamp a98ca4699e Second batch of cleanup changes.
This time mostly making a lot of things static and some unused
variables here and there.
1995-10-29 15:33:36 +00:00
Justin T. Gibbs 5bc51a33d8 Recognize the aic7880 and 3940 Ultra.
If RAMENB is set in devconfig, walk the external SCBs.  Some Intel Xpress
motherboards set this bit.

For external SCBs for the 3940.  It doesn't set RAMPS or RAMENB, but does
have the ram.
1995-10-26 23:58:59 +00:00
David Greenman 0d9a79f8a6 From Matt Thomas:
"I screwed the initialization of the burstsize.  Right now it will default
to 0 (which can cause corruption problems on high latency PCI buses).  It
should be set to 8 longwords to avoid problems with certain PCI chipsets."

Submitted by:	Matt Thomas <matt@lkg.dec.com>
1995-10-26 07:40:11 +00:00
Garrett Wollman 233b60cec4 Say goodbye to IFF_NOTRAILERS. Support for trailers was officially
dropped for 4.4, but for some reason this flag lived on.  (Until
today, that is.)
1995-10-13 19:48:06 +00:00
Justin T. Gibbs eec7e07a40 Identify the 2940 *Ultra* SCSI adapter. We treat it as a normal 2940
for now since I don't have any documentation on this card yet and it
is software compatible with the earlier cards.

The 2940 *Ultra* is Adaptec's push to take SCSI to 20MHz bus rates.  Its
based on the aic7880 chip which is the successor to the aic7870.
1995-10-08 17:46:11 +00:00
David Greenman aacd778ef0 Add SIOCGIFADDR support. 1995-10-07 20:34:30 +00:00
David Greenman ee709c2f32 Check for failure to map the interrupt. Not doing so will guarantee that
the machine will wedge later.
1995-10-02 14:04:33 +00:00
David Greenman df31aac551 Fixed bug where wrong thing was being checked for NULL before calling
free(), resulting in a panic. This happend whenever an irq had already
been allocated by another device (like something on the ISA bus).
1995-10-02 13:43:11 +00:00
David Greenman 86d61837c8 Latest version from Matt Thomas. This version works with the newer
DC21041 NICs and with ZNYX cards.

Submitted by:	Matt Thomas
1995-09-29 19:52:10 +00:00
Stefan Eßer d4a471bda0 Add preliminary support for the 53c860 and 53c875 ULTRA SCSI chips,
and for the 53c810ap, the improved version of the 53c810.
The driver should work with all those controllers, but doesn't know
about any of their advanced features.
1995-09-21 17:27:28 +00:00
Stefan Eßer da42a6e8f3 Add vendor ID of Compaq, now that I found what it is ... 1995-09-14 23:24:29 +00:00
Stefan Eßer 0d1d9baee5 Remove '#ifdef undef' that was only supposed to be in my local test version. 1995-09-14 17:26:24 +00:00
Stefan Eßer def1b9aa9a Do not include the verbose boot messages, if PCI_QUIET is defined. 1995-09-14 13:13:33 +00:00
Stefan Eßer 7324a7b336 Minor changes to the PCI probe messages. 1995-09-14 13:09:40 +00:00
Stefan Eßer f7fe07b585 Introduce NCB_SCRIPT_PHYS and CCB_PHYS macros to find physical addresses
of NCR script labels and of command control block structure components.
This allows for easy modification of the actual virtual to physical
mapping operator used ...
Make all applicable references to physical address values use the above
macros instead of calls to vtophys().
1995-09-11 19:34:30 +00:00
Stefan Eßer 1be758653e Put back p_script component into NCR control block.
The driver currently doesn't use it, but ncrcontrol needs it
to print some script addresses relative to the script start.
1995-09-11 12:10:19 +00:00
Stefan Eßer 5e5da2da5d Perl script to convert NCR script address into label+offset.
Useful to find the failed NCR instruction ...
1995-09-08 19:37:11 +00:00
Stefan Eßer b564b3e73e Don't use vtophys() for constant addresses, cache the translations in
the NCR control block (ncb) and command control block (ccb) instead.
1995-09-08 19:30:11 +00:00
Stefan Eßer ab14793833 Applied patches that make the driver compile on NetBSD again.
They shouldn't affect FreeBSD, since they are within #ifdef NETBSD
directives.
Changed the HAD_ERROR return code into COMPLETE according to a comment
in "/sys/scsi/scsiconf.h"

Submitted by:	Andreas Wrede <andreas@planix.com>
1995-09-08 14:29:48 +00:00
Bruce Evans 6003967057 Fix benign type mismatches in devsw functions. 82 out of 299 devsw
functions were wrong.
1995-09-08 11:09:15 +00:00
Stefan Eßer 3a5a6263e3 Add support for 16 targets on WIDE SCSI bus.
This seems to work fine on my 53c810, but really should be tested on
a 53c825 with at least one target set to an ID >= 8.
The script is now copied to memory mapped using vm_page_alloc_contig(),
since it has to be physically contigous. This must be changed, if the
driver is converted into a loadable module !
Two of the probe messages are suppressed, unless "bootverbose" is set.
1995-09-07 20:53:40 +00:00
Stefan Eßer defdcfcfb3 Remove support for PCI bridge classes, since this
dealt with by code in pci.c now.
1995-09-07 15:40:51 +00:00
Stefan Eßer ab2e900f6b Make mapping messages depend on bootverbose flag.
Add PCI subclass to unknown device message.
1995-09-07 15:20:53 +00:00
Stefan Eßer d1aff57c8f Add description of Intel 82425EX PCI system controller chip (Aries ?).
Submitted by:	Danny J. Zerkel <dzerkel@feephi.phofarm.com>
1995-09-07 14:17:46 +00:00
Justin T. Gibbs cad8dd8860 Detect external SRAM.
Count the number of detected 3940 controllers.  Tag all even controllers
as being the "B Channel".
1995-09-05 23:53:48 +00:00
Stefan Eßer 8befc21fbd The NCR script has grown beyond one page (4KB). Since malloc() returns
contiguous memory in virtual space, but doesn't guarantee any particular
physical layout of pages, the script may be not contguous in physical
memory. This made the first write command fail in very rare cases.
This has been fixed by checking the region returned by malloc() for
being contiguous, but there should be a physical memory allocate
and later mapping to virtual memory instead.

A few assertions and error messages are improved.
1995-09-05 22:37:59 +00:00
Jordan K. Hubbard 93fe9cf4a4 Fixes for issues raised by Bruce Evans.
Submitted by:	Jim Lowe <james>
1995-08-29 13:55:24 +00:00
Jordan K. Hubbard 1d86961e14 Kernel components of Matrox Meteor driver.
Submitted by:	Mark Tinguely <tinguely@plains.nodak.edu> and Jim Lowe <james>
1995-08-28 17:03:18 +00:00
Justin T. Gibbs 07b1c6b3c9 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
Justin T. Gibbs 54aec2bee6 Correct the PCI ID for the Adaptec 7850 chips. 1995-08-20 03:18:09 +00:00
Stefan Eßer d36d3f0e18 Print more information in case of unspecific error condition.
Do not print "in getcc reselect by" message unless DEBUG_RESTART is set.
1995-08-15 20:19:14 +00:00
Stefan Eßer 9625df5f24 Add more chip set register decodings:
ISA GAT mode and hidden refresh seem to cause reliability problems
on Saturn based systems and are now reported when booting with '-v'.

Submitted by:	Danny J. Zerkel <dzerkel@feephi.phofarm.com>
1995-08-15 09:43:42 +00:00
Stefan Eßer d54b39155a Return an extended status of XS_TIMEOUT (instead of XS_DRIVER_STUFFUP)
in case of an unspecific error (most likely software timeout after
SCSI bus reset).
This will make the generic SCSI code retry the failed command.
1995-08-13 14:59:38 +00:00
David Greenman fa8d3a82f4 Initialize "name" to quiet compiler. 1995-07-29 18:21:48 +00:00
Stefan Eßer 0ce0753299 Add a few chip set IDs. 1995-07-27 22:14:25 +00:00
Stefan Eßer 58b86eaf30 Add config messages for the Intel 82378 chip.
Submitted by:   Danny J. Zerkel <dzerkel@feephi.phofarm.com>
1995-07-27 22:04:57 +00:00
Stefan Eßer bd919217cf Add a few vendor IDs. 1995-07-27 21:56:51 +00:00
Stefan Eßer 54a2163437 Get rid of references to the linker supplied set length field.
Use the terminating NULL pointer as the end of list marker instead.
1995-07-27 21:38:45 +00:00
Bruce Evans 1be9be9647 Fix compiler warnings (systm.h wasn't included). 1995-07-16 10:07:40 +00:00
Stefan Eßer e9a9607fbb Put back second case of CC handler in NCR script. 1995-07-07 12:30:39 +00:00
Justin T. Gibbs cbc6d18d9f Add PCI Id for the 3940 controller. 1995-07-04 21:21:33 +00:00
Stefan Eßer 57da02d3f3 Changes to support some CDROM drives and the Quantum Grand-Prix
series of hard disk drives, which don't accept any SCSI message
within an REQUEST SENSE command (i.e. even not an IDENTIFY to set
the LUN).
This patch obviates the need for QUIRK_NOMSG and thus all of the
device_tab[] entries in the NCR driver.
1995-06-28 16:40:58 +00:00
Stefan Eßer c411726b79 Change message "not supported" to "no driver assigned", because
people tend to assume their devices won't work if they see this
message, though it may indicate that those devices just don't
need any PCI driver (e.g. devices that emulate an ISA card, or
that have been initialised by the BIOS and need no further care).
1995-06-28 16:32:54 +00:00
Stefan Eßer 1f8ca7ddc4 Give more detailed information about the type of bridge devices
found when probing the PCI bus.
1995-06-28 16:02:05 +00:00
Stefan Eßer 78e444665c Failure of the consistency checks for BIOS assigned mappings of busses
connected via PCI to PCI bridges is considered non fatal for now.
1995-06-28 15:59:04 +00:00
Stefan Eßer 1d3c4bfc72 Corrections and additions to the PCI chip set configurations log.
Submitted by:	"Danny J. Zerkel" <dzerkel@feephi.phofarm.com>
1995-06-28 11:28:43 +00:00
David Greenman c5f944ee5a Fixed bug that was fixed in 1.28.2.1/1.29 a little differently; the
difference is more or less cosmetic.

Submitted by:	Matt Thomas
1995-06-28 05:46:19 +00:00
Rodney W. Grimes d3628763db Merge RELENG_2_0_5 into HEAD 1995-06-11 19:33:05 +00:00
Rodney W. Grimes 9b2e535452 Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
David Greenman 0063696232 Fixed bugs in multicast address handling (flag was set in wrong register,
etc.). The tulip_start routine was rewritten to use less stack space (I've
been having problems with wcarchive overflowing the stack and this should
help a little). This version also has preliminary NetBSD support.

Rod Grimes helped in testing this version of the driver. Thanks Rod. It's
additionally been extensively tested here and on wcarchive.

Submitted by:	Matt Thomas
1995-05-26 02:02:44 +00:00
David Greenman 87c15d9649 There are two serious bugs in if_de.c. The first should not matter
to most users (the wrong length is passed to ether_input).  The
second is more serious.  The multicast hash algorithm uses the wrong
(low) bits instead of the right (high) bits.  This is only an issue
if you use >12 multicast addresses but if you are using IP multicast
then it might affect you...

Submitted by:	Matt Thomas
1995-05-22 13:32:24 +00:00
David Greenman f8141f6f97 Fixed bug in bpf/multicast support that caused multicast packets to get
thrown out if bpfilter support and no BPF listener. (submitted by Bill
Fenner)
Removed unused variable and changed another from a stack variable to a
static - the variable was a rather large array of structs that consumed
a lot of stack space. (me)
1995-05-22 05:51:41 +00:00
David Greenman 9b3fdc5a9f Fixed mbuf leak and panic that occurred when packets got too memory
fragmented.
Added support for Cogent em100 boards.
Fixed bug that caused BPF to toggle the card to UTP.
Various other improvements.

Submitted by:	Matt Thomas and David Greenman
1995-05-05 20:09:51 +00:00
David Greenman cbb15d7c97 bzero the malloced pci_devconf structure. This should fix the problem with
several of freefall's recent crashes.
1995-05-04 06:57:11 +00:00
Jordan K. Hubbard fe16ad72f3 Matt says that no pre-2.3 pass boards were supposed to ship, but I certainly
got a 2.2 version DC21040 chip in my SMC ethernet card!  He suggests bumping
the check all the way down to 2.0 since it's pre-2.0 we're actually guarding
against.
Submitted by:   Matt Thomas <matt@lkg.dec.com>
1995-04-18 12:54:30 +00:00
David Greenman 4ed452a631 Changed minimum supported rev of DC21040 to pass 2.2. 1995-04-17 08:16:14 +00:00
Justin T. Gibbs 241606bc72 kernel.h -> sys/kernel.h 1995-04-15 21:38:34 +00:00
David Greenman 9b798f72a1 Various changes from Matt Thomas to improve media selection and fix
support for the DC21140.
1995-04-13 04:46:40 +00:00
David Greenman 29b4e57966 From Matt Thomas: Added support for 100Mb cards (such as the DEC DE-500-XA
and SMC 9332).
1995-04-09 04:46:15 +00:00
David Greenman 7172ec19fd From Matt Thomas: Finished EISA support. 1995-04-05 08:19:23 +00:00
David Greenman 1fca221ae2 Patch from Matt Thomas to fix mbuf leak in FDDI driver. 1995-04-01 01:43:56 +00:00
Justin T. Gibbs bbf437ee54 Mask the call to ahc_attach with an splbio/splx pair. This allows us
to poll succesfully even if we are sharing the interrupt.

Register the interrupt handler before the attach.

This commit makes the 294x PCI shared interrupt compliant.  This has
been tested with an aic7870 motherboard controller and a 294x in the
same machine shareing an irq.
1995-03-31 14:08:33 +00:00
Stefan Eßer 244c89d543 Include <stddef.h> for standard definition of offsetof() instead of
defining it explicitly in the driver.
1995-03-31 00:05:08 +00:00
Bruce Evans 208ce078ed Remove wrong redeclarations of printf() and bzero(). Include the correct
header to declare DELAY().
1995-03-25 22:40:49 +00:00
Bruce Evans e9f80c0133 Make untested NS code at least compile so that it doesn't break LINT. A
struct member had an old name.
1995-03-25 22:06:27 +00:00
Bruce Evans f0d47944e2 Forward-declare kern_devconf for use in a prototype. Some drivers
include <pci/pcivar.h> without including <sys/devconf.h> and other
drivers include <pci/pcivar.h> before including <sys/devconf.h> if
certain identifiers are defined.

The devconf headers have convoluted interdependencies.  <sys/devconf.h>
includes <machine/devconf.h> which includes <pci/pcivar.h>.  Most
drivers include <sys/devconf.h> so even isa drivers depend on
<pci/pcivar.h>.  For similar reasons, most drivers depend on another
pci header, on an isa header and on two scsi headers.
1995-03-25 21:10:38 +00:00
David Greenman a54907a1a7 Restore my changes to initialize the kdc_shutdown routine pointer. Stefan
clobbered it in his previous commit and not having it causes the machine
to panic during reboot (as well as not doing the important shutdown callout).
1995-03-23 06:14:44 +00:00
Stefan Eßer 41226e9d0a Set request sense data size from xp->req_sense_length if != 0.
Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-22 19:45:22 +00:00
Stefan Eßer 6bf3dde846 Remove use of unitialised variable xp->req_sense_length.
Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-22 11:00:23 +00:00
Stefan Eßer 8673e05a9a Completely new PCI code:
1) Supports PCI to PCI bridge devices (and tries to initialise them,
   even if the BIOS is brain dead).
2) Supports shared PCI interrupts. Interrupt handlers now MUST return
   '0' if they found nothing to do, '1' otherwise.

New features tested with i486 systems based on the Intel Saturn and
a DEC 4channel Ethernet card only, but expected to work on most systems.

The option PCI_REMAP has been removed !

Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-21 23:01:06 +00:00
Stefan Eßer 1a4077c4c2 Stylistic changes. Update Wolfgang's e-mail address.
Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-21 22:48:36 +00:00
Stefan Eßer b4b37e9058 Silence "gcc -Wall".
Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-21 22:43:04 +00:00
Stefan Eßer 067968d4d7 Cosmetic changes.
Submitted by:	Wolfgang Stnglmeier <wolf@kintaro.cologne.de>
1995-03-21 22:41:19 +00:00
Stefan Eßer 82c5c9a9f0 Major cleanup: Stylistic changes, 386BSD specific code removed.
Adaptec to new PCI code.

Submitted by:	Wolfgang Stnglmeier <wolf@kintaro.cologne.de>
1995-03-21 22:14:27 +00:00
David Greenman cb09d35cb0 Added a new field to the pci_device struct called pd_shutdown to specify
a device specific shutdown routine for devconf. Assign the value of this
to the kern_devconf struct. Implement a device shutdown routine for if_de
that disables the device. This will stop the device from corrupting memory
after a reboot.
1995-03-17 04:27:21 +00:00
Stefan Eßer 11098d3bad Prepare for shared interrupts (required by the new PCI code that adds
support for PCI PCI bridges, e.g. found on 4ch. Ethernet cards).

Submitted by:   Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-16 17:41:20 +00:00
Stefan Eßer f37ec55185 Make ncr.c compile again (PRINT_ADDR() had been patched
into the middle of a printf() by a buggy diff ...).

Submitted by:	rgrimes
1995-03-16 13:02:40 +00:00
Stefan Eßer 8e95bee6d4 Conditionalise debug message.
Submitted by:	Peter Dufault <dufault@hda.com>
1995-03-15 18:15:32 +00:00
David Greenman d41f24e742 Added support for generic FDDI and the DEC DEFEA and DEFPA FDDI adapters.
Submitted by:	Matt Thomas
1995-03-14 09:16:07 +00:00
Stefan Eßer 252e349211 Reduce burst length to 4 DWORDs for now, since there seem to
be 486 chip sets that can't tolerate bursts > cache line size.
This should really made dependent on the particular buggy
chip sets, but for now we'll play safe ...
1995-03-03 16:44:33 +00:00
Stefan Eßer a2564a2e9c Disable vga_attach() code, as it always should have been. 1995-03-02 23:29:44 +00:00
Stefan Eßer 79a6470e10 Speed up PCI attach code by ommiting test if its result is ignored anyway. 1995-03-02 21:51:53 +00:00
Stefan Eßer c79b89e28f Add code to deal with PCI-PCI bridge chips, especially the DEC 21050.
Try to deduce maximum number of PCI buses in system (working around
chip set bugs).
Better check for devices at multiple addresses (aliases).

Reviewed by:	se
Submitted by:	<wolf@kintaro.cologne.de> Wolfgang Stanglmeier
1995-02-27 17:22:09 +00:00
Stefan Eßer 04dbb40865 First try to add support for PCI-PCI bridge chips (written for the
DEC 21050 chip in particular, don't have specs of other such chips).

This should add support for Multiple-Ethernet PCI cards (e.g. Znyx 314).

Reviewed by:	se
Submitted by:	<wolf@kintaro.cologne.de> Wolfgang Stanglmeier
1995-02-27 17:17:14 +00:00
Stefan Eßer dff6de1a8c Delete bogus semicolon in macro definition. 1995-02-27 17:10:20 +00:00
Stefan Eßer 9b7d1decfc Make people happy, who claim to better know how "interupt"
is to be spelled :).

Submitted by:	<wolf@kintaro.cologne.de> Wolfgang Stanglmeier
1995-02-25 17:34:03 +00:00
Stefan Eßer ef2dee21dc Deal with systems, that lack a fully decoded PCI configuration space.
Submitted by:	<wolf@kintaro.cologne.de> Wolfgang Stanglmeier
1995-02-25 17:26:22 +00:00
Stefan Eßer fe5278a5cc Cleanup for compatibility with another OS.
Submitted by:	wolf
1995-02-22 18:04:56 +00:00
Stefan Eßer d9dc2f74ef New PCI attach code:
PCI BIOS mappings are retained, except if option PCI_REMAP
is specified in the kernel config file.
There is now a list of attach addresses, and the first
address that seems to make some device registers appear
is chosen.

Reviewed by:	se
Submitted by:	wolf
1995-02-22 14:17:15 +00:00
Stefan Eßer 3453c5d5db Improve diagnostics:
Test for correct execution of cache test script by NCR,
and give meaningful error description if it fails.
(A cache problem was reported before.)
Don't wait forever for cache test to complete (to protect
against faulty hardware).

Submitted by:	wolf
1995-02-17 16:45:08 +00:00
Stefan Eßer 6977dc165f For the sake of people, who like to move pci_configure()
before isa_configure() in autoconf.c:

ncr_intr() protected by splbio()/splx()

Submitted by:	wolf
1995-02-15 20:06:38 +00:00
Stefan Eßer 9ddf96998e ncr.c:
New config option "NCR_IOMAPPED" makes the driver use port I/O.
Put back in 53c815 defines, submitted by Mikael Hybsch <micke@dynas.se>.
These had got lost between cvs rev. 1.14 and now ...

pci.c:

Really write config space register.
Assign ports starting at 0xbc00.

Submitted by:	wolf
Reviewed by:	se
1995-02-14 23:33:38 +00:00
Stefan Eßer 1bc2211b44 Verify that NCR was mapped to uncached address.
Submitted by:	wolf@kintaro.cologne.de <Wolfgang Stanglmeier>
1995-02-14 22:48:01 +00:00
Poul-Henning Kamp c70f45100d YFfix. 1995-02-14 06:28:25 +00:00
Poul-Henning Kamp a14b2c282e YFfix 1995-02-14 06:19:23 +00:00
Garrett Wollman 522bab9535 Make capitalization consistent with other devices registered in
the database.  Also, distinguish between VGA-like display devices
and everything else.
1995-02-14 03:19:27 +00:00
Stefan Eßer 045de8d38f Block interrupts in more places and warn about the NCR exception handler
being called at inappropriate times (should never happen !).

Reviewed by:	se
Submitted by:	wolf@kintaro.cologne.de (Wolfgang Stanglmeier)
1995-02-10 13:24:52 +00:00
David Greenman 95b44faffd Turn on "Capture Effect" avoidence. This modifies the collision algorithm
so that the interface won't have the effect of blocking other senders
during bulk transfers (i.e. hogging the ethernet). It improves performance
in all of my tests by reducing collisions and I believe it to be a Good
Thing.
1995-02-10 06:06:42 +00:00
Stefan Eßer fd65acba73 Try to detect overlapping PCI memory assignment.
(This can only happen with devices that are mapped
by the BIOS.)

Reviewed by:	se
Submitted by:	wolf (Wolfgang Stanglmeier)
1995-02-09 20:20:33 +00:00
Stefan Eßer 91857942bb Add short delay after NCR reset.
Submitted by:	wolf@kintaro.cologne.de (Wolfgang Stanglmeier)
1995-02-06 22:01:58 +00:00
Stefan Eßer ee1b86ffbd Disable I/O port accesses in case the BIOS enabled them.
Clear all output lines except ATN and ACK when waiting
for target phase change.

Submitted by:	wolf (Wolfgang Stanglmeier)
1995-02-04 14:02:44 +00:00
Justin T. Gibbs 4e259174eb #include<kernel.h> to quiet a compiler warning having to do with the
DATA_SET (pcidevice_set, ahc_device) macro.  Maybe this will allow
the aic7870 to be probed again.  I don't have a PCI machine here
to test it.
1995-02-03 17:08:17 +00:00
Stefan Eßer 3f624a0187 Removed misleading copyright note. This file contains just
definitions taken from the PCI specs. Part of them were typed
in by Wolfgang Stanglmeier, the (at that time unneeded) rest
by Charles Hannum (thanks !).
1995-02-02 22:01:40 +00:00