Commit Graph

65 Commits

Author SHA1 Message Date
mycroft 8f597a8744 Oops; make the table const. 1998-03-29 22:36:42 +00:00
mycroft a6b8b01d96 Use a 4-bit table to speed up the CRC even further, without increasing the
code size too much.
1998-03-29 22:34:27 +00:00
mycroft a3b1c4c87a Optimize the address CRC routines a bit. 1998-03-29 22:21:12 +00:00
thorpej 841fb8fd54 Don't try to dynamically create and destroy DMA maps. Instead, keep
it simple, and allocate one for each transmit and receive descriptor.

In addition to being simpler and faster, this fixes a serious memory leak
in the transmit path.
1998-02-11 01:28:22 +00:00
thorpej f955aa86e5 Properly handle error conditions from bus_dmamap_load_mbuf(). 1998-02-07 20:40:35 +00:00
thorpej 208d979613 Use BUS_DMA_NOWAIT where appropriate. Don't create DMA maps with
BUS_DMA_ALLOCNOW.
1998-02-07 10:27:12 +00:00
matt 8098a443f0 A version of the de driver which does bus_dma. Note that it has not been
tested on any other platform other than i386.  Use of bus_dma(9) can be
turned by defining TULIP_BUS_DMA_NOTX and TULIP_BUS_DMA_NORX.  These allow
one to determine if the problem is in the transmit or receive path.
A problem reported by mycroft is also fixed.
1998-02-06 20:57:12 +00:00
thorpej 06ce220790 Update for config changes. 1998-01-12 09:39:57 +00:00
thorpej bbc9422b97 Print interrupt information like all of the other PCI drivers. 1997-10-27 02:10:07 +00:00
matt 500281c8a4 21142 / 21143 chips always use ISVSROM format. (print out message is
SROM checksum is invalid).
1997-10-20 14:32:46 +00:00
matt 4d3bfb2510 Fix pr's port-i386/4127 kern/4190 kern/3700. 1997-10-16 22:02:27 +00:00
matt 940e1b9935 Fix a thinko in last night fix. We must set the media if we have reset
the chip but if we haven't the the media isn't changing, don't do anything.
1997-10-16 13:12:56 +00:00
matt 0dc780c27d Fix media/console interaction problem on Alpha. Fix 21142/21143 problems
with 10Mb/s links.
1997-10-15 19:06:59 +00:00
explorer 80513cb5ae o Make usage of /dev/random dependant on
pseudo-device   rnd                     # /dev/random and in-kernel generator
  in config files.

o Add declaration to all architectures.

o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
  that this code is derived in part from Ted Tyso's linux code.
1997-10-13 00:46:08 +00:00
explorer 1c276eafe2 Add hooks to insert timing info into the random system 1997-10-10 01:19:37 +00:00
thorpej 76786b38b6 Mimmick the logic used by other drivers to determine if we should use
memory-mapped or i/o-mapped access to the device registers, and always
choose memory-mapped if it is enabled.  In particular, do _not_ explictly
disable the space we decide to not use, as this confuses some versions
of Alpha console software (which are arguably buggy because of this
problem).

Also, fix a logic error pointed out by Ross Harvey <ross@teraflop.com>
that would cause memory-mapped access to never be enabled.
1997-09-24 22:46:29 +00:00
thorpej 4f7a116064 Add missing "break;" statements in the code that determines the
media setup by the Alpha SRM console software.

