Commit Graph

484 Commits

Author SHA1 Message Date
augustss
6cb1f6c5b1 Add a driver for the Ensoniq AudioPCI sound card. The driver still
needs some testing, but it seems to produce sound.  The driver was written
by me, but since I don't have the hardware the debugging and testing was
done by Andreas Gustafsson <gson@araneus.fi>, Chuck Cranor
<chuck@maria.wustl.edu>, and Phil Nelson <phil@cs.wwu.edu>.  Thanks.
1998-05-01 21:54:33 +00:00
mycroft
aa7159be03 Regen. 1998-04-30 06:18:45 +00:00
mycroft
6e626dfafc Add the Apple Bandit chip. 1998-04-30 06:18:11 +00:00
thorpej
9a25b32914 Use the symbolic name VVR_BLANK rather than a magic constant. 1998-04-29 02:23:20 +00:00
thorpej
6493eddd91 Define the contents of the Video Valid register on the TGA and TGA2. 1998-04-29 02:11:19 +00:00
drochner
5f6ca9ef93 Avoid "unused variable" warning without PCIVERBOSE.
From mynhier@cs.utk.edu (PR kern/5328).
1998-04-20 14:16:26 +00:00
drochner
928943b2ff Keep all relevant state information in a "pci_softc" so that it is
accessible at runtime (for LKMs in particular).
Remove BROKEN_INDIRECT_CONFIG.
1998-04-17 18:40:31 +00:00
drochner
d860c80512 regen 1998-04-16 19:48:14 +00:00
drochner
bfd53bac43 add 2 ATM chips, correct entry for Toshiba MIPS bridge 1998-04-16 19:46:03 +00:00
drochner
3cc1fe831c count allocated screens correctly 1998-04-16 12:52:42 +00:00
drochner
aadda67e18 add mi PCI VGA and TGA 1998-04-15 20:17:17 +00:00
drochner
eda73f204f The "mi" TGA driver. It's still not of much use on anything but alpha
because it depends on initialization by the firmware.
Further, an mi mmap() is needed...
1998-04-15 20:16:30 +00:00
thorpej
a95c0ac15a Add pci_conf_print(), a function to dump the PCI configuration space, useful
in driver debugging.  From Zubin D. Dittia <zubin@clouseau.arl.wustl.edu>,
PR #4249.
1998-04-14 21:24:50 +00:00
thorpej
ce28bee247 Add UDF and 66MHz capable bit definitions for the PCI status register.
From Zubin D. Dittia <zubin@clouseau.arl.wustl.edu>, PR #4249.
1998-04-14 21:22:44 +00:00
thorpej
db453b872d Add support for the VIA Technologies VT86C926, from Kazuki Sakamoto,
PR #5256.
1998-04-10 01:28: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
686a1a1177 Regen. 1998-03-28 06:39:13 +00:00
thorpej
515d7f04bf Add the Contaq/Cypress 82C693 PCI-ISA bridge. 1998-03-28 06:38:46 +00:00
cgd
2f8f14b311 check vendor against PCI_VENDOR_INVALID instead of 0xffff.
Suggested by Soren S. Jorvang.
1998-03-28 02:24:04 +00:00
cgd
6108f60999 regen 1998-03-28 02:10:40 +00:00
cgd
3371d8f00f fix bogus produce name tags for 82371FB_ISA and 82371FB_IDE (were 82471FB_*).
Pointed out by Soren S. Jorvang.  Rename "BAD" vendor id to "INVALID".
1998-03-28 02:09:29 +00:00
drochner
013507e321 PCI frontend for sys/dev/ic/vga.c 1998-03-22 15:16:18 +00:00
cgd
bd31517508 check only the Vendor ID (rather than both the Vendor ID and the Product
ID) when determining if the Vendor ID is invalid.  The spec says that
Vendor ID of 0xffff is invalid, so, it doesn't _matter_ what the product
ID is in that case.  Treat Vendor ID 0 as invalid because we always have.
1998-03-20 19:56:19 +00:00
leo
d2551d5b3f Use bus-dma functions. 1998-03-16 15:36:17 +00:00
cgd
b9eaff9db8 when considering attaching compatibility-mode channels, try a quick reset
and see if anything responds.  if nothing (that's attributable to the
PCI IDE controller) responds, then that channel either has no devices on
it or has been disabled (via a non-standard mechanism) by the BIOS.  If nothing
responds, don't map the compat.-mode interrupt or attach the wdc to that
channel, because the BIOS is likely to assign that IRQ to a different PCI
device.  If that happens, the kernel will panic because that device will
try to map the IRQ level-triggered, but the compat interrupt will have been
mapped edge-triggered.  (One possible way around this is to map the compat
interrupt edge-triggered, but it's not clear reading the spec that this
is correct or desirable.)
1998-03-12 23:34:29 +00:00
augustss
a294c3fef3 Regen. 1998-03-07 16:48:47 +00:00
augustss
8dd96862cd Add Matrox Millenium II AGP. 1998-03-07 16:43:46 +00:00
cgd
ff06be8ce0 reorganize mapping/attachment of wdc channels so that it'll be easier to
insert a check to see whether a channel appears to be enabled.  Shouldn't
be necessary, according to the spec, but some PC chipsets allow individual
compatibility channels to be disabled.  "I hate PCs."
1998-03-06 19:13:19 +00:00
cgd
f528463b81 despite the spec, some people map the bus master IDE registers into
memory space.  Note that in a comment, but don't try to fix it (for now).
1998-03-06 17:41:59 +00:00
cgd
2682c61855 clean up a printf 1998-03-04 19:19:21 +00:00
cgd
c3cdd2752a slight cleanup (consistency, make a few comments better). add support
for recognizing bus-master DMA interface and mapping the regs (but
still no support for DMA).
1998-03-04 19:18:22 +00:00
cgd
0078e4bcd0 add def'ns for PCI IDE bus-master DMA interface recognition and register
mapping.
1998-03-04 19:17:10 +00:00
cgd
d4e79b6ace add (commented out) device/file declarations for the MI PCI IDE
controller driver.  These are commented out here until the wdc
declaration mess is resolved, and until then need to go into MD
files files in places where they play nice with the wdc declaration.
1998-03-04 06:38:44 +00:00
cgd
b37b33d302 PCI IDE glue. Right now, just glues 'wdc's to PCI IDE controller
channels.  Eventually should do things like support PCI IDE DMA (it _DOES
NOT_ do that now).
1998-03-04 06:35:11 +00:00
cgd
b11fc105b1 clean up slightly, correct a few comments 1998-03-04 06:31:46 +00:00
cgd
5f45920f06 regen 1998-03-04 00:15:21 +00:00
cgd
b3f8c3c1f1 fix comment bogon in last commit 1998-03-04 00:14:45 +00:00
cgd
34f466e064 regen 1998-03-04 00:10:38 +00:00
cgd
0873649bda add CMD PCI0643, PCI0647, USB0670, USB0673. Remove the 'A' from the 640A
entry (because the same product id is used for the 640B, as well).  Note
that a few of the entries (PCI0642, PCI0650A) no longer have data to
be found on the CMD web site, and note that PCI0650A should probably have
its "A" trimmed as well.
1998-03-04 00:09:11 +00:00
mycroft
8e5dbddc19 Regen. 1998-02-27 11:46:25 +00:00
mycroft
402ddee537 Add Macronix MX98713. 1998-02-27 11:45:51 +00:00
thorpej
8354e68508 Remove "class" declarations, and add "devclass" declarations where
appropriate.  Fix several inconsistencies between device class and
attributes.  Mostly from Chris Demetriou.
1998-02-16 22:12:45 +00:00
bouyer
0435e7ea98 Correct a bogosity in the adapter->mii attach code pointed out by cgd:
in pci/if_tl.c, call config_found() with a print function, instead of
printing ourself a message in if_tl.c if no miibus was found. The print
function is in mii/mii.c (mii_adapter_print()) so that it can be used by any
adapter (idea from the scsi system).
1998-02-11 19:02:11 +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
8e8eed4ba7 Create RX DMA maps with ALLOCNOW. These maps are essentially always
loaded, and recovering from a resource shortage error is much harder
in the receive case.
1998-02-07 21:13:34 +00:00
thorpej
f955aa86e5 Properly handle error conditions from bus_dmamap_load_mbuf(). 1998-02-07 20:40:35 +00:00
augustss
ae3e754e0b Newly generated version. 1998-02-07 20:07:37 +00:00
augustss
6d9b48ac1d Fix typo, and commit in the right order. 1998-02-07 20:05:25 +00:00
augustss
c78e3507ba Add the AGP device in the 82443LX. 1998-02-07 19:32:37 +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
0392bc60a1 Fix the FXP_TXDESCOFF() macro. 1998-02-05 07:31:52 +00:00
thorpej
ec6c5c10d7 Add necessary bus_dmamap_sync() calls for memory mapped with the COHERENT
hint, per bus_dma(9).
1998-02-04 08:26:42 +00:00
thorpej
8abe76d2f0 Add offset and length parameters to bus_dmamap_sync(), used for specifiying
partial syncs of a DMA mapping.
1998-02-04 05:12:46 +00:00
thorpej
296d96f42c Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC to
BUS_DMA_COHERENT.
1998-02-04 00:38:50 +00:00
thorpej
480445c035 When a PCI bus is attached, print out which bus spaces were enabled
by the parent.
1998-01-31 00:37:39 +00:00
thorpej
9359316f6f Add support for the 82553[AC] PHY by treating it like an 82555. From
Soren S. Jorvang <soren@t.dk>, PR #4840.
1998-01-28 18:31:37 +00:00
thorpej
b89119c134 Convert this driver to use the bus_dma interfaces. 1998-01-28 07:26:42 +00:00
thorpej
2538ed1062 Use offsetof() from libkern.h 1998-01-28 02:23:04 +00:00
thorpej
c7c415e733 Regen: add Packet Engines G-NIC gigabit Ethernet. 1998-01-27 01:03:29 +00:00
thorpej
cdb46f9d8b Add product ID for the Packet Engines G-NIC gigabit Ethernet interface. 1998-01-27 01:02:46 +00:00
mycroft
76299bd2c0 Regen. 1998-01-22 22:37:04 +00:00
mycroft
9fdb0f8782 Add the Millenium II. 1998-01-22 22:36:16 +00:00
thorpej
201cba44d4 Sync w/ FreeBSD-current-980122:
- Rearrange softc for better cache line behavior.
1998-01-22 08:32:35 +00:00
thorpej
0916ab379b Sync w/ FreeBSD-current-980122:
- Rewrite fxp_start() for better clarity and efficiency.
- Remove unused #includes.
1998-01-22 08:31:33 +00:00
thorpej
ed13bba51f Fix two register mapping problems:
- Fall back on i/o space if mem space isn't available.
- Card reports mem space as prefetchable, but mapping the card into dense
  space fails in nasty ways on the Alpha.  Force mapping into sparse
  space by clearing the BUS_SPACE_MAP_CACHEABLE bit (XXX!).
