Commit Graph

960 Commits

Author SHA1 Message Date
thorpej
664d8da4f5 Add support for the DECchip 21041. This also adds some preliminary
support for the ISV SROM format used in the 2114{1,1A,2,3}.  Note, like
the 21040, auto-sense is not yet supported for the 21041.

Add a "pre-init" hook, which will be used for the 2114x and PNIC (currently)
which allows chip-specific code to set up and write OPMODE before the
chip is reset.  This is necessary in order for the chip's internal
pathways to get initialized properly for MII/SYM/PCS/SIA media attachments.

Thanks to Dave Sainty for the hint from the `de' driver that inspired the
pre-init hook.
1999-09-20 19:26:54 +00:00
thorpej
6961f081e5 Fix packet reception in promiscuous mode: compare the Ethernet destination
address against our station address if it's not a multicast packet.  Either
the Rhine manual lies about the phys/broadcast/multicast rxstatus bits,
or the Rhine chip is just broken.

Fixes a redirect storm problem reported by Laine Stump on current-users.
1999-09-20 17:40:58 +00:00
thorpej
79f938f5f8 Fix a few buglets in the multi-port 21040 code. ZNYX ZX314 confirmed
working now.
1999-09-17 21:55:01 +00:00
augustss
7049e8eb1b Add preliminary (untested) code for detaching the USB host controller
(needed for CardBus based controllers).
1999-09-15 10:25:30 +00:00
thorpej
f23c7a31b4 Make sure 21040 chips are at least pass 2.0 and that 21140 chips are at
least pass 1.1.
1999-09-14 23:43:10 +00:00
thorpej
70997fd3d5 Move the PCI device number to the base Tulip softc; it will be needed to
decode the SROM on 21041 and 2114x multi-port boards.
1999-09-14 23:33:04 +00:00
thorpej
5c34356d4c First crack at shared ROM/shared interrupts on 21040 multi-port boards,
plus quirk identification for non-multiple-port boards.
1999-09-14 22:25:48 +00:00
augustss
a6aa488db9 Don't do IO before we have set the tag and handle. 1999-09-14 09:29:05 +00:00
thorpej
e2a320f925 Oops, fix Winbond regshift. 1999-09-14 05:59:53 +00:00
thorpej
12c167b5ca Change the semantics of `sc_regshift'; it is now the shift required to
make a CSR index number into a CSR offset.  Introduce a couple of macros
to handle CSR name -> offset conversion.
1999-09-14 05:52:21 +00:00
augustss
10d4a4d5fe And commit two files I forgot in the rearrangement for testing for
interrupt context.
1999-09-14 01:07:13 +00:00
thorpej
a03bd733ca - More PNIC NWAY stuff. Still more work to do, here.
- Fix the SROM checksum routine.
- Add code to parse the old DEC Address ROM SROM format.
- Rearrange the statchg routines a bit, to make them consistent with one
  another.
- Add support for the DECchip 21040.  XXX No support for media autosense
  yet, and no support for any of the multi-port boards yet.
1999-09-14 00:55:38 +00:00
soren
203f000d1a Regen. 1999-09-11 06:27:36 +00:00
soren
dfbe7449e4 Add ENI SpeedStream. 1999-09-11 06:27:25 +00:00
augustss
6a58ae2d93 Regen. 1999-09-10 19:56:51 +00:00
augustss
fb9d7d86ae Add more TI CardBus bridges. Taken from the CardBus patches. 1999-09-10 19:55:54 +00:00
thorpej
a10045109d Add chip types for several more Tulip clones (ASIX, ADMtex, PNIC II, Davicom),
and match the Compex RL100-ATX; it uses the Winbond 89C840F (RL100-TX is
a Macronix 98713).
1999-09-08 22:29:46 +00:00
thorpej
e0c4f8ff92 Regen. 1999-09-08 22:25:56 +00:00
thorpej
dfdd1affb4 Add some more Tulip clones. 1999-09-08 22:25:19 +00:00
thorpej
ab08b6b863 Update for Lite-On product ID change. 1999-09-08 21:42:44 +00:00
thorpej
ab7310ed6e Regen. 1999-09-08 21:39:54 +00:00
thorpej
9bb30be866 Add Davicom Semiconductor vendor ID, and Davicom DM9102 10/100 Etherent
product ID (Yet Another Tulip Clone).
1999-09-08 21:39:24 +00:00
thorpej
187510560e Regen. 1999-09-08 21:34:33 +00:00
thorpej
46e11c9fd8 LITEON_PNIC -> LITEON_82C168 1999-09-08 21:33:59 +00:00
augustss
e1766aacfa Make sure not to use the io handle before it's been initialized. 1999-09-04 22:00:32 +00:00
thorpej
6a2319b969 Byte swap the EEPROM words on the PNIC. From Stephen Ma. 1999-09-03 00:24:56 +00:00
ross
533b6088cd Make it compile. 1999-09-02 23:23:03 +00:00
kleink
9c10799ac4 Use the approximated sampling rate to compute the filter rate. 1999-09-02 17:26:15 +00:00
fvdl
a6aa19699f Don't assume that an -FX card has MII (because it doesn't). 1999-09-01 20:26:43 +00:00
kleink
480e8a1a1c No longer requires mpuvar.h. 1999-09-01 18:03:10 +00:00
bouyer
ce80d27933 Don't try to unmap unmapped space in case of failure in
pciide_mapregs_compat(). From OpenBSD.
1999-09-01 15:17:07 +00:00
drochner
7c34574b94 add "ti" - Alteon Gigabit Ethernet 1999-09-01 11:54:32 +00:00
drochner
45e5d743af quick 'n dirty port of FreeBSD's Alteon Gigabit Ethernet driver.
todo:
-IPv6
-clean up jumbo buffer allocation - NetBSD provides an opaque argument
 to the free function, thus doesn't need the hack done here
