Commit Graph

1152 Commits

Author SHA1 Message Date
wollman
7b8816e057 Got the sense of the L1 cache enabled test wrong; fixed. 1996-01-23 20:36:49 +00:00
wollman
5de35f4d42 Add support for dumping the configuration of the Intel
82371FB PCI ISA IDE Xcellerator (sic) chip.  The IDE function
will not be done until Stefan tells me how to access it.
1996-01-23 20:21:24 +00:00
wollman
6ae0d73e93 Add register definitions for Intel 82437FX (Triton System Controller) 1996-01-22 22:43:48 +00:00
jkh
57ebe2846e 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
se
735dc86501 Fix bad typo: > was used instead of >> ...
Submitted by:	Matt Thomas <matt@lkg.dec.com>
1996-01-19 19:03:47 +00:00
se
45c6f961ff 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
se
97c5aa5ded Change default value of MAX_LUN from 1 to 8. 1996-01-18 19:59:23 +00:00
se
a072ff8139 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
se
3c03dbc458 Disable handshake timeout. Some devices don't send an ACK for several
seconds ...

Submitted by:	wolf
1996-01-15 23:16:39 +00:00
dg
7a93e91835 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
se
f9c7af3d08 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
se
00c8059b68 Add back initialization of "ncrp[unit]" since ncrcontrol relies on it. 1996-01-10 21:20:57 +00:00
ats
ecb5802a84 Add the pci-numbers for the 3c595 10/100Mb card to the driver. 1996-01-09 23:07:32 +00:00
se
4c496827e5 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
gibbs
136f35748b Don't bother setting the DSCommand register. Adaptec's own BIOS doesn't. 1996-01-09 16:14:53 +00:00
gibbs
d505307114 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
gibbs
7931badf83 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
dg
b2c9e8d577 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
se
81784b0603 Preserve SIGP bit when clearing INTF condition.
Submitted by:	Gerard Roudier <groudier@htlm.fr>
1995-12-28 13:04:03 +00:00
dg
9b9a2cb9f0 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
bde
662e3ea39b 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
se
c7128c37b8 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
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
phk
9cb413a93c Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
gibbs
6679dabe5e 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
phk
a69d1dfbcb Julian forgot to make the *devsw structures static. 1995-12-08 23:23:00 +00:00
julian
1900eea896 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
dg
c30f46c534 Untangled the vm.h include file spaghetti. 1995-12-07 12:48:31 +00:00
se
c2589aa47b 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
bde
9d43933c59 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
dg
4c3cdc73fb 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
dg
8156a5707a 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
dg
f2ed6aa26b 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
d235bcfb64 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
bde
bbd9fed036 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
asami
e6b331e558 'see" -> "see" (in the comment).
Noticed by:	hilit19.el (stop laughing! ;)
1995-11-29 11:19:02 +00:00
jkh
8b518c54b4 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
dg
072ed4b1b9 Device driver for Intel Pro/100 PCI Fast Ethernet controller. 1995-11-28 23:55:26 +00:00
bde
bd2d8266d1 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
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
dg
6a1863f80c 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
phk
adf28f3330 statizice some internal magic. 1995-11-14 10:03:56 +00:00
gibbs
06d23c91c8 Remove uneccessary increment of the unit number. 1995-11-07 05:33:27 +00:00
gibbs
93466c1a4a Conform to new probe/attach interface exported by aic7xxx.c.
Use ahcintr directly as interrupt handler.
1995-11-05 04:51:58 +00:00
bde
a85dc60d0b 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
bde
7c623a0f2b 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
04482e6b0a 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
21d9ef842e 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
phk
88d6fa4d4a 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
gibbs
959cd912ba 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
dg
440393bb44 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
wollman
234ef116d9 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
gibbs
0f62a1bc92 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
dg
31dfaff825 Add SIOCGIFADDR support. 1995-10-07 20:34:30 +00:00
dg
0da9546df9 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
dg
f425fbd371 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
dg
302aaf80d5 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
se
43a67e5367 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
se
eeefadd63b Add vendor ID of Compaq, now that I found what it is ... 1995-09-14 23:24:29 +00:00
se
966d73112d Remove '#ifdef undef' that was only supposed to be in my local test version. 1995-09-14 17:26:24 +00:00
se
1104c373a3 Do not include the verbose boot messages, if PCI_QUIET is defined. 1995-09-14 13:13:33 +00:00
se
4480a95449 Minor changes to the PCI probe messages. 1995-09-14 13:09:40 +00:00
se
bb99eab118 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
se
1b15405165 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
se
39094846c8 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
se
4e0375548e 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
se
83e376836a 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
bde
b25431cbea Fix benign type mismatches in devsw functions. 82 out of 299 devsw
functions were wrong.
1995-09-08 11:09:15 +00:00
se
13b2c6871d 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
se
39322cdbf1 Remove support for PCI bridge classes, since this
dealt with by code in pci.c now.
1995-09-07 15:40:51 +00:00
se
1201cb219f Make mapping messages depend on bootverbose flag.
Add PCI subclass to unknown device message.
1995-09-07 15:20:53 +00:00
se
c574ff1709 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
gibbs
efdf230b3a 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
se
699059201d 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
jkh
7e060a53fc Fixes for issues raised by Bruce Evans.
Submitted by:	Jim Lowe <james>
1995-08-29 13:55:24 +00:00
jkh
a45eec8bc3 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
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
gibbs
b00d5a184a Correct the PCI ID for the Adaptec 7850 chips. 1995-08-20 03:18:09 +00:00
se
51817e60f6 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
se
bd57cefcd4 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
se
fdb397a93e 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
dg
03e89dc270 Initialize "name" to quiet compiler. 1995-07-29 18:21:48 +00:00
se
0d80d6cf0d Add a few chip set IDs. 1995-07-27 22:14:25 +00:00
se
48d4f5cf6b 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
se
9b9a2a321d Add a few vendor IDs. 1995-07-27 21:56:51 +00:00
se
648aadf62b 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
bde
60e0d03fdf Fix compiler warnings (systm.h wasn't included). 1995-07-16 10:07:40 +00:00
se
e8134f91a6 Put back second case of CC handler in NCR script. 1995-07-07 12:30:39 +00:00
gibbs
dde2724ff9 Add PCI Id for the 3940 controller. 1995-07-04 21:21:33 +00:00
se
be356b2ee6 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
se
c772748789 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
se
2b44d2ccf2 Give more detailed information about the type of bridge devices
found when probing the PCI bus.
1995-06-28 16:02:05 +00:00
se
728b42a4c5 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
se
2a67a27d9b 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
dg
3a6fb45237 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
rgrimes
1b1ee55538 Merge RELENG_2_0_5 into HEAD 1995-06-11 19:33:05 +00:00
rgrimes
c86f0c7a71 Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
dg
d625c1c9da 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
dg
cf998003ee 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
dg
5f72b26c0a 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
dg
00d59a71a5 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
dg
afc1e20345 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
jkh
50e5eb484b 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
dg
4bd79cb29a Changed minimum supported rev of DC21040 to pass 2.2. 1995-04-17 08:16:14 +00:00
gibbs
e1c0accf46 kernel.h -> sys/kernel.h 1995-04-15 21:38:34 +00:00
dg
02e9c53b97 Various changes from Matt Thomas to improve media selection and fix
support for the DC21140.
1995-04-13 04:46:40 +00:00
dg
57ebd3303a 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
dg
c4aa7861a3 From Matt Thomas: Finished EISA support. 1995-04-05 08:19:23 +00:00
dg
e7f6953c5b Patch from Matt Thomas to fix mbuf leak in FDDI driver. 1995-04-01 01:43:56 +00:00
gibbs
356e59576f 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
se
916ed5a996 Include <stddef.h> for standard definition of offsetof() instead of
defining it explicitly in the driver.
1995-03-31 00:05:08 +00:00
bde
dc5645601d Remove wrong redeclarations of printf() and bzero(). Include the correct
header to declare DELAY().
1995-03-25 22:40:49 +00:00
bde
b64333924b 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
bde
de5bb9367b 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
dg
1a822ca3ae 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
se
2a7c96b4c3 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
se
0a2856a018 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
se
6e667246cd 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
se
4f92854707 Stylistic changes. Update Wolfgang's e-mail address.
Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-21 22:48:36 +00:00
se
ecb5192aa7 Silence "gcc -Wall".
Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-21 22:43:04 +00:00
se
dfcb9a5280 Cosmetic changes.
Submitted by:	Wolfgang Stnglmeier <wolf@kintaro.cologne.de>
1995-03-21 22:41:19 +00:00
se
53910021c6 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
dg
b553215b12 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
se
4c4945abee 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
se
d5b7bdded1 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
se
0a35f1faf5 Conditionalise debug message.
Submitted by:	Peter Dufault <dufault@hda.com>
1995-03-15 18:15:32 +00:00
cvs2svn
2e14d9ebc3 This commit was manufactured by cvs2svn to create branch 'MATT_THOMAS'. 1995-03-14 09:16:08 +00:00
dg
68d73d5130 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
se
a12e751d75 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
se
84213d5699 Disable vga_attach() code, as it always should have been. 1995-03-02 23:29:44 +00:00
se
e9892e48b9 Speed up PCI attach code by ommiting test if its result is ignored anyway. 1995-03-02 21:51:53 +00:00
se
45a93efd7d 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
se
212beb9281 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
se
e4da420887 Delete bogus semicolon in macro definition. 1995-02-27 17:10:20 +00:00
se
8d841cc821 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
se
f69a6c8631 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
se
366c6d2cb2 Cleanup for compatibility with another OS.
Submitted by:	wolf
1995-02-22 18:04:56 +00:00
se
fc2b47aebc 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
se
0f764f43a1 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
se
691b2156f8 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
se
230cb92d92 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
se
0044192fdf Verify that NCR was mapped to uncached address.
Submitted by:	wolf@kintaro.cologne.de <Wolfgang Stanglmeier>
1995-02-14 22:48:01 +00:00
phk
832a9eda23 YFfix. 1995-02-14 06:28:25 +00:00
phk
b5ef2fd92b YFfix 1995-02-14 06:19:23 +00:00
wollman
293acf9294 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
se
a213898c49 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
dg
54d8522bec 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
se
93f26e434a 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
se
de1c9cade1 Add short delay after NCR reset.
Submitted by:	wolf@kintaro.cologne.de (Wolfgang Stanglmeier)
1995-02-06 22:01:58 +00:00
se
a10ae91aa4 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
gibbs
74f933a4ff #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
se
af678f727c 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
se
4b08898037 Disable disconnect after drive timeouts, since these
may be the result of reselect following too fast for
the driver to notice. Not the final solution, but the
problem has been seen only with very few devices.

Reviewed by:	se
Submitted by:	wolf (Wolfgang Stanglmeier)
1995-02-02 15:50:57 +00:00
dg
57e383cd4c Reapplied all of Stefan's changes. What a mess - the files were modified
and moved at the same time. This made it *very* difficult to fix the
revision log lossage that happend when the files were moved. SIGH.
1995-02-02 13:12:18 +00:00
dg
1cfe037240 Fixed up include paths after copying these in the repository. 1995-02-02 12:36:19 +00:00
se
2257969444 Reviewed by: se
Submitted by:	wolf (Wolfgang Stanglmeier)
Files moved here from sys/i386/pci, since they are meant to be
architecture independent.
1995-02-01 22:56:55 +00:00
gibbs
144f061bf6 Change the string returned in the aic7870 motherboard probe case. Change
#define to a more appropriate name.
1995-01-22 00:47:50 +00:00
gibbs
6617f0bfe4 Add $Id. Recognize motherboard aic7870 based controllers. 1995-01-16 16:31:57 +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
se
da85675e3f Submitted by: Mikael Hybsch <micke@dynas.se>
Add support for NCR 53c815 PCI SCSI chip.
1995-01-12 14:01:13 +00:00
dg
a88d789288 Restore my changes in rev 1.11 that Garrett killed in his commit. 1994-12-22 23:42:25 +00:00
wollman
e6ec63204f Move ARP interface initialization into if_ether.c:arp_ifinit(). 1994-12-22 21:56:22 +00:00
se
c01314f53a Add support for -v option passed to boot loader (bootverbose).
Reviewed by:
Submitted by:
Obtained from:
1994-12-22 21:20:39 +00:00
dg
76d9732fa9 Unbogify the size being passed to bzero when clearing struct softc. 1994-12-18 14:40:26 +00:00
dg
f89e56828a The physical memory allocated for input DMA must be contiguous. The driver
worked in the past only because of good fortune. Anyway, use the contig alloc
routine I wrote awhile ago (vm_page_alloc_contig) for the sound code to do
this allocation. Also, specify read+write on the permissions to pmap_enter().
Specifying just read can have unexpected consquences.
1994-12-11 01:45:41 +00:00
dg
74d1e69716 Fix bug I introduced that broke BPF support. Caused by a byte order problem
in an if () expression. Problem fixed by removing the test for ETHERTYPE_*
before passing packet to higher layers.
1994-11-30 12:08:23 +00:00
se
83418166e2 Really deactivated the code that puts scsi stats into dk0.
This should have been disabled for some time, but I had screwed up ...
This made spurious values appear for fd0 in systat, when there was
NCR SCSI activity.
1994-11-28 23:18:46 +00:00
dg
68acac5e76 Moved conversion of ether_type to host byte order out of ethernet drivers
and into ether_input(). It was silly to have bpf want this one way and
ether_input want it another way. Ripped out trailer support from the few
remaining drivers that still had it.
1994-11-24 14:29:38 +00:00
dg
98cbcd3a01 Bunch of fixes from Matt Thomas:
1) make #includes correct
2) fix bugs in address check macros
3) fixed bugs in, and enabled, recopy if heavily fragmented code
4) moved call to bpf tap to be before enqueing packet (probably gratuitous)
5) fixed bug that caused "abnormal interrupt" at boot time/first use
6) added support for reading Zynx address ROM
7) fixed bug that caused broadcasts to not work shortly after booting (only
	manifested if not using multicast - e.g. not in FreeBSD 2.0)
