Commit Graph

1342 Commits

Author SHA1 Message Date
hannken 9d12a71473 Add support for `Adaptec AHA 2940UW Pro'.
Behaves like the `Adaptec AHA 2940UW'.

Device info: product id = 0x8778, Chip = AIC7880P.
1999-10-12 08:41:55 +00:00
hannken 2f3b72ae59 Regen. 1999-10-11 17:33:51 +00:00
hannken 5e63221d99 Add an entry for the Adaptec 2940UW Pro Scsi adapter. 1999-10-11 17:31:52 +00:00
cgd c3703ecfdd don't print using string pointer one off the end of the eso_rev2model
array.  pointed out by Kouichi Hashikawa in PR#8601.
1999-10-10 18:52:03 +00:00
cgd c3d5267629 Don't burst into flame when a QUEUE FULL message is received. Also,
do a gross hack which allows seemingly-broken quantum drives to function
with this driver.  The gross hack is to disable tagged queueing completely
when QUEUE FULL is received.  That costs performance on drives which
do tagged queueing properly and which return QUEUE FULL, but given the way
this driver works it's seems to be the only thing short of significant
recoding which will make it function with the quantum drives in question.
1999-10-08 20:43:45 +00:00
drochner 0b5c897fd0 1. include headers for NS support
2. pull in a fix from FreeBSD:
revision 1.18
date: 1999/09/17 18:04:14;  author: wpaul;  state: Exp;  lines: +3 -3
Remember to account for ETHER_ALIGN when setting the maxmimum packet
length for mini receive ring. The max length was MHLEN, however the mbufs
are actually shortened to MHLEN - ETHER_ALIGN to force payload alignment.
1999-10-06 11:23:33 +00:00
thorpej a339b2839b Have I mentioned how much I love this driver? Fix the code in the tagged
queueing support that decreases the number of openings on a device; it
previously assumed that a scsipi_link's `openings' were descreased as
commands were issued, which is not longer the case (`active' is increased).
1999-10-05 17:45:57 +00:00
thorpej 120e8cac48 Fix a botch when updating for the SCSIPI changes. 1999-10-05 00:29:41 +00:00
thorpej 63b8530b4e Update for SCSPI changes. 1999-09-30 23:04:39 +00:00
thorpej 30e63d853c Define flags in pci_attach_args which indicate it's okay to use the
Memory Read Line, Memory Read Multiple, and Memory Write and Invalidate
PCI commands.
1999-09-30 20:30:06 +00:00
thorpej 2492ffef4c Changes to get the Lite-On/Macronix 82C115 working:
- 82C115 has a 128-bit multicast hash table, not 512-bit.
- Correct the way the MAC address is read from the SROM, after re-reading
  the MX98715A Application Note.

Other semi-related changes:
- Differentiate between MX98715 and MX98715A.
- Improve the Macronix link-up/link-down detection.
1999-09-30 17:48:24 +00:00
thorpej e3398d3647 - Get a little closer on the Macronix chips. Still some more work to do.
- Add some basic support for the ADMtek AL981 clone (which, unfortunately,
  I can't test until my sample boards arrive).
1999-09-29 18:52:19 +00:00
ad f6e42db75a - Move initial reset code into dpt_readcfg()
- Bus specific front-end is now responsible for reading EATA configuration
- EATA configuration data is now saved in the softc
- Make synchronous writes work properly
- Don't ignore HBA timeouts in dpt_cmd()
- Prefix eata_cfg's members with `ec_', not `dc_'
1999-09-29 17:33:02 +00:00
thorpej 1cb047331b Regen. 1999-09-29 00:20:25 +00:00
thorpej 33f02f24b7 - Add Sundance Technolgy vendor ID.
- Add Sundance Technolgy ST201 10/100 Ethernet product ID.
- Add D-Link DFE-550TX product ID (uses ST201 chip).
1999-09-29 00:19:51 +00:00
thorpej e2504d1efc Regen. 1999-09-29 00:07:51 +00:00
thorpej 8f22cca8ea Add adaptec AIC-6915 10/100 Ethernet. 1999-09-29 00:07:15 +00:00
thorpej df12499646 Add code to take a device out of Power-Down state if it's in such a state,
and attempt to attach Macronix chips.
1999-09-28 23:12:23 +00:00
kleink bb54953b63 Since the Audio 1 DMA controller implements the 24 low address bits only,
add the gross hack originally implemented by Charles Hannum in the SonicVibes
driver to force allocation of DMA memory for that channel through the Scatter-
Gather Map to get an address range that fits in.

The eso driver now works on Alphas except for DWLPX-based systems, whose owners
are not likely to desire audio or likely can afford slightly less cheap audio
hardware.  :-)
1999-09-28 13:57:45 +00:00
ad f653cce944 Regen. 1999-09-27 23:46:56 +00:00
ad 94367db635 s@SmartCache/Raid@SmartCache/SmartRAID@ 1999-09-27 23:45:57 +00:00
ad a289fc5023 Add glue for 'dpt' driver. 1999-09-27 23:44:27 +00:00
ad 48a0b6237a A driver for DPT EATA SCSI adapters. dpt.c contains a brief TODO list. 1999-09-27 23:41:47 +00:00
cgd 6146ed7db8 add classes/subclasses new in PCI 2.2. Needs a bit of cleanup, but then,
so does everything involving configuration space headers and if i don't
get this out of my source tree i'll go insane.
1999-09-27 03:20:47 +00:00
thorpej 2bc8340297 Add a quirk entry for the Asante 21140[A] boards that don't use the
ISV SROM format.  For these boards, we provide the GPIO pin direction
info, a separate reset hook, and hard-wire them to MII-on-SIO.

Based on a patch submitted by Luoqi Chen <luoqi@chekov.watermarkgroup.com>.
1999-09-26 05:03:58 +00:00
thorpej 4d4ddf363f Some 21140[A] boards don't use the ISV SROM format (e.g. Asante boards),
but instead use the older DEC Address ROM format.

From a patch supplied by Luoqi Chen <luoqi@chekov.watermarkgroup.com>.
1999-09-26 04:43:45 +00:00
thorpej b76293b895 Add quirk entry support for the 21041 and 21140 chips. Initial quirks
for these: extract the spiffy DEC board names (e.g. DE500-AA).
1999-09-26 04:37:29 +00:00
thorpej 4fa51ba8bd Make tlp_read_srom() work on big-endian systems.
From a patch supplied by Luoqi Chen <luoqi@chekov.watermarkgroup.com>.
1999-09-26 03:39:01 +00:00
thorpej c999e3ca1a Add support for the DECchip 21140[A]. This currently only works with
boards which use MII for media attachment.

ISV SROM format information lifted from Matt Thomas's `de' driver.

