Commit Graph

108 Commits

Author SHA1 Message Date
thorpej b75a007d9f Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
thorpej 387fc6dc87 Use CFATTACH_DECL(). 2002-09-30 20:37:04 +00:00
thorpej f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
provos 0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
yamt 310e66f3c9 make an auto const variable static. 2002-06-08 17:10:02 +00:00
lukem 9048aaae21 add RCSID 2001-11-13 07:48:40 +00:00
thorpej 7e92a47db9 bcmp -> memcmp 2001-07-07 16:47:43 +00:00
thorpej 51e70f6731 bzero -> memset 2001-07-07 16:46:34 +00:00
thorpej 80f54c0005 bcopy -> memcpy, strcpy 2001-07-07 16:40:23 +00:00
wiz c03a48d64f withough -> without 2001-06-13 10:45:57 +00:00
lukem be493349d2 delint: zero sized array initalisation is a gccism 2001-05-16 04:39:03 +00:00
kim 335ac388ca Help messages appear each on their own line when
discovering additional ports on a multi-port card.
2001-03-04 00:01:06 +00:00
sommerfeld 851de295eb Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
2000-12-28 22:59:06 +00:00
thorpej b84f740be0 Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach(). 2000-11-15 01:02:11 +00:00
thorpej cfe0892ed3 NBPG -> PAGE_SIZE 2000-11-14 18:42:55 +00:00
tsutsui f4ef578da7 6 -> ETHER_ADDR_LEN 2000-09-28 10:29:42 +00:00
mrg 7c15053eed remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 16:08:42 +00:00
mrg 2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
thorpej fc96443d15 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 07:01:25 +00:00
fair 7f8cdf038f Fix a missing closing parenthesis in an error diagnostic 2000-02-23 08:31:25 +00:00
matt a9e57ac54d Fixes for 21143 and MII in full-duplex mode. 2000-01-15 18:39:31 +00:00
ragge 6aabd4d0c2 CL* discarding. 1999-12-04 12:11:13 +00:00
thorpej f687b845d0 Make sure bus mastering is enabled; some broken BIOSes don't set this
up properly.
1999-06-01 19:17:59 +00:00
thorpej f98d358a1f Rework layer 2 protocol input routines. Instead of calling e.g. ether_input()
directly, call the function pointer (*if_input)(ifp, m).  The input routine
expects the packet header to be at the head of the packet, and will adjust
as necessary.  Privatize the layer 2 input and output routines, allowing
*_ifattach() to set them up as appropriate.
1999-05-18 23:52:51 +00:00
cjs ecab881e98 PR 6852 from Chris Jones <cjones@hideo.nervana.montana.edu>.
This handles the interrupt structure of Compex boards.
1999-04-12 04:31:55 +00:00
tsubai 4384fd5134 Fix big-endian support.
TULIP_BUSMODE_BIGENDIAN does bswap packet buffers also, so we should use
TULIP_BUSMODE_DESC_BIGENDIAN on big-endian machines. (PR 7027)

XXX 21040 doesn't have this bit, but supporting only 21041+ is better than
    nothing.
1999-04-01 11:02:20 +00:00
explorer 3ebb419571 Update to slightly altered rnd_attach_source() api 1999-02-28 17:08:05 +00:00
matt 1b8620b9fb Cleanup media set on Alpha. ring txpoll after setting proper tx
interrupt mask.
1998-11-09 23:41:14 +00:00
matt 1131320f18 Fix transmit underflow messages. (\0128 != \0 128) 1998-09-25 18:06:53 +00:00
matt d3e02fc461 Fix the accton support. Only set the board type it isn't an ISV. 1998-09-22 04:23:18 +00:00
matt e7be3f3601 Fix a problem where txput could "lose" dmamaps if it couldn't actually
place the packet into the ring for some reason.
1998-09-15 17:26:46 +00:00
matt 2633c65da5 This commit fixes two bugs in the de driver. The first is that the
descriptor count gets miscounted on txprobes.  The second (and more
important) is that transmit stalls should now be fixed.  The problem
was not due to lack of ring resources but dmamaps.  When Jason changed
the driver to use pre-allocated maps (instead of the dynamic ones I
used), and when there were no more maps, the driver just gave up instead
of calling tx_intr to free any transmitted but unreclaimed dma maps.
Since there was nothing being transmitted, no transmit interrupts
would fire to restore things (and OACTIVE prevented other transmits
from happenning).  So it stayed starved until another interrupt cause
(like a received packet) "woke" it up.
1998-09-15 02:39:03 +00:00
drochner 2f94f2c21c some fixes:
-use of uninitialized variable in attach (mostly harmless)
-removal of dead code in attach()
-fix of interpretation of SIA blocks on >=21142 (serious, caused strange
  things with 10Mbit)
1998-08-28 20:58:37 +00:00
matt ea3bfd6d80 Fix bug in transmit logic that would transmits to stop. Boolean dyslexia
stricks again.
1998-08-24 14:09:15 +00:00
thorpej ff266f0937 Add some braces to make egcs happy. 1998-08-18 18:23:07 +00:00
eeh a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
jonathan 011f2bda08 defopt NS, NSIP. 1998-07-05 06:49:00 +00:00
jonathan 3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
matt 4e49c5ff17 Workaround problem with stalling output. Fix later after I've moved. 1998-06-21 10:32:46 +00:00
thorpej ea3a1d9c44 Nuke __BROKEN_INDIRECT_CONFIG. 1998-06-08 06:55:54 +00:00
mark 56c82ddeda Don't make the inclusion of machine/intr.h alpha specific as other ports
require this as well.
1998-05-25 22:20:24 +00:00
matt 9eb77bf49a Change 21040 modes slightly. Prevent infinite autosense loop of 21143 that
is not connected.  Make TULIP_STS_LINFAIL only valid for chips with that
status bit defined.
1998-05-22 18:50:59 +00:00
mycroft eb466ba47f Make sure to unload and recycle the DMA map for a bad received packet.
This was (indirectly) the reason for machines `hanging' (actually, looping in
tulip_rx_intr()) with de cards.
1998-04-02 13:49:32 +00:00
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