1998-01-22 08:04:56 +00:00
thorpej
06ce220790 Update for config changes. 1998-01-12 09:39:57 +00:00
thorpej
e21b3a4cdb Regen. 1998-01-09 06:54:56 +00:00
thorpej
d41a505027 Regen. 1998-01-09 06:54:54 +00:00
thorpej
d1ad0bc624 Put RCS IDs into generated files, in the correct place. 1998-01-09 06:54:25 +00:00
thorpej
1b2dbc7a0e Regen: back out RCS ID related changes. 1998-01-08 00:32:06 +00:00
thorpej
b0ecfb4210 Back out RCD ID related changes. 1998-01-08 00:31:23 +00:00
perry
5e35a0595e regened with RCSIDs in place 1998-01-05 19:30:30 +00:00
perry
5e96ab4c0a make script insert RCS ids into generated files 1998-01-05 19:28:16 +00:00
drochner
c7e3c24d53 make it compile without "__BROKEN_INDIRECT_CONFIG" 1997-11-30 15:18:58 +00:00
bouyer
e0746c57db Fix for systems with multiple tl interfaces:
nullbuf (used to pad packets < ETHER_MIN_SIZE) is used for all tl
interfaces. Allocates only once, and never deallocate it (as we can't say
if another instance of the driver is interface is using it).
1997-11-18 12:26:09 +00:00
thorpej
7e8aa22eaa Sigh, now that we've fixed a bug in PCI space management (the bug caused
i/o-mapped space to always be used), we discover that at least one
ThunderLAN interface can't read the EEPROM properly if memory-mapped
access is used.  Kludge around this for now by "prefering" i/o space.
1997-11-17 08:14:53 +00:00
thorpej
bbee567187 Fix a couple of bugs/annoyances in match/attach:
- Do PCI space configuration like the other drivers.  In particular,
  don't _disable_ the space we're not using because some lame firmware
  implementations might not reenable it on warm boot.  Also, prefer
  memory space always.