Thanks to Dave Sainty for experimenting w/ his 21140A MII boards, and
for supplying a fix to the MII bit-bang code (PR #8382).
1999-09-25 00:27:00 +00:00
kleink d9abf5e332 Add Game Port definitions. 1999-09-23 11:50:19 +00:00
kleink cef2689773 Oops, we do have to check ourselves whether a given value is valid within an
enumeration.
1999-09-23 11:46:12 +00:00
mhitch 7460a0be93 Set sc_cfg3_fscsi for the AMD53C974 to match the change in ncr53c9x.c. 1999-09-22 03:32:00 +00:00
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
drochner c8aabedc83 -mention a location where the old PCI database can still be found
-add Alteon Gigabit Ethernet
1999-08-17 09:40:25 +00:00
mcr 03946f957a Added Solidum Systems PCI vendor ID and Device IDs 1999-08-16 21:36:39 +00:00
kleink 48f055e09b Add missing MPU interrupt glue. 1999-08-14 22:42:16 +00:00
kleink 7b34e008a9 Forgot to initialize a pointer; from Simon Burge. 1999-08-14 15:05:02 +00:00
hwr 4882320d4b Initialize error variable. Should fix spurious init errors.
From Dave Huang in PR 8205.
1999-08-14 11:23:39 +00:00
hwr af827a1284 Remove dulicate "Ethernet" output. From Dave Huang in PR 8206 1999-08-14 11:09:18 +00:00
bouyer 59af828a94 Regen. 1999-08-12 09:43:18 +00:00
bouyer 7c3cb9c796 Add Promise Ultra66, change entry of Ultra33 to reflect the fact that can
"only" do ultra/33.
1999-08-12 09:42:11 +00:00
tron 439a6c4942 Add missing prototype for read_tekram_eeprom() to make driver compile if
"options NCR_TEKRAM_EEPROM" is specified in the kernel configuration file.
Patch supplied by Hans Hoppe in PR kern/8141.
1999-08-04 20:51:31 +00:00
thorpej 4bd8f1566c Be a little nicer about memory usage:
* Don't allocate receive buffers until the interface is actually brought
  up, and release all of them if the interface is taken down.
* Add a knob (defaults to off) which will copy an incoming packet to
  a single header mbuf if it is small enough to fit in one, rather than
  burning an entire cluster on it.  Note that this change will be mostly
  moot if/when sbcompress() it changed to handle compressing clusters.
1999-08-03 17:25:51 +00:00
augustss dbb71e4b35 Add the file I forgot at the previous MPU changes. 1999-08-03 00:27:27 +00:00
augustss 42fb510148 Move the mpu device declaration to conf/files.
Let the mpu device attach at the sb device, and then midi at the mpu.
Update the mpu at eso attachment.
1999-08-02 17:37:41 +00:00
augustss cbf1f6f1b9 Move the MPU driver isa/ to ic/.
(I didn't move it in the repository because the revision history
is very short and uninteresting. :)
1999-08-01 18:05:39 +00:00
veego 9baa857f5b Regen. 1999-08-01 08:32:48 +00:00
veego 9657de4af2 Add an entry for the TI PCI1211 PCI-CardBus Bridge.
From the cardbus patches.
1999-08-01 08:32:08 +00:00
thorpej 76dcbfad36 Regen. 1999-07-29 20:58:19 +00:00
thorpej 8548b384f5 Add some Initio SCSI controller IDs. 1999-07-29 20:56:55 +00:00
bouyer a81c366fed Bump MAX_START to 256, so that the ncr driver can work with more than 5
devices on the same bus. See PR kern/6347 for details.
1999-07-29 10:00:34 +00:00
soren 7220690fb8 Regen. 1999-07-28 22:38:00 +00:00
soren 4341d92cb3 Correct Acard device names.
Add and update a few IBM devices.
Add Toshiba and NEC devices in Portege 3K's.
1999-07-28 22:36:10 +00:00
castor 0a1820a4e7 regen 1999-07-27 17:55:00 +00:00
castor 424a28aa79 Add vendor ID for Geocast 1999-07-27 17:52:59 +00:00
thorpej b73b84643f Add support for the SMC 83c175. Also, print out the chip rev when
we attach.
1999-07-27 00:37:34 +00:00
thorpej f48807a678 Regen. 1999-07-27 00:24:06 +00:00
thorpej b5dc3f5708 Add product ID for the SMC 83c175 Fast Ethernet chip. This is a cousin
of the SMC 83c170 which also supports CardBus.
1999-07-27 00:23:47 +00:00
drochner 963921febe regen 1999-07-20 20:59:03 +00:00
drochner 62adeef8f6 add TI TVP4020 Permedia 2 1999-07-20 20:58:20 +00:00
ross 5122ae5f44 Recognize 3c905C. 1999-07-15 18:10:29 +00:00
ross 4dae830922 Regen. 1999-07-15 18:06:39 +00:00
ross 4495d8362a product 3COM 3C905CTX 0x9200 1999-07-15 18:02:08 +00:00
augustss 50eef750e4 Regen. 1999-07-15 14:53:13 +00:00
augustss 8a5bb754c7 Add Cinemaster C 3.0 DVD Decoder. 1999-07-15 14:52:48 +00:00
fvdl 76b2d00f39 Regen. 1999-07-14 23:03:09 +00:00
fvdl a641b41593 Add/change a few Adaptec controller IDs. 1999-07-14 23:02:01 +00:00
kleink cf917747a1 Add a driver for the ESS Technology Solo-1 PCI AudioDrive line of chips. 1999-07-12 15:13:30 +00:00
kleink 7d8abaa49e Regen. 1999-07-12 15:04:41 +00:00
kleink ecbc7c6afd Change the ESS Solo-1 description string to match the data sheet. 1999-07-12 15:02:46 +00:00
bouyer 0612a1ddef Fix typo in a printf, from Soren S. Jorvan. 1999-07-12 13:49:38 +00:00
kleink 2422638ad5 Fix a buglet in the driver's DMA buffer list ipmlementation, causing the next-
in-list (wrong) descriptor structure of the buffer in question to be freed.
1999-07-10 16:46:19 +00:00
mjacob 3bb408eb05 Change to approved NASA/Ames copyright. Add in Qlogic 2200 support. 1999-07-05 20:28:11 +00:00
cgd 636e8f4688 'Dolphin' -> 'Dolphin Peripherals' where appropriate 1999-07-03 05:55:23 +00:00
cgd 111e8a47c4 Add support for 36 more SIIG PCI serial/parallel cards (for a total of 37).
This means that all SIIG PCI serial/parallel cards (described on their
web site as "I/O boards" as of July 2, 1999) should now be supported.
1999-07-03 05:38:05 +00:00
itojun 118d2b1d4f IPv6 kernel code, based on KAME/NetBSD 1.4, SNAP kit 19990628.
(Sorry for a big commit, I can't separate this into several pieces...)
Pls check sys/netinet6/TODO and sys/netinet6/IMPLEMENTATION for details.

- sys/kern: do not assume single mbuf, accept chained mbuf on passing
  data from userland to kernel (or other way round).
- "midway" ATM card: ATM PVC pseudo device support, like those done in ALTQ
  package (ftp://ftp.csl.sony.co.jp/pub/kjc/).
- sys/netinet/tcp*: IPv4/v6 dual stack tcp support.
- sys/netinet/{ip6,icmp6}.h, sys/net/pfkeyv2.h: IETF document assumes those
  file to be there so we patch it up.
- sys/netinet: IPsec additions are here and there.
- sys/netinet6/*: most of IPv6 code sits here.
- sys/netkey: IPsec key management code
- dev/pci/pcidevs: regen

In my understanding no code here is subject to export control so it
should be safe.
1999-07-01 08:12:45 +00:00
drochner 6d864c0914 add driver for the Bit3 PCI-VME adapter, without the DMA parts for now 1999-06-30 17:45:38 +00:00
fair 3a845702d7 A reference to http://members.hyperlink.net.au/~chart/pci.htm in comments;
this new effort at collecting PCI data outside the PCI SIG replaces the
one that was referenced in here before.

No regeneration required.
1999-06-30 16:52:52 +00:00
drochner dbd86a254c add driver for realtek 8129/8139, from freebsd, with mii stuff kicked out 1999-06-27 15:19:40 +00:00
drochner 746543928c regen 1999-06-27 15:15:00 +00:00
drochner 120b30daf4 add some realtek 8139 clones 1999-06-27 15:13:54 +00:00
pk 37d80b004f Remove dead file; alphabetize 1999-06-20 18:17:22 +00:00
pk df81191ccd Remove dead file 1999-06-20 18:07:18 +00:00
thorpej 4a0270a264 Intel i82557 driver is now split into bus and chip bits. 1999-06-20 16:35:40 +00:00
augustss d98b0bd725 Regen. 1999-06-19 04:51:42 +00:00
augustss 0650293580 Add Sony CXD 1947A FireWrire Controller and Neomagic 128XD. 1999-06-19 04:49:52 +00:00
tsubai 12c2ab7750 Regen. 1999-06-18 04:55:27 +00:00
tsubai 25b9bffe81 Add some Apple and MOT products. 1999-06-18 04:54:06 +00:00
dante 35e149ef50 Move chip version check from advlib.c to adv_pci.c 1999-06-12 12:09:58 +00:00
mrg efb227d3a7 fix a few KNF nits .. 1999-06-08 10:38:15 +00:00
tron a1259a8d1b Regen. 1999-06-05 10:42:15 +00:00
tron bffc27b587 Add Matrox MGA 400, 3Dfx Banshee and Voodoo 3. 1999-06-05 10:41:37 +00:00
tron 2b262e8565 Regen. 1999-06-05 09:44:03 +00:00
tron fce6975678 Add entry for Riva TNT and correct entry for Riva 128.
Fixes first half of PR kern/7699 by Bjoern Labitzke.
1999-06-05 09:43:21 +00:00
drochner ee9cd19ba7 regen 1999-06-02 08:57:02 +00:00
drochner 1fabcae9bf add SIS 6326 low-end AGP graphics
fix CL_PD6832 device id, PR kern/7691 from Paul Dokas
1999-06-02 08:56:03 +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 2349cbb5b3 Glue in the SiS900 Ethernet controller driver. 1999-06-01 18:29:50 +00:00
thorpej ba43886d7e Device driver for the Silicon Integrated Systems SiS900 10/100 Ethernet
chip, found on the IBM Netstation.
1999-06-01 18:19:13 +00:00
mrg 58aa48a579 regen. 1999-05-29 07:12:11 +00:00
mrg 5dfbc15479 fix error in previous. 1999-05-29 07:10:33 +00:00
mrg 3f99c8bd11 regen. 1999-05-29 07:08:52 +00:00
mrg a250615a3b s/bus/bridge/ for the sun pci bridges. my bad. 1999-05-29 07:07:51 +00:00
fvdl 06019caad8 Recognize 900B-TPC. From Robert Elz. 1999-05-29 01:31:17 +00:00
fvdl 8a6bddab08 Regen. 1999-05-29 01:29:21 +00:00
fvdl 0ca37269fb Add 3c900B-TPC product ID. From Robert Elz. 1999-05-29 01:28:52 +00:00
bouyer cc46db1ba6 For the PIIX, make sure the PIO_mode and DMA_mode get reset to the values used
by the controller for all drives.
1999-05-27 09:45:50 +00:00
mrg c346b0ace0 regen. 1999-05-27 03:05:32 +00:00
mrg 8c83c41668 add the UltraSPARC IIi PCI interface 1999-05-27 02:51:19 +00:00
veego e21201e114 Regen. 1999-05-23 21:28:03 +00:00
veego a674692065 Add several entries. 1999-05-23 21:26:54 +00:00
augustss 4655ae1230 Keep track of vendor id and make sure the vendor string is NUL terminated. 1999-05-20 09:52:35 +00:00
augustss b9f32af4e5 Regen. 1999-05-20 09:23:33 +00:00
augustss 10713ae5ad Change vendor id 0x11c1 to Lucent since that seems to be what it is now.
Add a Lucent USB controller.
1999-05-20 09:23:08 +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
drochner d2fe8176fd regen 1999-05-17 17:08:08 +00:00
drochner 2187089e80 add NeoMagic 256AV Video/Audio chip 1999-05-17 17:07:00 +00:00
thorpej 0d0cc4aa14 Rework the way ukbd attaches itself as the console (again). We now allow
the code to pick the first USB keyboard instance as the console, ignoring
which USB controller it's on.  Should eventually allow detaching of the
console keyboard.

From Jason Thorpe <thorpej@nas.nasa.gov>
1999-05-13 23:34:38 +00:00
explorer 2fc0e43760 just say no to __BROKEN_INDIRECT_CONFIG 1999-05-12 22:55:14 +00:00
mjacob 61bf929d14 Do a fairly large internal restructuring to accomodate dual-bus host adapters
(e.g., the 1240). Include the new 1080/1240 NVRAM layout reading code. Some
moderately significant mailbox changes were necessary also to accomodate a
second channel.
1999-05-12 18:59:23 +00:00
thorpej 83b019c919 Set the data link type to DLT_PPP_SERIAL so that tcpdump can do
something useful with our captured frames.
1999-05-11 02:57:58 +00:00
hwr fbdd142801 Regen. 1999-05-07 21:20:12 +00:00
hwr 0fd4ff06c2 Added CIRRUS CL_PD6832 from "Johnny C. Lam" <lamj@stat.cmu.edu> in kern/7119. 1999-05-07 21:19:06 +00:00
hwr 4d524d7360 Regen. 1999-05-07 21:11:20 +00:00
hwr 91ddf1d6a6 Added TI PCI1251 from joda@pdc.kth.se (Johan Danielsson) in kern/6873. 1999-05-07 21:09:31 +00:00
drochner 1669ea470b regen 1999-05-07 15:40:57 +00:00
drochner 1ce7678fb8 add another AGP graphics chip and a PCI-VME interface 1999-05-07 15:38:40 +00:00
matt 307a48b721 Regen 1999-05-07 00:57:46 +00:00
matt e735c2bf67 Add TI LYNX FireWire Controller (as used in the Apple B&W G3) 1999-05-07 00:56:46 +00:00
thorpej 375d7c32f2 Add a way for machine-dependent code to tell a USB controller that it
has the console input device.  The USB keyboard driver uses this to
attach the first USB keyboard instance as the console keyboard.

Unfortunately, this must still be deferred to autoconfiguration time,
but there's not much we can do about that right now.
1999-05-06 19:12:22 +00:00
mrg 8c630939a3 regen 1999-05-06 14:29:21 +00:00
mrg 10c5298d7e add pci devices found in U5's:
- ati weird mach64
	- ebus bus
	- `network' hme compatible ethernet
	- `simba' PCI bus
1999-05-06 06:17:39 +00:00
thorpej 964b69ec84 Back out previous. Thanks to cgd for pointing out another way to do this. 1999-05-06 01:10:28 +00:00
thorpej 2a4490daa5 Add a `bus' member to the pci_attach_args. This is not normally used,
but some child drivers might need to know this information.
1999-05-06 01:01:19 +00:00
bouyer 9893727873 Fix the way we compute the mode to use: for multiword DMA, the used mode was
2 less than the one we could really use, so for multiword DMA mode 0 or 1,
the driver tried to use DMA mode 255 or 254 (0 - 2 with a u_int8_t).
1999-05-05 15:24:59 +00:00
ross 7bffc1e720 Protect WDCDEBUG from multiple definitions. 1999-05-03 07:44:47 +00:00
nathanw 4f8cf68674 Rototillage; make this actually useful. To wit:
- Initialize more of the Bt463's registers, instead of leaving them
   in undefined states. Notably, the window type table is set up
   with 8-plane pseudocolor and 24-plane truecolor modes.
 - Bus-space-ify, mostly. Could use some more cleanup, but not until
   the rest of the tga stuff is converted, too.
 - Do the TGA/RAMDAC communication dance more carefully.
 - Explain a lot more of what's going on in comments.
1999-04-30 02:47:42 +00:00
ross 770b67425d Accelerate scrolling. Originally by Roland Dowdeswell, revised by
{drocher,ross}@netbsd.org.
1999-04-28 23:24:33 +00:00
thorpej 55fd59f1e0 Make PCI IDE DMA work on big-endian systems. 1999-04-28 00:18:12 +00:00
thorpej 1eb689a712 Make the VIA Rhine driver work on big-endian systems. From Izumi Tsutsui,
PR #7305.
1999-04-26 23:19:10 +00:00
thorpej 4c7a2ee3b0 Fix a couple of problems in the PCscsi-PCI driver:
* resid in pcscp_dma_intr() should also be set in the data out phase.
* Don't set up DMA in the transfer pad operations.
* Change URL of the PDF technical manual to the index page.
* include <machine/bswap.h> on big endian machines.

Fixes timeouts writing large blocks to tapes.  From Izumi Tsutsui,
PR 7252.
1999-04-25 01:20:02 +00:00
thorpej 207f873ac2 Fix an mbuf leak in the strict alignment case of packet reception. 1999-04-24 22:09:56 +00:00
jonathan af729a150c initialize 'p' for lame gcc-2.7.2.2 flow analysis. 1999-04-14 03:26:34 +00:00
jonathan 9e87738e9d Add entries for TI, Ricoh, Toshiba PCI-to-cardbus bridge chips, so
we can identify them as cardbus chips supported by the cardbus patches.

Add entry for OPTI chipsets whose interrupts arent properly set up by
some BIOSes.

From cardbus patches<ftp://nandra.iri.co.jp/pub/NetBSD/CardBus by
HAYAKAWA Koichi <haya@tcad.ulsi.sony.co.jp>.
1999-04-12 23:18:16 +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
bouyer 2198b984e8 Kill an extra 'pciide0: ' in a printf 1999-04-06 17:49:14 +00:00
mjacob eebeea5b23 Read the board revision and trim cache line size back from 16 to 1
for early revision 2100 boards. Make sure to turn ROM off for these
boards.
1999-04-04 01:14:58 +00:00
tsubai 500edb5379 Fix typo. (From PR 7027) 1999-04-01 14:55:25 +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
mjacob e50460f5fa Oops- if you enable 1080 support, remember to load the f/w 1999-03-27 01:08:59 +00:00
mjacob 99d46bf762 add isp1080 support and some basic PDB change stuff 1999-03-26 22:39:44 +00:00
bouyer d907e1f61e First pass at support of Compaq NetFlex 3/P PCI: this one has
IO and Mem base address register inverted.
Still need some MII hack to get it fully fonctionnal.
1999-03-25 16:15:00 +00:00
explorer 6b9af88b99 wrap kernel bits in shared kernel/userland files 1999-03-25 04:09:33 +00:00
explorer 7bfd643eab install if_lmc*.h 1999-03-25 03:54:43 +00:00
explorer 0c2f5ada28 Commit files for the LAN Media Corporation high speed serial/HSSI/DS3 driver 1999-03-25 03:32:43 +00:00
explorer 960c283a65 Add LAN Media Corporation info 1999-03-25 03:28:17 +00:00
explorer 77597ecd3e Start commit of Lan Media Corp T1/HSSI/DS3 driver 1999-03-25 00:51:53 +00:00
cgd fe0bb65b38 in general, it's a good idea to make sure you at least have all of the
variables you reference, before you commit something...
1999-03-24 18:47:51 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
thorpej 3993ee01e4 Don't enable I/O or memory access here! These bits in the PCI CSR are
set up by the firmware, and indicate which mapping types the system
supports.
1999-03-24 01:07:59 +00:00
thorpej ac0f626cca Make sure bus mastering is enabled. 1999-03-24 01:05:15 +00:00
thorpej 9f85a4a798 Make sure bus mastering is enabled. 1999-03-23 23:18:50 +00:00
mycroft cfe7413adb Make 48KHz output work. 1999-03-22 07:58:55 +00:00
mycroft f60907c286 Regen. 1999-03-19 06:40:11 +00:00
mycroft 4e92fb2fd1 Add AudioPCI 97 (a.k.a. Creative Ensoniq AudioPCI). 1999-03-19 06:39:32 +00:00
cgd ff42ff62e8 pull pci_machdep.h in from machine/ 1999-03-19 03:37:52 +00:00
thorpej 1954300d6c Regen. 1999-03-17 19:21:49 +00:00
thorpej 0d433f490b Add Silicon Integrated Systems SiS900 10/100 Ethernet. 1999-03-17 19:20:51 +00:00
mjacob d596b20f1e prototype 1080/1240 support 1999-03-17 06:16:42 +00:00
mjacob e380eb62d5 Tron whacked my you-know-what because I didn't follow procedure.
So I insered his description of the 'procedure' in the most likely
place a developer will find it.
1999-03-16 22:41:56 +00:00
tron ddbc34d638 Regen from "pcidevs". 1999-03-16 22:32:58 +00:00
mjacob f50c9fa8ea add Qlogic 1080 && 1240 product IDs 1999-03-16 21:24:46 +00:00
sakamoto 23903bfc0e Regen. 1999-03-11 05:17:54 +00:00
sakamoto 272f5b609d Add several VIA Technologies chipsets. 1999-03-11 05:17:24 +00:00
drochner 5704ad4969 regen 1999-03-09 11:48:59 +00:00
drochner 2987883f07 add 2 ISDN cards, from Martin Husemann per PR kern/7110 1999-03-09 11:48:03 +00:00
explorer 3ebb419571 Update to slightly altered rnd_attach_source() api 1999-02-28 17:08:05 +00:00
dante ceef7fa3d7 Fix AdvanSys Narrow driver to work on Alpha 1999-02-25 20:20:30 +00:00
bouyer 71036465a5 In cy693_setup_channel(), setup timings for IOR too (they were left to 0,
which is a way too higth timing for some devices). Thanks to Ken Wellsch
for trying the multiple debug kernels until the problem was located.
1999-02-22 10:12:00 +00:00
ross ea05c3b739 Fix typo. 1999-02-20 07:07:07 +00:00
thorpej 598b05da47 Regen. 1999-02-19 19:12:09 +00:00
thorpej d9c29083d4 Improve descriptions for DEC Ethernet chips. 1999-02-19 19:11:33 +00:00
thorpej 3f8a09bba4 Improve product descriptions, and add 3c905-FX and 3c980 Server Adapter
products.
1999-02-19 06:58:42 +00:00
thorpej 7248c3be19 Improve card descriptions. 1999-02-19 06:57:56 +00:00
thorpej 02df2bd5a5 Regen. 1999-02-19 06:56:53 +00:00
thorpej 1128dd593e Improve the descriptions of 3Com Ethernet cards, and add the 3c905B-FX
and 3c980 Server Adapter products.
1999-02-19 06:55:15 +00:00
thorpej 3a63b5db2a Regen. 1999-02-19 05:53:36 +00:00
thorpej f43c45889a Add several Tulip clone chips. 1999-02-19 05:53:00 +00:00
mycroft bd4cd051b9 This is an utterly revolting hack to work around the previously mentioned
lossage.  On the Alpha, we force the buffers to be allocated through the SGMAP
so that the PCI bus addresses are low enough.
At least it's only one line of code...
1999-02-19 02:27:59 +00:00
thorpej a473ed5477 Fix omission in previous. 1999-02-18 19:24:39 +00:00
mycroft 699a815751 Pass the correct address (PCI bus address, not PA) to the card.
Also fix some typos and add more debugging printf()s.
This would work on the Alpha, but the card I have appears to have the upper
address bits chopped off, and the ring buffer gets mapped using the DGMAP,
which uses the upper bits.  Boom.
1999-02-18 09:22:17 +00:00
mycroft e0b748e50c Pass the correct address (PCI bus address, not PA) to the card.
Works on an Alpha now.
1999-02-18 07:59:30 +00:00
mycroft c02bf3c4d7 Minor code munging. 1999-02-18 05:46:38 +00:00
thorpej 982603ce5b Don't reset the interface when the media changes. 1999-02-18 01:24:29 +00:00
thorpej 78e18b8d8c Back out to the previous stable revision of the fxp driver. The latest
one had too many stability problems.
1999-02-18 01:23:41 +00:00
mycroft 6ce15ae4e3 spaces -> tabs 1999-02-18 00:55:36 +00:00
mycroft f1e84a4ec5 A few things:
* Use the trigger interface.
* Permit different encodings for record and playback.
* Set AUDIO_PROP_INDEPENDENT.
* Fix the mmap(2) hole again.
* Use 16-bit mode for a-law and u-law playback.
1999-02-18 00:54:19 +00:00
mycroft 8b7b7cccc7 Fix a silly type. 1999-02-17 23:55:18 +00:00
mycroft 71105fbda7 Update comments. 1999-02-17 21:44:55 +00:00
mycroft e5f5e628d2 Pass the direction to the allocm and round_buffersize methods.
Some drivers need this to properly allocate DMAable memory.
1999-02-17 02:37:38 +00:00
bouyer 2ccd5cde74 Correctly compute PIO/DMA mode for sis and acer chips when the drive support
a DMA mode with higther capabilities than PIO mode.
1999-02-16 18:11:52 +00:00
hubertf 56f2d188fc RCS ID police 1999-02-15 04:54:34 +00:00
tron 210b267f84 Regen from pcidevs. 1999-02-14 22:44:36 +00:00
tron acb24b6080 Add 3Dfx's Voodoo II. Fixes PR kern/7000 by Brett Lymn. 1999-02-14 22:38:18 +00:00
thorpej 70b91539e9 Restructure the interrupt handler and 1-second timer a bit, and tidy up
the lazy-transmit-interrupt logic, fixing a few minor logic problems.

Now unable to reproduce the lockup problem described in PR #6767.  Changing
PR's state to "feedback".
1999-02-13 02:12:59 +00:00
thorpej f83663b7ba Garbage-collect some unneeded definitions. 1999-02-12 00:37:07 +00:00
thorpej 7b516b31bd Major overhaul of the Rhine/Rhine-II driver, structuring it a little more
like the SMC83C100 EPIC/100 driver:
* Rather than using pointers to the head and tail of the transmit and
receive rings, use wrapping indexes into arrays.  This is a little more
obvious when reading the code.
* More cleanly separate the hardware descriptor from the software descriptor.
* bus_dma it everywhere.
* Implement interrupt pacing and avoid a potential race in the transmit
loop.

Now this looks more or less like the Rhine driver I was working on when
this driver was committed :-)  Update copyright notice to reflect that.
1999-02-12 00:36:48 +00:00
sakamoto 0b4e481612 add "mii" to vr driver. 1999-02-09 02:04:36 +00:00
mjacob c47d6855db clean up pci configuration a bit 1999-02-09 00:35:35 +00:00
cgd 6b77f11d67 put in better name/description for Simon G's board 1999-02-06 06:55:15 +00:00
cgd 04046c6dd7 add code to cope with multiple ports per BAR, as are found, for instance,
on the 8 port card Simon Gerraty has.  In general, cards which have
this lots of ports also have a separate interrupt status register, but
this change is just to talk to the various ports independently.  It works,
but it's not optimal.  (XXX still need a good name for the card in the
comments, and to update the manual page.)
1999-02-06 06:29:54 +00:00
thorpej 23382bdfcb Regen. 1999-02-05 22:55:40 +00:00
thorpej 0955479f29 Add some Olicom Ethernet device IDs, from FreeBSD's tl driver. 1999-02-05 22:55:19 +00:00
thorpej d95d5b1488 Make this driver work on the Alpha. Apparently the receive DMA mechanism
has the same 4-byte alignment requirement that the transmit side does.  This
causes the packet payload to be misaligned.  So, on systems which require
strict alignment, we must copy the incoming frame to a new packet buffer,
suitably aligned.
1999-02-05 22:09:46 +00:00
thorpej b52d1e44d0 Fix the interrupt handler to actually acknowledge the interupt to the
dispatch code (!!!).  How did this work even on the i386 before?
1999-02-05 21:20:31 +00:00
thorpej dde3694c4c Fix some formatting nits. 1999-02-05 08:42:03 +00:00
thorpej 82a54250be Remove some duplicate softc members, and comment some of the softc
fields.
1999-02-05 08:27:46 +00:00
thorpej 8bf66d3eb2 Remove some unnecessary splnet's. 1999-02-05 08:21:31 +00:00
thorpej 50faf19d7d splimp -> splnet 1999-02-05 07:53:24 +00:00
thorpej adc9c40688 Use the generic MII support code, not our own. 1999-02-05 02:58:38 +00:00
thorpej ebf3a97519 Use MII command opcodes from <sys/dev/mii.h> 1999-02-05 01:17:24 +00:00
thorpej 909b90d2d4 Rename VR_MIICMD_DATAIN and VR_MIICMD_DATAOUT to actually match what the
data sheet says.  (The names and their usage were exactly reversed in the
code.)
1999-02-05 01:10:30 +00:00
bouyer 5888b4354e channel_map is called before setup_chip, so whe need to enable the channel
status bits in acer_channel_map().
1999-02-02 17:06:05 +00:00
bouyer ca240ca7b5 Support for Acerlab M5229 IDE controller. Thanks to Thilo Manske for testing
the code, and to Takahiro Kambe who run several tests and finally found the
bug by himself :)
1999-02-02 16:13:59 +00:00
thorpej 05cbb33e4c Use pcidevs.h to get vendor and product IDs. 1999-02-02 00:32:21 +00:00
thorpej b6a84f08e8 Take software-only structure definitions out of the register description
header.
1999-02-02 00:29:17 +00:00
thorpej bb5edf7345 Remove support for FreeBSD from the driver; so many changes are going
to be required to make it properly portable to all of NetBSD's platforms,
that it just wouldn't be worth the effort.
1999-02-02 00:05:02 +00:00
thorpej 2bdfbafc37 Minimal changes to make this compile on the Alpha. Much more work is
needed to make this a truly portable driver.
1999-02-01 23:40:22 +00:00
mjacob 1ece20c808 roll internal release tag 1999-01-30 07:08:04 +00:00
augustss d6c1a3e198 Regen. 1999-01-28 04:34:31 +00:00
augustss 864e74c18d Add S3 86C365 Trio3D. 1999-01-28 04:31:33 +00:00
sakamoto fd094d79ee NetBSD RCS id. 1999-01-26 06:31:28 +00:00
sakamoto 57d82cd1f3 Change bootverbose 1 to 0.
Add vr_lookup.
1999-01-22 05:34:36 +00:00
sakamoto 02bb7a4233 Add VIA Rhine/Rhine II Fast Ethernet files. 1999-01-21 12:02:00 +00:00
sakamoto 4f99746d57 Add NetBSD autoconfiguration support.
KNF.
1999-01-21 12:00:25 +00:00
sakamoto bea8f807a7 Import FreeBSD's VIA Rhine fast ethernet PCI NIC driver
written by Bill Paul <wpaul@ctr.columbia.edu>.
1999-01-21 11:55:22 +00:00
drochner 76db984c6d regen 1999-01-16 11:28:19 +00:00
drochner 1587097426 add another NCR chip, from Dave Sainty <dave@dtsp.co.nz> per PR kern/6819 1999-01-16 11:27:40 +00:00
tron edd69ba694 Because memory mapped access doesn't fail only with the docking station
for the TI TravelMate 5000 but also with at least one Compaq NIC we
prefer I/O mapped access again. Fixes PR kern/6690.
1999-01-11 22:45:41 +00:00
thorpej 67e9d2a3bf Fix a few glitches in the nwscons tga driver, PR #6655, Brett Slager. 1999-01-11 22:11:36 +00:00
drochner 1eba733d91 remove dummy "load_font" entries 1999-01-11 21:35:54 +00:00
mjacob 4401c8bdd7 oops. Forgot to turn on PCI burst. 1999-01-10 03:41:47 +00:00
thorpej c35b8b591b One more cosmetic change, from Izumi Tsutsui. 1999-01-08 19:55:17 +00:00
augustss 0d32a9a78b Fix more `void *' arithmetic. 1999-01-08 19:22:34 +00:00
thorpej 3dc31bab2f Device declaration for the PCscsi-PCI SCSI chip driver. 1999-01-06 23:25:53 +00:00
thorpej 671d0ae88d Device driver for the AMD Am53c974 PCscsi-PCI SCSI chip (i.e. the chip used
on the Tekram DC-390 SCSI cards), from Izumi Tsutsui, PR#6654.  Minor
cosmetic changes by me.
1999-01-06 23:23:33 +00:00
hwr 446f262aa5 Regen 1998-12-30 13:50:42 +00:00
hwr 4d3847e0ea Add NeoMagic MagicGraph 128ZV graphic chip. 1998-12-30 13:49:49 +00:00
mjacob 8ac99457db I mean *really* clean up headers 1998-12-28 19:12:04 +00:00
mjacob b51e3fbf3c clean up headers; remove early revision 2100 workarounds 1998-12-28 19:11:32 +00:00
augustss da39a16267 Fold lines to 80 chars. 1998-12-27 13:03:58 +00:00
drochner 71fa656b19 use a symbolic definition for the PCI subsystem ID 1998-12-21 20:56:06 +00:00
drochner c896b644ba use a symbolic definition for the PCI subsystem ID 1998-12-21 20:40:01 +00:00
drochner ac7ba300c0 add two of the newer register definitions 1998-12-21 20:31:54 +00:00
drochner 45b5108fb1 regen 1998-12-21 13:43:11 +00:00
drochner 70a2fcddc2 change name of 82443BX according to Intel's data sheet
correct "no AGP" case to real topology of the chip
clarification: s/AGP Device/AGP Interface/
1998-12-21 13:37:00 +00:00
nathanw 788ff053de Fix up support for PCI attachments of pcic devices on i386 in general,
and the Cirrus Logic CL-PD6729 in particular.

From danw@mit.edu in PR port-i386/6436.
1998-12-20 17:53:28 +00:00
drochner 2e81b6b5f8 regen 1998-12-20 16:06:25 +00:00
drochner 6eb0418fdb add a Zoran multimedia controller chip 1998-12-20 16:05:32 +00:00
thorpej d15dc38fd9 Changes from FreeBSD:
Implemented a more sophisticated mechanism for handling transmitter
interrupts which now defers them until the transmit queue if filled
up with completed buffers. This has two advantages: first, it reduces
the number of transmitter interrupts to just 1/120th of the rate
that they occured previously, and two, running down many buffers
at once has much improved cache effects.

Defer rundown (m_freem) of completed transmit buffers for no longer
than 1 second.

This brings us up-to-date with the most recent "fxp" driver in FreeBSD.
1998-12-19 01:14:37 +00:00
thorpej 30f21adec4 Regen. 1998-12-18 21:08:37 +00:00
thorpej 6779120f4a Add product ID for the Yamaha 724 Audio device. PR #6605, Dave Sainty. 1998-12-18 21:08:19 +00:00
explorer 9595b984ec teach fxp about rnd_*() 1998-12-17 23:25:29 +00:00
msaitoh 2d5b32dd03 fix an invalid panic message. 1998-12-17 17:45:08 +00:00
bouyer f1addbd3fd Defer mapping of pci interrupt to pciide_mapregs_native(). This way,
the native interrupt shouldn't be mapped if a channel is in native mode,
but disabled.
1998-12-16 13:21:26 +00:00
bouyer 2093338697 Rearange the modes setup to allow these to be dyanmically changed. Fill
in the new "set_mode" callback.
1998-12-16 12:48:45 +00:00
thorpej b33907f299 Don't DMA the scsi command from or the sense data to the scsipi_xfer
directly.  That would require that we map the scsipi_xfer into DMA
space.  Instead, copy to/from the NCR CCB, which the script already
has to DMA to/from.  These copies are small, and don't seem to affect
performance.
1998-12-13 00:11:37 +00:00
thorpej 178fc3cc05 Step 3:
Use DMA maps for the actual data transfers.
1998-12-12 23:41:56 +00:00
thorpej 3cc30b3641 Step two:
Use DMA-safe memory for the script instances.  The most important thing
here is that is guarantees that the script is contiguous in DMA space.
1998-12-12 00:19:13 +00:00
thorpej 086b4b0bf1 Step one of bus_dma'ing the PCI NCR driver:
Separate the ncb (i.e. softc) members that are accessed by the script into
a separate structure.  Allocate one of these structures in DMA safe memory
using bus_dma, and change RELOC_SOFTC to use the DMA address of this
structure.
1998-12-11 23:21:11 +00:00
augustss b94cb7b768 Add a driver for the S3 SonicVibes chip. From OpenBSD and
Constantine Paul Sapuntzakis (csapuntz@cvs.openbsd.org) with
some changes by me.
XXX The driver still needs work.
1998-12-10 18:47:18 +00:00
thorpej 93e17878d1 Regen. 1998-12-09 23:57:58 +00:00
thorpej 02d7f1236c Some more touchup on the VIA Rhine chip model number, and so some
sorting.
1998-12-09 23:57:35 +00:00
mjacob 74bc9f26d5 Update HBAs to incorporate the new max_lun property. 1998-12-05 19:43:33 +00:00
matt 3f225e009d Add Sigma Designs REALmagic Hollywood Plus MPEG-2 decoder 1998-12-05 19:02:14 +00:00
drochner 9175cc0ddf The chipset manual doesn't tell the truth about the channel enable
register bits. Replace by experimental result.
1998-12-04 17:30:55 +00:00
bouyer 47ab212504 Rename pio_mode, etc ... to PIO_cap, etc ... for consistency with the
ata_drive_datas struct. Suggested by Soren S. Jorvan.
1998-12-03 18:24:30 +00:00
bouyer 334abc06cf Correct definition for SIS_TIM_UDMA_EN macro. Ultra-DMA should now work ... 1998-12-03 17:29:01 +00:00
bouyer e39a5bdc53 Now that vtophy() is no longuer used, re-enable WDCDEBUG, with
wdcdebug_pciide_mask = 0 (so that one can easily patch this variable and give
me more informations :)
1998-12-03 17:27:57 +00:00
bouyer 2b28c858d8 add a udma_mode field to wdc_softc, and use it the same way dma_mode is used
(higthest ultra-dma mode supported). There may be a higther ultra-dma mode
defined ...
1998-12-03 15:38:59 +00:00
bouyer ba90b4b2d3 Add URLs of documentation source (from Matthias Drochner). 1998-12-03 14:06:16 +00:00
bouyer 7d87d6a5f6 Use correct register when disabling the second channel. 1998-12-03 13:50:38 +00:00
bouyer 8ef785add8 Restore changes from revision 1.17:
"If a channel has no drives, do *not* unmap its I/O regions.
 It's not really safe to use them for anything else, and in legacy mode it
 will just cause us to probe the channel again as an ISA device."
1998-12-03 13:30:00 +00:00
bouyer 1af63c0605 Correct a few bogons in the SiS chip initialisation. 1998-12-03 13:25:44 +00:00
bouyer 09408781c9 Ouh ! Correct the 8-bit PCI registers reading/writing functions: need to
multiply the register offset by 8.
1998-12-03 13:24:11 +00:00
bouyer 45675ab14b - change drive_flags from u_int8_t to u_int16_t
- keep the modes supported by the drive in struct ata_drive_datas (will be
  later used for downgrading the DMA/PIO mode on error)
- use config flags to force/disable PIO/DMA/UDMA modes
- For the CMD PCI0643/6 setup DMA mode to DMA Read multiple.
1998-12-02 10:52:24 +00:00
jtk aeec8f4cb2 regen 1998-11-30 19:47:53 +00:00
jtk cef29c6e94 Per PR/6172 (Johnny Lam, lamj@stat.cmu.edu), fix pcidevs identification
of CL-PD6729.  See <http://www.cirrus.com/products/overviews/pd6729.html>.
1998-11-30 19:47:16 +00:00
thorpej 2407a4bd22 Regen. 1998-11-29 02:00:33 +00:00
thorpej feb6a5652f Fix the original Rhine's part number (thanks to Greg Oster). 1998-11-29 02:00:13 +00:00
thorpej 17ac4ec4c5 Regen. 1998-11-29 01:54:16 +00:00
thorpej f051479ec7 Garbage-collect some bogus RealTek entries. 1998-11-29 01:54:02 +00:00
thorpej ecaece3f26 Add product IDs for the VIA Rhine and Rhine-II 10/100 Ethernet chips.
(XXX What is the original Rhine's part number?!)
1998-11-29 01:53:33 +00:00
drochner b0bb754f03 regen 1998-11-27 10:43:52 +00:00
drochner d5a92a68de add Powerstorm 4D50T graphics found in some Alphas 1998-11-27 10:39:16 +00:00
mcr dcfd79f257 regenerated pcidevs.h and pcidevs_data.h due to kern/6280
(not kern/5847 as originally noted)
1998-11-26 20:05:38 +00:00
augustss ca707fcdf2 Make the copyright header conform to the NetBSD template. 1998-11-25 22:32:04 +00:00
augustss 9726cfd1fb Make the copyright header conform to the NetBSD template. 1998-11-25 22:17:06 +00:00
bouyer cc6a0ef02b Use bus_dma(9) for the DMA ops in fxp_init() too. Without this the driver
was stuck in the while (!(cbp->cb_status & FXP_CB_STATUS_C)); loop,
I think because the relevent CPU cache entry was never updated.
This was on a compaq deskpro system.
1998-11-25 17:19:09 +00:00
drochner 5888c5ef44 a small optimization for the compat interrupt handling, possible after
channel_softc is within pciide_channel
1998-11-24 19:54:20 +00:00
mcr 4cb534cca1 added 82443BX_AGP_NOT as per kern/5847 1998-11-23 22:54:02 +00:00
drochner 152d52c171 headers for new hardware support in pciide.c. from Manuel. 1998-11-21 16:06:45 +00:00
drochner 9effbbe436 some restructuring, more or less to get support for weird IDE controllers,
eg the Cypress ISA bridge:
-put channel mapping into the chip specific part, unify with
 channel_probe() into channel_map()
-use pointer to channel data as function call argument wherever possible
 instead of the channel number
-allow the "compat" channel number to differ from the per-controller
 channel number - for mapping and interrupt functions
-add support for SiS5598 and Cypress 82C693 chips
Mostly done by Manuel, I only contributed to the first 2 items.
1998-11-21 15:55:31 +00:00
thorpej 3b068a6c78 Adapt to the new scsipi_adapter interface. 1998-11-19 21:53:32 +00:00
mrg db3051d720 fix problems in many d_mmap routines:
- returned EOPNOTSUPP rather than -1.
	- no check for negative offset.
many of these fix potential security problems in these drivers.


XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
	paddr_t (*d_mmap) __P((dev_t, off_t, int));

by someone!
1998-11-19 15:38:20 +00:00
mycroft cb703f0332 If a channel has no drives, do *not* unmap its I/O regions.
It's not really safe to use them for anything else, and in legacy mode it
will just cause us to probe the channel again as an ISA device.
1998-11-17 17:59:14 +00:00
bouyer 56107b8e10 Force PCI_COMMAND_MASTER_ENABLE if DMA has been setup properly. The BIOS is
supposed to do it but who knows ...
1998-11-12 15:05:29 +00:00
bouyer 1e71e76d6c - clearify the boot messages (features supported vs features used). Thanks to
Havard Eidnes for his complains about this :)
- fix some typo in comments
- hoppefully better detection of drives reporting bogus PIO modes.
1998-11-11 19:38:27 +00:00
thorpej 1a5d2ce537 File is obsolete. 1998-11-10 05:56:31 +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
thorpej a1b2be7e1d Const poisoning. 1998-11-09 23:12:48 +00:00
thorpej 9f20ff377a Make the device lookup table-driven, like if_ep_pci.c. 1998-11-09 23:12:18 +00:00
bouyer 432a301fc6 Support for the CMD PCI064{3,6}. Tested on a 0646 with a
"wd0: PIO mode 4, DMA mode 2, UDMA mode 2" device.
1998-11-09 09:21:09 +00:00
fvdl d878e9efc8 Rely on priority match to resolve conflict with the ex driver, not on
a define.
1998-11-07 23:06:26 +00:00
drochner f213d2f96a use common code for extended capability (power management)
let "match" return 2 (> ep_pci)
1998-11-07 16:53:19 +00:00
drochner bbe9d71415 add support for "extended capabilities" (new in PCI spec 2.2) 1998-11-07 16:47:22 +00:00
fvdl 7b10c3e7e4 Add the 'ex' driver, a DMA driver for 3Com 90x and 90xB cards. Rename
constants from EP_ to ELINK_ since they're now used in the ex driver as well.
1998-11-04 00:29:28 +00:00
thorpej 7fe67ebc21 Add support for the Seeq 80c24 AutoDUPLEX media interface which was nuked
when this driver was changed to use the MAC-independent MII code.  This
"PHY" does not have a programming interface, but simply senses the duplex
mode from the link partner.  Since it is not possible to read the 80c24
to determine the link type or status, we consider this to be "manual".
1998-11-03 05:47:38 +00:00
thorpej cbcaaa3bc3 Make sure that a delay loop actually has some delay in it, and use IFF_OACTIVE
as appropriate.
1998-11-03 05:04:49 +00:00
thorpej 7d4ee06d3e Use the rtl80x9 common code for media selection. 1998-10-31 00:45:48 +00:00
thorpej 992f2906ba Move the RTL8029 register definitions to <dev/ic/rtl80x9reg.h>, and add
the registers/bits present in the RTL8019 (ISA version).
1998-10-31 00:27:41 +00:00
thorpej de14bf4f80 Manuel confirms that defaulting to AUTO is ok, to Do It. 1998-10-30 23:30:16 +00:00
thorpej 04c995f517 Add support for media selection to the PCI front-end of the NE2000
driver.  Currently supports:

RealTek 8029: 10base2, 10baseT, 10baseT-FDX, auto detect (but not FDX).
1998-10-28 00:15:54 +00:00
thorpej a45667c4c3 Add register definitions for PCI NE2000-compatible extenstions, allowing
control over e.g. full-duplex mode, media, etc.

Currently, only extensions for the RealTek 8029 are defined.
1998-10-27 22:30:56 +00:00
thorpej e5c050d79c Cosmetic changes in product lookup, to match other drivers. 1998-10-27 19:49:37 +00:00
bouyer 31dec5ddc5 Add config flags for pciide: 0x001 forces the use of DMA when the driver
don't know how to set the controller's modes.
1998-10-22 15:11:39 +00:00
bouyer 1456b01d77 Fix for Apollo DMA mode (not UDMA): DMA mode = PIO mode - 2, not PIO mode + 2 ! 1998-10-20 18:47:45 +00:00
thorpej 167e694c99 Regen. 1998-10-20 01:39:41 +00:00
thorpej 1715793000 Add RealTek 8129 and 8139 10/100Mb Ethernet IDs. 1998-10-20 01:38:57 +00:00
thorpej f69c40b8be Fix a memory leak in fxp_stop(), from the FreeBSD driver. 1998-10-19 23:51:15 +00:00
bouyer 22acea3cb7 Fix a comment. 1998-10-19 12:26:22 +00:00
bouyer c90c4b829b Add support for the second flavour of the VIA IDE chip (which has UDMA).
Don't claim DMA support if we don't have explicit support for this chip.
They're to may way to loose when trying to use DMA without configuring the
controller and disks.
1998-10-19 12:24:33 +00:00
bouyer 04bdcc421c Regen. 1998-10-19 12:13:57 +00:00
bouyer 682ee5fdf3 Yet another attemp at getting the VIA tech. product name/ID's rigth.
It seems that different products have the same name (sigh).
1998-10-19 12:11:50 +00:00
bouyer da5d0a6f17 pciide.c: don't define WDCDEBUG, so it compiles on alpha. Correct a bogon
in the printing of DMA mode (piix3/4 only)
others: set the debug_mask to 0, so that debug messages are turned off by
default but can be easily turned on.
Reset drive_flags to 0 for unconfigured devices, so that they are ignored
later. For configured devices, reset state to 0 after probe/attach.
1998-10-13 08:59:45 +00:00
bouyer 19fddaeeb5 Merge bouyer-ide 1998-10-12 16:09:10 +00:00
thorpej 29d472f53d Garbage-collect the open_target_lu and close_target_lu entry points from
struct scsipi_adapter; they were not used.

Add a scsipi_ioctl entry point to struct scsipi_adapter.  This will be
used to issue ioctl commands to the host adapters.

Inspired by PR #6090, from Matt Jacob.
1998-10-10 00:28:28 +00:00
tron 29c8a3aa85 Regen. 1998-10-05 20:38:17 +00:00
tron 1469dc411b Correct vendor 0x1191 to "ACARD", add missing Matrox boards.
Fixes PR kern/6251 by Soren S. Jorvang.
1998-10-05 20:34:39 +00:00
tron 2aac65de87 Regen. 1998-10-04 23:52:43 +00:00
tron a6a06368ce Add S3 Virge/DX, fixes PR kern/6245 by Steve Allen. 1998-10-04 23:50:05 +00:00
fvdl b28935cee3 Add missing field to le_softc structure, missed in previous commit. Name
it consistently with the other fields.
1998-10-02 00:20:52 +00:00
fvdl 5dbf12a22a Regen. 1998-10-01 23:33:25 +00:00
fvdl b7957e0200 Fix typo in 905BT4 product name. 1998-10-01 23:32:41 +00:00
drochner a81796636f support media selection / full duplex 1998-10-01 20:39:01 +00:00
matt 6e32aa4af4 Invert the RXCOPY test. Note that most new platforms will not
have relaxed alignment so the de driver should just work on them.
1998-09-29 22:40:52 +00:00
dante b2a68e14db Change sources to be KNF 1998-09-26 19:53:34 +00:00
dante 2cf169c563 Add AdvanSys ULTRA WIDE SCSI controllers 1998-09-26 16:20:31 +00:00
dante b207a7d09d Change product ADVSYS 2300 to ADVSYS WIDE 1998-09-26 16:16:23 +00:00
dante da0a3e615e Add support for AdvanSys Ultra Wide boards ABP-9xxUW 1998-09-26 16:09:32 +00:00
dante 4372d4402e Remove Wide boards references
Update supported boards list
1998-09-26 15:52:55 +00:00