Commit Graph

422 Commits

Author SHA1 Message Date
Steve Passe
e75839864d Submitted by: Michael Petry <petry@netwolf.NetMasters.com>
Michael submitted code to activate the audio muxes.

fsmp:
 extended those changes for different boards.
 auto-detection of board types.
 auto-detection of tuner types.
 auto-detection of stereo option.
1997-03-21 17:33:03 +00:00
David Greenman
6ebc315326 Added support for newer cards that have the DP83840A PHY chip.
Fixed a bug in fxp_mdi_write - a hex number was missing a preceding 0x
and this was causing the routine to not wait for a PHY write to complete.
Added support for link0, link1, and link2 flags to toggle auto-
negotiation, 10/100, and half/full duplex:

link0	disable auto-negotiation

	When set, these flags then have meaning:

	-link1	10Mbps
	link1	100Mbps
	-link2	half duplex
	link2	full duplex

...needs a manual page.
1997-03-21 08:00:13 +00:00
KATO Takenori
0908b6ff4a Added Allied Telesis CenterCOM LA100-PCI support. Currently, full
duplex mode doesn't work.
1997-03-20 07:25:22 +00:00
Steve Passe
0f4a397771 additions for table-driven frequency calculation.
addition of colorbar ioctl.
removed unneeded disable_intr()/enable_intr() wrappers in i2c code.
minor cleanup.
1997-03-19 19:10:45 +00:00
Steve Passe
ba2c23286f Submitted by: Doug White <dwhite@gdi.uoregon.edu>
I broke the cable tuning with my 'TEST_A' code.  Remove TEST_A define
till I finish this change for both tuning modes.  Note that this
will effectively break the new TVTUNER_SETFREQ/TVTUNER_GETFREQ ioctl()s.
These aren't used by anyone but me yet (attempt to provide full resolution
fine tuning for "fringe" stations) so it should be no problem
1997-03-17 17:41:24 +00:00
David Greenman
dccee1a193 Fixed two deficiencies in the driver that have existed since it was
written:

1) Full duplex mode is now supported (and works!)
2) The 10Mbps-only PCI Pro/10 should now work (untested, however)

Thanks to Justin Gibbs for providing a PCI bus analyzer trace while the
Intel Windows driver was configuring the board...this made it possible
to figure out the mystery bit that I wasn't setting in the PHY for full
duplex to work.
1997-03-17 11:08:16 +00:00
Steve Passe
55566fdc2f Submitted by: Amancio Hasty <hasty@rah.star-gate.com>
addition of bt848 specific ioctl()s for hue/bright/contrast/satu/satv.

patches by Amancio Hasty to fix "screen freeze" problem.
1997-03-16 07:37:23 +00:00
Justin T. Gibbs
4a2a38f682 The register definitions are now in the compile directory. 1997-03-16 07:12:36 +00:00
Stefan Eßer
e93e9e7392 Add support for the buggy CMD640B PCI EIDE controller chip, which
can't perform overlapping commands on both of its channels.

To enable the CMD640B work-around, the kernel must be compiled with
"options CMD640". Without that option there should be no difference
in the code produced compared to the previous revision of wd.c.

Submitted by:	Wolfgang Helbig <helbig@ba-stuttgart.de>
1997-03-11 23:17:28 +00:00
Mark Murray
51e053d6cc Initial import of the Brooktree PCI-TV drivers. I have not tested
these, they may not even compile. I am importing them on behalf
of the submitters.
Submitted by:	amancio, smp
1997-03-10 06:38:26 +00:00
Justin T. Gibbs
3aaa276222 Make it clearer how the termination settings from the PCI probe are used by
the ahc_init routine.
1997-02-25 03:06:19 +00:00
Joerg Wunsch
ec65be11ef Add support for the SMC9332BDT that's using the DE21140A chip. This
is merely a stop-gap measure until we can import an upgraded driver
from Matt Thomas.

Closes PR # 2696, and most likely also 2767.

OKed by:	core
1997-02-23 10:57:30 +00:00
Peter Wemm
6875d25465 Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not
ready for it yet.
1997-02-22 09:48:43 +00:00
Justin T. Gibbs
62e2cfe42e ULTRAENB->FAST20 1997-02-09 03:27:09 +00:00
David Greenman
3b576b3e5e Fixed missing ioport offset from the reading/updating of the PLX
interrupt control/status register.