From Ross Harvey <ross@teraflop.com>.
1997-09-12 22:40:02 +00:00
thorpej b2c3b768d3 - Add RCS tags that got lost.
- Fix a couple of typos in PCI space configuration.
1997-08-25 19:03:44 +00:00
thorpej a2a13689fd Merge with 970703 snapshot of Matt Thomas's de driver. 1997-08-25 18:56:46 +00:00
cgd 429a941288 don't expect/provide pci_decompose_tag to be a MI, public function. It
wasn't intended to be to begin with, and uses of it (e.g. the one in the
'de' driver) are quite likely to be incorrect.
1997-07-19 09:49:39 +00:00
thorpej 3e023b7681 Fix a slight bogon in merge of this driver; make the device map all of
its space, and pick the space used by default based on what is appropriate
for the CPU we're running on.
1997-06-09 00:34:18 +00:00
thorpej 2f8150954f Correct a couple of typos so that this compiles with TULIP_DEBUG,
per PR 3723, submitted by enami tsugutomo <enami@ba2.so-net.or.jp>.
1997-06-08 18:49:43 +00:00
thorpej cd4fc920b0 Put back Matt Thomas's revision ID, per PR 3723, submitted by
enami tsugutomo <enami@ba2.so-net.or.jp>.
1997-06-08 18:44:02 +00:00
mellon 2a1b799fda Clean up conflicts during merge (thomas de-970603) 1997-06-06 23:14:58 +00:00
thorpej b5c783c6e4 Merge 970327 "de" update. 1997-05-07 18:45:01 +00:00
cgd 36949596f0 rename pci_map_register to pci_mapreg_map. The latter name is more
descriptive, and allows for a sane name for a function which just digs
the info out of the mapping register but doesn't do the mapping.
1997-04-13 20:14:20 +00:00
cgd 32836b0710 use pci_map_register(). map both mem and I/O spaces, preferring mem space
by default if it's usable, but falling back to I/O space if mem isn't usable.
If TULIP_IOMAPPED is defined (default on the x86), prefer I/O space
then fall back to mem.
1997-04-13 19:56:14 +00:00
thorpej 8443f8fad0 Resolve conflicts from merge. 1997-03-26 01:33:32 +00:00
veego 196e8ba3c2 Resolve conflicts from merge. 1997-03-23 09:37:28 +00:00
thorpej 914022ca23 Resolve conflicts from merge. 1997-03-19 02:37:36 +00:00
thorpej 0398318515 Resolve conflicts from merge. 1997-03-17 03:44:49 +00:00
is 07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
thorpej 709ccfa853 Patch from Matt Thomas to deal with the fact that Pass 2.[012] of
the 21140A-A[CDE] have a buggy receiver which may hand and/or corrupt
data on receive overflows.
1997-03-06 22:32:20 +00:00
thorpej db33863c33 Fix a couple of minor nits so that this compiles on the alpha.
Noticed by Matt Jacob (mjacob@feral.com).
1997-01-13 00:15:29 +00:00
thorpej aceef5987f Merge into mainline, tidy up some debug code. 1997-01-11 04:47:31 +00:00
cgd 197d80c63a update these so they compile whether or not __BROKEN_INDIRECT_CONFIG
is defined.
1996-12-05 01:25:23 +00:00
cgd 2ab4192195 update alpha_XXX_dmamap() invocations to match prototype. 1996-10-25 21:33:30 +00:00
cgd 2e7c250f84 update drivers to use the new NetBSD/alpha DMA mapping hack, since
the old one is not workable with the new bus.h.
1996-10-23 04:37:31 +00:00
thorpej 546c8abcee New bus.h implementation/interface:
- No more distinction between i/o-mapped and memory-mapped
	  devices.  It's all "bus space" now, and space tags
	  differentiate the space with finer grain than the
	  bus chipset tag.
	- Add memory barrier methods.
	- Implement space alloc/free methods.
	- Implement region read/write methods (like memcpy to/from
	  bus space).
This interface provides a better abstraction for dealing with
machine-independent chipset drivers.
1996-10-21 22:56:24 +00:00
christos 86373f8cf9 backout kprintf changes 1996-10-13 01:37:04 +00:00
christos 95e30eafe7 printf -> kprintf, sprintf -> ksprintf 1996-10-10 19:58:18 +00:00
cgd effd413ecd before #defining the vtophys() hack for the alpha, #undef vtophys since
it may be a macro.
1996-07-15 16:40:27 +00:00
cgd b1b4f705ba convert alpha vtophys() #defines to use __alpha_bus_XXX_dmamap(), to
get rid of the nasty (vtophys(va) | 0x40000000) expressions, and to make
the code more correct.
1996-06-03 20:30:21 +00:00
mycroft cec36bf8d5 Use intr.h. 1996-05-12 23:51:23 +00:00
mycroft 50c94f92ce There was no need to change ac_ipaddr here. 1996-05-11 14:00:15 +00:00
christos c66a107a1f #ifdef FreeBSD out unit which is not used by NetBSD. 1996-05-07 23:23:23 +00:00
thorpej edbe37b13e Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_reset)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 02:17:18 +00:00
christos 021d3e082f Remove unused printf arguments 1996-05-03 17:32:20 +00:00
cgd babc8db2c1 fix inverted sense of tests in DE500 media select function. (Would
auto-detect as 100Mbps if 10Mbps, 10Mbps if 100Mbps.)
1996-04-01 19:37:54 +00:00
cgd 5c2768088c make sure that chipset tags are used properly (because the alpha cares),
and include <machine/intr.h> on the alpha, for interrupt information.
(i386 will probably switch to this eventually.)
1996-03-30 05:10:29 +00:00