-deal correctly with the mapping of the shared memory
1999-09-01 11:47:46 +00:00
drochner
7eaa4e57fd regen 1999-09-01 11:42:32 +00:00
drochner
7c2d8bc001 -add some incarnations of the Alteon gigabit Ethernet adapter
-sort some entries which were put in by legasthenics
1999-09-01 11:40:42 +00:00
kleink
e5d76dce61 Don't make a human-readable device description being printed at attach time
depend on PCIVERBOSE.
1999-09-01 07:32:31 +00:00
thorpej
e293024ffa This is the long-awaited "new Tulip driver", a complete, from-scratch
rewrite of the driver for the DECchip 21x4x Ethernet chips, and a variety
of clones.

Currently, the driver supports the Winbond 89C840F (this works pretty
well), and the Lite-On PNIC (e.g. NetGear PCI boards), however Lite-On
support may be broken [I may simply have a busted test board].

Eventually, support for the Macronix and ASIX chips will filter into
this driver, and then, slowly, support for the genuine DEC chips,
and maybe even the DE-425 EISA model.
1999-09-01 00:32:41 +00:00
bouyer
8e49b58de0 Add support for Intel 810 chipset (ICH/ICH0).
While I'm there merge back piix_channel_map into piix_chip_map.
1999-08-30 12:49:21 +00:00
bouyer
52068f73ce Add support for the Promise Ultra/33 and /66 pci IDE controller. In addition to
chip-dependant code this required the following changes:
- Instead of attaching the device in a generic way with some chip-dependant
  routines, use a chip-dependant attach routine with some common code
  factored out. The code is marginally bigger, but this allows the CMD64x
  flag hack to go away.
- For chips that report per-channel 'irq triggered', test this before calling
  wdcintr() for the native-pci irq case (compat intr can't be shared),
  as wdcintr() has no good way to know if a irq was for it or not, and
  ends up with irq loss. XXX for chips that don't have this feature irq sharing
  will not work properly !
- add my copyrigth notice (could have been done some time ago I think :)

There are still some issues to be solved with the Promise controller and
ATAPI devices.
Many thanks to Paul Newhouse for shipping me 2 Ultra/33 boards for doing this
work.
1999-08-29 17:20:10 +00:00
bouyer
4819ee1cf1 Add definitions of the DMA mode control registers. They should be used
by pciide, but I have yet to find how to map them.
1999-08-29 17:06:43 +00:00
augustss
64c7328230 Regen. 1999-08-28 09:22:58 +00:00
augustss
d0fbee34df Add a bunch of i810 devices. From Paul Shupak <paul@plectere.com>. 1999-08-28 09:18:08 +00:00
thorpej
299c0b1d83 Regen. 1999-08-27 23:27:39 +00:00
thorpej
e1b0108ce6 Add Samsung Semiconductor KS8920 10/100 Ethernet. 1999-08-27 23:25:36 +00:00
soren
aa550d38fb Regenerate. 1999-08-24 21:32:25 +00:00
soren
fa181849a2 Add Intel i740. 1999-08-24 21:32:04 +00:00
augustss
5d8adfb5a2 Disable interrupts early. 1999-08-21 21:35:36 +00:00
sommerfeld
be5fe633b8 clean up attach messages slightly. 1999-08-20 03:36:59 +00:00
matt
fd59bba7cb after bus_dmamem creating some memory, zero it out. This has stopped
my alpha from getting COMMAND FAILED on random boots.
1999-08-19 00:43:45 +00:00
drochner
f61d8fd937 regen 1999-08-17 09:42:14 +00:00