Submitted by:	Brian McGovern <bmcgover@cisco.com>
1997-02-05 22:19:18 +00:00
Andrey A. Chernov
1963788476 Fix misspelled variable name, -current build stopper 1997-02-05 07:23:56 +00:00
Stefan Eßer
cfc23ad40c Add interface revision field to pci_register_lkm parameter list.pci.c pcibus.h
This parameter is intended to allow new kernels to work with old LKM binaries,
provided the revision ID is incremented whenever the PCI LKM interface is
changed. The revision ID does not at all protect against changes in data
structures accesses by the driver.
1997-02-04 18:31:57 +00:00
David Greenman
001696da5b Changed several configuration options:
Disabled the DMA byte counters - I had it this way originally and this is
the recommended setting.
Set crscdt to CRS only (0) since this is what it should be for an MII PHY.
Also fixed some comments.
1997-02-04 11:44:15 +00:00
David Greenman
33d14d8671 Do "selective" reset rather than full reset...the manual specifically
says not to do the full reset because it can lock up the PCI bus if the
chip is active. Added various PORT command definitions to facilitate
this.
1997-02-04 10:53:12 +00:00
David Greenman
6e39e59963 Don't include the short-frames counter in with the input errors. This
counter is incremented on all short frames, including those that are
the result of collisions.
1997-02-04 07:39:28 +00:00
Justin T. Gibbs
9d5e1d812d Add 1997 to my copyright.
Change the autotermination code slightly to be more careful on narrow
adapters.
1997-01-29 05:28:21 +00:00
Stefan Eßer
80432747dc Remove element pb_maxirq from struct pcibus. 1997-01-25 02:22:34 +00:00
Stefan Eßer
e8bfed6d98 Improve on previous fix: Clean up getirq() as well, and remove redundant
warning messages.
1997-01-25 01:57:30 +00:00
Justin T. Gibbs
09e505318a Add the definition for the CFAUTOTERM bit in the aic78xx SEEPROM.
Add auto-termination support as well as support for setting the high byte
termination.  Booting with '-v' will display the settings that the driver
chose.  If you stick narrow devices onto the external wide port, you had
better make sure that your converter cable terminates the bus, you have a
wide device on there that terminates the bus, or you manually set the
termination properly in SCSI-Select instead of using "Automatic".  The
code will get the setting right regardless if you *don't* have internal
wide devices in this type of configuration.  Unfortunatly this is a limitation
of the design of the Adaptec cards.
1997-01-24 22:04:14 +00:00
Stefan Eßer
a67fa10338 Make IRQ 0 invalid in pci_map_int(), since it is hardwired to the
programmable interval timer chip in PC systems.
1997-01-23 22:58:03 +00:00
Justin T. Gibbs
5ea6dc36ff Be smarter about enabling memory mapped I/O. The AHC_ALLOW_MEMIO option
should not be required anymore.

Turn on ULTRA for cards that don't have a BIOS or SEEPROM.
1997-01-22 18:07:15 +00:00
Stefan Eßer
99867152a5 Add PCI LKM support:
The new function pci_register_lkm (struct pci_device *dvp) appends the
driver to the list of known PCI drivers, and initiates a PCI bus rescan.
1997-01-21 23:41:42 +00:00
Stefan Eßer
993dec9d58 Add PCI LKM support. 1997-01-21 23:23:40 +00:00
Joerg Wunsch
e4107dcf00 This mega-merge brings Matt Thomas' 960801 FDDI driver (almost) up
to -current.

Thanks goes to Ulrike Nitzsche <ulrike@ifw-dresden.de> for giving me
a chance to test this.  Only the PCI driver is tested though.

One final patch will follow in a separate commit.  This is so that
everything up to here can be dragged into 2.2, if we decide so.

Reviewed by:	joerg
Submitted by:	Matt Thomas <matt@3am-software.com>
1997-01-17 23:54:45 +00:00
Joerg Wunsch
b05ee6a563 Finally import the 960801 of Matt Thomas' DEC FDDI driver. I'm
importing it onto a vendor branch first, in the hope that this will
make future maintenance easier.

The conflicts are (hopefully) unimportant.  More commits that actually
bring this into the source tree will follow.