- Make match and info-gathering in attach table-driven.
- Rearrange things a bit to be a bit more visually pleasing during boot.

Also, fixup some #include problems.
1997-11-17 01:58:29 +00:00
thorpej
dffffc2120 Cosmetic change. 1997-11-17 01:44:58 +00:00
christos
739eae3e8b Regen. 1997-11-16 22:33:59 +00:00
christos
9279ce1dc1 PR/4510: William Coldwell: Add TI thunderlan support. 1997-11-16 22:33:19 +00:00
thorpej
b6ac221d7c Type/alignment cleanup in EEPROM code. 1997-11-11 06:35:46 +00:00
thorpej
a222447f6f Oops, missed one in previous. 1997-10-27 23:34:19 +00:00
thorpej
ce3918177b Update for new pcidevs entry for Winbond NE2000-compatible Ethernet ASIC. 1997-10-27 23:31:41 +00:00
thorpej
bb340dc5c7 Regen. 1997-10-27 23:29:23 +00:00
thorpej
10e3181b2b Fix the description of the Winbond NE2000-compatible Ethernet ASIC.
It's a W89C940F.
1997-10-27 23:27:35 +00:00
thorpej
bbc9422b97 Print interrupt information like all of the other PCI drivers. 1997-10-27 02:10:07 +00:00
bouyer
b1b04efc58 Correct 'ThunderLAN' spelling 1997-10-21 05:54:21 +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
thorpej
cdc616ca77 Port the latest FreeBSD "fxp" driver to NetBSD-current. Changes include:
- Work around a bug in the 82557 that causes the receiver to lock up
  in certain conditions by kicking the multicast address filter if we
  haven't heard anything come down the wire for some period of time.
- Fix a bug that could cause TxCB descriptor chains to cross page boundaries
  on the Alpha.
- Remove some unneeded register masking.
- Fix a bug where too much data was copied from the config template, causing
  memory corruption.
- Fix handing of if_timer (it was be cleared too early in some cases).
- Attempt to reduce the chances of receiver overrun by doubling the
  number of receive DMA segments, and processing receive interrupts
  before transmit interrupts.
- Remove a gratuitous assignment.
- Fix a bug where incoming packets were counted twice.
1997-10-20 01:15:53 +00:00
bouyer
fe74be001b Driver for Texas Instruments' thunderland network controller (present in some
Compaq products).
1997-10-17 18:38:23 +00:00
thorpej
376d502a22 Pull marc-pcmcia branch down from trunk. 1997-10-16 23:23:14 +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
b9f6e61f9d Add and/or update rnd_*() hooks 1997-10-15 06:12:44 +00:00
thorpej
061f16048b Pulldown from marc-pcmcia branch: PCI front-end for the "ne" driver. 1997-10-14 23:12:17 +00:00