Commit graph

170 commits

Author SHA1 Message Date
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