Submitted by:	Matt Thomas (thomas@lkg.dec.com)
1997-01-17 23:19:49 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Garrett Wollman
477180fbc8 Use the new if_multiaddrs list for multicast addresses rather than the
previous hackery involving struct in_ifaddr and arpcom.  Get rid of the
abominable multi_kludge.  Update all network interfaces to use the
new machanism.  Distressingly few Ethernet drivers program the multicast
filter properly (assuming the hardware has one, which it usually does).
1997-01-13 21:26:53 +00:00
Søren Schmidt
7c4eadc07b Fix typo.. 1997-01-06 13:51:15 +00:00
Stefan Eßer
4fe8838383 Fix NetBSD pr kern/3067, which also applies to FreeBSD:
NCR driver dies when "xmcd" accesses the CD-ROM drive

Restrict cacheing of INQUIRY results to LUN 0.

Thanks to Dave Huang <khym@bga.com> for reporting the problem
and suggesting a fix, though I chose a slightly different one.
1997-01-05 23:10:23 +00:00
Stefan Eßer
d794fbe35c Add Intel VX chip set specific detection and register dump code.
Submitted by:	brianc@netrover.com (Brian Campbell)
1997-01-02 01:23:17 +00:00
Bruce Evans
0febc3d288 Don't redefine SCSI_NCR_DFLT_TAGS even in if FAILSAFE is defined. 1996-12-23 19:12:29 +00:00
Stefan Eßer
deb4f83f3c Improve negotiation messages:
Print MB/s instead of MHz (now takes WIDE into account).
Remove extranous "\n" from WIDE negotiation messages.
1996-12-21 12:32:34 +00:00
Stefan Eßer
d14302ba21 Add PCI IDs of the ProLAN and Compex PCI NE2000 clones.
Based on information sent by Peter Mutsaers <plm@xs4all.nl>.
1996-12-21 00:04:09 +00:00
Stefan Eßer
edb2a14fa4 Fix bug that would stop probing for SCSI devices
after the first found, if multiple LUNs are tried.
Change probe message to just the SCSI chip id,
similar to what the NCR driver prints.
Change the driver name to "amd" in all places.

Thanks to  Nick Sayer <nsayer@quack.kfu.com> for
doing some debugging, for sending a boot message
log that shows the driver is functional, and for
pointing out there still were places that needed
the driver name to be corrected.
1996-12-20 21:52:11 +00:00
Stefan Eßer
7eda43b2d4 Add include of <vm/pmap.h> to make this driver compile under -current.
Cleanup to make it compile cleanly in LINT.
Submitted by:	bde
1996-12-18 11:41:28 +00:00
Stefan Eßer
b9bffbaea1 Rename DIAGNOSTIC to DMA_DIAGNOSTIC.
Submitted by:	bde
1996-12-18 11:35:12 +00:00
Stefan Eßer
dd0f5b33a3 Add code to fill the EEPROM buffer with default values, if no EEPROM
was found, or if there was a checksum mismatch.
This patch should allow the driver to be used with any AMD 53c974
based SCSI card, or with the AMD SCSI+Ethernet Combo Chip found on
some motherboards.
1996-12-18 01:20:32 +00:00
Stefan Eßer
887819402a Make compile under FreeBSD-current (3.0-DEVELOPMENT). 1996-12-18 01:08:05 +00:00
Stefan Eßer
7abffcc21a Fix "opt_ncr.h" changes:
- put #include into #ifdef KERNEL or ncrcontrol won't build
- rename SCSI_DEBUG_FLAGS to SCSI_NCR_DEBUG
1996-12-16 14:31:45 +00:00
Stefan Eßer
d26d022d05 Tekram supplied driver for their DC390 and DC390T controllers.
These controllers are based on the AMD 53c974, and the driver
does only support those two cards, since it checks for a Tekram
specific configuration EEPROM.
This deficiency (TM) will be fixed soon ... :)

This code is:
	(C)Copyright 1995-1996 Tekram Technology Co., Ltd.