8) fixed spelling errors in comments

Submitted by:	Matt Thomas
1994-11-22 09:47:31 +00:00
dg
05ff8934e3 Added support for SIOCSIFMTU ioctl. Fixed bug that caused panic at boot time
related to interrupts being enabled before the device attach. The interrupt
should be mapped *after* the device attach.
1994-11-13 12:39:38 +00:00
dg
233b360d13 Added missing call to bpf on the transmit side. Nuked revision log. 1994-11-10 02:56:48 +00:00
dg
f0b0ae21dd Fixed bug that somehow made it into here: the ifp must be stored in the
mbuf header for received packets. Minor performance optimizations. Removed
#ifdef MULTICAST's as this isn't optional in our kernel.
1994-11-09 15:12:44 +00:00
se
b7d81897fe Submitted by:
Added hooks for "lsdev" ...
PCI devices should need no individual code for lsdev.
1994-11-02 23:47:14 +00:00
ats
b76a2ea093 Submitted by: Paul F. Werkowski
Add a quirk line for the SONY SDT-5000 like it is done for the WangDAT tapes.
1994-10-30 00:30:27 +00:00
jkh
66de798440 Make this documentation more sane in the context of 2.0. 1994-10-29 13:13:40 +00:00
se
6cc6dda103 Change some compile time defaults, which may be overridden from the
kernel config file by options lines.
Now the default settings are FAST SCSI, max. 4 TAGS, WIDE transfers,
if supported by the hardware ...
1994-10-27 20:12:46 +00:00
se
cf28ffb3ff Modified fifth parameter (imask) to register_intr() according to
new definition of that function.
1994-10-25 23:09:08 +00:00
se
04ad970a93 Added decoding of chipset registers for Pentium 90/100 CPUs. 1994-10-25 18:45:19 +00:00
phk
93841a2173 #ifdef'ed the verbose probe messages. Only until I find a good way of
making it run-time selectable, then it will be back (at will).
1994-10-17 21:11:31 +00:00
se
ccb43dfe5a Fixed typo and message format change to avoid line wrapping. 1994-10-15 23:27:39 +00:00
se
0ff230d311 Submitted by: "Randall W. Dean" <rwd@osf.org>
Fixed typo in initialisation of DMODE:
PCI burst length now really 16 transfers as advertised ...
1994-10-14 23:59:36 +00:00
cvs2svn
fd4cf9ebc4 This commit was manufactured by cvs2svn to create branch 'NETBSD'. 1994-10-14 08:53:17 +00:00
se
8538fd5ecd Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de>
removed PCI mapping call from vga_attach() in pcisupport.c.
1994-10-13 01:12:31 +00:00
se
1a86959f3b Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de>
Debugging option changed, getirr() removed.
1994-10-13 01:11:13 +00:00
se
2c2e442f7b Submitted by: Matt Thomas <thomas@lkg.dec.com>
Preliminary FAST Ethernet support added (DEC21140).
1994-10-12 11:19:36 +00:00
se
c48e2420ab Submitted by: Bruce Evans <bde@zeta.org.au>
Function getirr() could clobber interrupt controller state.
1994-10-12 04:17:24 +00:00
se
67e842ed9b Small corrections:
pci config line now without irq
	boot message changed