Obtained from:	Tekram
1996-12-15 23:40:48 +00:00
Stefan Eßer
d44022652e Fix typo 1996-12-15 23:25:50 +00:00
Stefan Eßer
a56eccf52b Include "opt_ncr.h" for option settings. 1996-12-15 16:37:17 +00:00
Stefan Eßer
10cffc9fbc Do not limit to 1 LUN if FAILSAVE is set. Seems that CDROM drives
are now only probed for LUN 0, unless there is a specific entry in
scsi_conf.c.
1996-12-15 16:28:24 +00:00
Stefan Eßer
89c1d5dcd9 General cleanup and new features for 53c875 based cards, especially the
Tekram DC390W/U/F, whose config EEPROM can now be dumped, if the kernel
is built with option NCR_TEKRAM_EEPROM.

Other changes:

- add brackets to expansion of OUTB/W/L macro arguments.
- remove unused NCB structure element ns_async
- support sync. SCSI offset of 16 (instead of only 8) on 825A and 875
- correctly identify 53c810A and 53c825A chips
- preserve SCSI BIOS settings of PCI performance options
- remove (already disabled) support for NCR reset because of command timeout
- reverse order of reading of SCSI and DMA specific interrupt cause registers
- add definition of Tekram config EEPROM contents (not currently used)
1996-12-14 13:13:33 +00:00
Jordan K. Hubbard
0b3870cb60 Close PR#2198:
I've added an installation from optical disk drive facility.
	This enables FreeBSD to be installed from an optical disk, which
	may be formatted in "super floppy" style or sliced into MSDOS-FS
	and UFS partitions.

	Note:  ncr.c should be reviewed by Stefan Esser <se@freebsd.org>
	and cd.c by Joerg Wunsch <joerg@freebsd.org> before bringing this
	into 2.2.

Submitted-By: Shunsuke Akiyama <akiyama@kme.mei.co.jp>
1996-12-13 07:55:14 +00:00
David Greenman
fb5831565c 1) Implement SIOCSIFMTU in ether_ioctl(), and change ether_ioctl's return
type to be int so that errors can be returned.
2) Use the new SIOCSIFMTU ether_ioctl support in the few drivers that are
   using ether_ioctl().
3) In if_fxp.c: treat if_bpf as a token, not as a pointer. Don't bother
   testing for FXP_NTXSEG being reached in fxp_start()...just check for
   non-NULL 'm'. Change fxp_ioctl() to use ether_ioctl().
1996-12-10 07:29:50 +00:00
Guido van Rooij
c01cc91938 Some imporvemnets to the vx driver.
1. 'connector_table' is shortened to 'conn_tab'.
2. More reliable connector change code.
3. Display message like "vx0: selected bnc. (link1)"
   when the connector changed by link[012].
4. Handle MII properly.
5. Potentially slightly better performance.
6. Fixed a silly typo.

Submitted by:	Naoki Hamada <nao@sbl.cl.nec.co.jp>
1996-12-02 18:38:37 +00:00
Rodney W. Grimes
79c2a5b3ff Cosmetic code cleanup from Matt's latest driver.
a)  Removal of private typedefs tulip_uint*_t, use standard u_int_*_t.

b)  Change [Dd][Cc]21.4. to just 21.4., seems Dec has done this to all
    of the drivers for all OS's.  (Did they get in trouble with someone?)
    [The few that remain can either not be eliminated, or are waiting for
    additional driver functional changes that will remove them.]

c)  Move some code from dc21040.h into the driver, later a whole block of that
    code and more will move to devar.h, but for now this makes it easier
    to study diffs.

d)  Add a big bold comment to the README.de file about it not reflecting
    reality anymore.

Note that these are all cosmetic changes and should be no functional
change in the driver whatsoever.  If _anyone_ spots a problem introduced
by this please let me know ASAP!
1996-12-01 06:01:00 +00:00
David Greenman
9c7d26071e Fixed obsolete comment. 1996-11-18 02:45:46 +00:00
Justin T. Gibbs
7595de5113 AHC_FORCE_PIO -> AHC_ALLOW_MEMIO 1996-11-16 01:19:50 +00:00
Satoshi Asami
7c219eac8f Some more updates.
wdreg.h: Delete wd_ctlr macro.  PC98 version of wd.c treats it as a
variable.

GENERIC98: Delete ep0 entry. Current ep driver write I/O port 0x100.
This clobbers ICW of i8259, because upper 8bits of address line is not
masked on mother board.

if_fe.c: Merge from revision 1.18 of sys/i386/isa/if_fe.c.

pc98.c: Globalize dmapageport, because SCSI driver use this
variable.

wd82371.c: Yet another merge.

These are 2.2 candidates.

Submitted by:	The FreeBSD(98) Development Team
1996-11-14 08:46:21 +00:00
John Hay
0c064d6185 Oops I forgot to add the official id for this card. 1996-11-13 18:06:52 +00:00
Stefan Eßer
576b74fcc8 Add support for header type == 1 devices (PCI 2.1 compatible PCI to PCI
bridges with support for 64 bit memory addresses and 32 bit I/O addresses).

The code is not complete. It ignores the upper half of the long addresses.
This is not a problem on PC compatible systems, but has to be fixed for
real computers.
1996-11-12 23:18:12 +00:00
Stefan Eßer
c88529d0e9 Fix PCI to PCI bridge register bit field masks.
Thanks to "Mike Durian" <durian@plutotech.com> for the very good
problem report and his support as a beta tester of this patch.
1996-11-12 23:10:24 +00:00
Justin T. Gibbs
ea4f3c468a Clean up the memory mapped/Programmed I/O stuff so that the driver completely
uses one or the other.  This required some changes to the ahc_reset()
function, and how early the probes had to allocate their softc.

Turn the AHC_IN/OUT* macros into inline functions and lowercase their names
to indicate this change.  Geting AHC_OUTSB to work as a macro doing
conditional memory mapped I/O would have been too gross.

Be smart about the STPWEN control bit in SCFRCTL1.  It should only be set
if the low byte of the bus is to be terminated.  We figure this out either
by "caching" the value left over from the BIOS setup before we reset the card
or by using the values stored in the seeprom if it is availible.
1996-11-11 05:26:14 +00:00
David Greenman
d66e3876dd Put the packet error printf inside #ifdef DIAGNOSTIC. 1996-11-10 13:36:46 +00:00
Stefan Eßer
e6f6908163 Only access the specific interrupt status registers if required.
This follows more closely the suggestions in the latest NCR docs, and has
been running on my system for weeks with no problem. It does improve the
quality of diagnostic messages and does allow to better understand the
sequence of events in case of an error.

This should go into 2.2 and 2.1.6.
1996-11-08 23:46:04 +00:00
Justin T. Gibbs
a75528de6b Clean up some code having to do with the 398X cards. We can't rely on the
7810 being either the last of the first device to be probed, so use a counting
scheme instead to determine when one card ends and another begins.  There may
be a better way to do this by decoding the PCI tag, which I will investigate
later.

2.2 Candidate.
1996-11-05 07:59:28 +00:00
Guido van Rooij
b3ac88f13f New vx driver for:
3COM 3C590 Etherlink III PCI,
        3COM 3C595 Fast Etherlink PCI,
        3COM 3C592 Etherlink III EISA,
        3COM 3C590 Fast Etherlink EISA,
        3COM 3C900 Etherlink XL PCI and
        3COM 3C905 Fast Etherlink XL PCI.

This driver is based on OpenBSD's driver. I modified it to run under FreeBSd
and made it actually work usefully.
Afterwards, nao@tom-yam.or.jp (HAMADA Naoki) added EISA support as well as
early support for 3C900 Etherlink XL PCI and 3C905 Fast Etherlink XL PCI.
He also split up the driver in a bus independant and bus dependant parts.

Especially the 3c59X support should be pretty stable now.

Submitted by:	partly nao@tom-yam.or.jp (HAMADA Naoki)
Obtained from:partly OpenBSD
1996-11-04 22:17:20 +00:00
John Hay
ebcdcb982a Add support for the SDL RISCom N2pci cards. Bring in the enhancements
made to the Arnet driver.
1996-10-29 03:53:21 +00:00
Justin T. Gibbs
b36b7d853f Add basic support for the 398X cards as multi-channel SCSI host adapters.
This involves expanding the support of the SEEPROM routines to deal with
the larger SEEPROMs on these cards and providing a mechanism to share
SCB arrays between multiple controllers.

Most of the 398X support came from Dan Eischer.

ahc_data -> ahc_softc