1994-10-12 02:41:21 +00:00
se
bdd76ad243 Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de>
Bug fixed, that caused system hang on first interrupt on some motherboards.

New version of PCI bus configuration code, now supports dynamic interrupt
configuration (using BIOS supplied values).
NCR SCSI and DEC Ethernet driver patched to use this feature.
*** Remove PCI IRQ specifications from your kernel config file ! ***
1994-10-12 02:33:23 +00:00
se
58cfb27b7a Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de>
Name change: pci_intel.c -> pcisupport.c
1994-10-12 02:27:08 +00:00
se
2a7081fe01 Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de>
Files merged and name change: pci_device.h + pcibios.h -> pcireg.h
1994-10-12 02:25:03 +00:00
se
c7233be7d4 Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de>
Name change: ncr_reg.h -> ncrreg.h
1994-10-12 02:21:56 +00:00
wollman
1fbb6a0bd3 Add Matt Thomas's DC21040 PCI Ethernet driver. (This is turning out
to be quite a popular chip, so expect to see a number of products
based on it.)
1994-10-01 20:16:47 +00:00
wollman
e0985aae7e Correct DEC -> Digital Equipment Corporation. 1994-10-01 00:18:53 +00:00
se
c49750310f Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de>
New version with improved support for WIDE SCSI using the NCR 53c825.
Test for buggy secondary cache implementations.
PCI Int to IRQ mapping now specified per slot.
1994-09-28 16:34:13 +00:00
rgrimes
111d145dc4 Add missing closing comment. I have taken the non-knf format
of this code up with the authors and they are looking at converting it,
but until then leave the format alone.
1994-09-24 02:42:11 +00:00
dg
f40d319a86 Removed inclusion of pio.h and cpufunc.h (cpufunc.h is included from
systm.h). Merged functionality of pio.h into cpufunc.h. Cleaned up some
related code.
1994-09-16 13:33:56 +00:00
se
082fbb1bea Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de> + <se>
Improved bus probing, symbolic names for registers..
Chip set parameters get dumped for intel PCI chip sets
(82424+82434 only, for now).
1994-09-16 00:33:29 +00:00
se
8faab3c2e8 Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de>
New version with support for the NCR 53c810 and 53c825.
Support for WIDE SCSI devices.
1994-09-16 00:22:32 +00:00
wollman
63cf74f14d Added a bit of missing functionality to make this work correctly on a
wider variety of systems.  Include the deivers from pci_intel.c in
pci_config.c (I hope this is what was intended; my system works ok).
Use pmap_mapdev().  Automatically map any large linear frame buffers
or whatnot in VGA-style devices which ordinarily would not have their
own drivers, and don't call not_supported() for them.  (This shuts up
complaints about my Matrox card.)  Include the beginnings of what could
eventually become dynamically-loadable PCI devices.  Allow for the
possibility of PCI devices simply providing a PCI veneer over an existing
ISA device, and shut up about them, too.
Make autoconfiguration text conform more to the style of other supported
buses.
1994-09-14 01:34:51 +00:00
se
c920f621ff Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de>
Merged in changes required for NetBSD support (by mycroft@gnu.ai.mit.edu)
and support for multiple NCR chips.
1994-09-01 02:01:45 +00:00
se
2c2543e63e Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de> + Stefan Esser <se>
Directory for PCI autoconfigure and device driver code.
1994-09-01 01:45:19 +00:00