Clean up some more type bogons I missed from the last pass.
1996-10-28 06:10:33 +00:00
Justin T. Gibbs
7491f60b54 - KNF cleanup.
- Add support for memory mapped I/O.
1996-10-25 06:43:10 +00:00
Stefan Eßer
9ac309b8ce Definitions for ioctl() accesses to PCI config space registers.
Submitted by:	wollman
1996-10-22 20:33:19 +00:00
Stefan Eßer
10e966fae4 Add support for ioctl() accesses to PCI config space registers.
Garrett Wollman sent me this code a few weeks ago for review, and I made
some significant changes, which he in turn accepted ...

In order to make use of these changes, a device entry has to added to /dev.

Submitted by:	wollman
1996-10-22 20:20:14 +00:00
Bruce Evans
62c3734cbe Updated #includes to 4.4lite style. 1996-10-15 19:22:46 +00:00
Stefan Eßer
b86a81e448 pci_map_mem() did a too restrictive check on the mapping type:
PCI_MAP_MEMORY_TYPE_32BIT_1M should be accepted as well as
PCI_MAP_MEMORY_TYPE_32BIT (and now is).
(Problem reported by David Greenman.)
1996-10-14 13:04:34 +00:00
Stefan Eßer
b7ccd3dc56 Move the initialization of np->ns_sync and ns_async out of ncr_getclock(),
which does no longer get called for non-Ultra cards.
Fix suggested by Gerard Roudier, slightly modified by me.
1996-10-14 10:09:52 +00:00
David Greenman
3010cd6550 Changes to add support for the PCI version of the Cyclades Cyclom-Y
serial adapter, and support for multiple Cyclom controllers.
1996-10-13 01:09:24 +00:00
Bruce Evans
4458ac71b1 Removed nested include if <sys/socket.h> from <net/if.h> and
<net/if_arp.h> and fixed the things that depended on it.  The nested
include just allowed unportable programs to compile and made my
simple #include checking program report that networking code doesn't
need to include <sys/socket.h>.
1996-10-12 19:49:43 +00:00
Stefan Eßer
bdf9734704 Fix previous commit: The INB/OUTB macros require np->vaddr to be
initialized, or a kernel panic will occur.

Submitted by:	Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
1996-10-12 17:33:48 +00:00
Stefan Eßer
20bc4c3ac1 Improve support of SCSI cards based on the 53c860 and 53c875.
Still no support for Ultra-SCSI and other new features, but the code
should now correctly initialize the clock pre-scaler (based on freqency
measurement results, if necessary).

Fix support of 16 targets for WIDE SCSI.

Disable bus reset in case no progress is made for too long ("ncr dead"
message), which did not work too well with scanners and other slow devices.
1996-10-11 19:50:12 +00:00
Garrett Wollman
4f02305016 Implement the 802.3 MIB in a way that uses the generic interface
defined in if_mib.h.
1996-10-10 19:44:10 +00:00
Paul Traina
e0c973266d The recent change to clock.h to include opt_cpu.h (bug!!!) uncovered a
compile error in ncrcontrol.c -- ncr.c should not be including clock.h
when not compiled for the kernel.
1996-10-10 04:09:37 +00:00
Justin T. Gibbs
2ea8799246 Bring aic7xxx driver bug fixes from 'SCSI' into current. 1996-10-06 16:38:45 +00:00
David Greenman
8d1005c8c4 Added multicast support (BPF cookie bug was already fixed).
Submitted by:	Steven McCanne <mccanne@cs.berkeley.edu>
1996-10-03 10:47:03 +00:00
David Greenman
78fb85bbf7 Backed out one of my "performance optimizations" as it results in sometimes
not resuming the NIC as required for transmit. Thanks to Alan Cox
<alc@cs.rice.edu> for noticing this.
Added another performance optimization to compensate. :-)

Changed crscdt to 1...strange, but this seems to be needed for some reason
despite what the manual says.
1996-09-29 10:20:45 +00:00
David Greenman
1cd443ace8 Fixed a bug with the management of the pointer to the first TxCB in the
ring that caused wrong things to happen sometimes.
Doubled the number of transmit descriptors to 128 so that the internal
FIFO in the NIC can be fully filled when dealing with small packets.
Several minor performance improvements.
1996-09-22 11:48:54 +00:00
David Greenman
eadd5e3a24 Fixed a bug in the receive buffer allocation code that resulted in a
panic if an mbuf cluster couldn't be allocated. This was caused by a
failure to re-initialize m_data when the old mbuf/mbcluster was recycled.
1996-09-20 11:05:39 +00:00
David Greenman
3163485ccc Add back shutdown support, this time using the at_shutdown() mechanism. 1996-09-20 04:35:15 +00:00
David Greenman
4a684684f4 When the devconf stuff was ripped out of the kernel, the ripper neglected
to deal with the fact that we relied on devconf to do the shutdown
callouts in various drivers. The changes in this commit are to add support
for device shutdown in this driver via the new at_shutdown() mechanism.
Similar changes need to be made to all of the other drivers that need
a shutdown routine called (if_de.c comes to mind immediately).
1996-09-20 04:11:53 +00:00
David Greenman
f9be9005ce Implemented a better, dynamic, mechanism for adjusting the transmit
threshold.
1996-09-19 09:15:20 +00:00
David Greenman
7af18210c3 Increased transmit threshold to 1024 bytes to fix a problem with underruns
on machines with poor PCI performance.
1996-09-18 16:18:05 +00:00
David Greenman
40e4ce5ab9 Updated driver to a newer version from Matt Thomas, preserving our local
changes. This version should fix a number of bugs such as with auto-
speed sensing and at least one known panic.

Submitted by:	Matt Thomas (matt@3am-software.com)
1996-09-18 14:44:31 +00:00
Rodney W. Grimes
7ccde0654a Re-enable conf82371fb2 now that I have verified that it works, even if
it only prints 2 bits out of hundreds.  (Minimizing the diff between
-head and 2.1.5.)
1996-09-16 08:56:39 +00:00
Bruce Evans
b568ea4e01 Removed more devconf leftovers. 1996-09-10 23:31:13 +00:00
Bruce Evans
f313170d3c Updated #includes to 4.4Lite style. 1996-09-10 08:32:01 +00:00
Rodney W. Grimes
8b3cbd0cef Remove the portion of revision 1.36 that added the #ifdef's for CPU
types as per discussions with Stefan Esser.
1996-09-09 06:09:45 +00:00
Poul-Henning Kamp
40f3771f7f Various cleanups for remanents of devconf. 1996-09-08 10:44:18 +00:00
Bruce Evans
ec7ada96e6 Preserve volatility in casts of np->reg. Cosmetic. 1996-09-07 21:27:24 +00:00
Poul-Henning Kamp
bfbb029d87 Remove devconf, it never grew up to be of any use. 1996-09-06 23:09:20 +00:00
Rodney W. Grimes
851790dd27 Partial merge of RELENG_2_1_0 -> HEAD (addition of Intel 82439HX chip text). 1996-09-06 09:21:48 +00:00
Stefan Eßer
c6060a60ef Fix Orion specific code by moving config_orion() to a place where it does
not depend on bootverbose being true.

Include only register specifications for those chip sets that apply to
a cpu that might boot this a particular kernel (ie. make the Saturn code
depend on I486_CPU being defined, the Pentium chip sets on I586_CPU ...)
1996-09-05 21:34:12 +00:00
Stefan Eßer
77b3da75e6 Fix code that deals with multiple host to PCI bridges by making the next
one use the highest seen bus number plus 1 as its starting point.
1996-09-05 21:28:51 +00:00
Stefan Eßer
64dc51ab2e Correct previous Orion specific fix: The configuration register
access function always returns a DWORD aligned DWORD ...
1996-09-02 21:33:41 +00:00
Stefan Eßer
7fa8a688aa Add preliminary support for the Orion PCI chip set. It is special in the
way it attaches multiple PCI buses directly to the CPU, instead of having
them hanging off from PCI to PCI bridges. This code is a hack, and will
be obsoleted by the planned rework of the PCI code, which will change the
dealing with PCI to PCI bridges and other special devices significantly.

The patch also adds a kern_devconf entry for PCI bus 0 which is assumed
to be a child of cpu0. The new PCI code will make it possible to hand out
the kern_devconf structure to a pci device being attached, since this is
(regretably, IMHO) required by a few ISA devices.

Finally there are new PCI ids for some Intel chip set devices, which had
already been known to 2.1.5R, but did not make it into -current. This closes
"kern/1558: PCI probe seems to have lost a device in -current".
1996-09-02 21:23:06 +00:00