Commit Graph

476 Commits

Author SHA1 Message Date
thorpej
5852faaf84 Device driver for the SMC 83c170 Ethernet PCI Integrated Controller (EPIC/100)
used in the SMC EtherPower II.

Media control isn't yet supported, due to some MII infrastructure
problems which I hope to address soon.  This isn't a huge deal, since
the PHY defaults to auto-negotiate mode.

Also, the device just programs the multicast hash table to accept all
multicast, to avoid a hardware bug that causes the multicast address
filter to lose in 10Mb/s mode.  This bug will be fixed in a more sane
way once the media control issues are dealt with.
1998-06-02 01:29:41 +00:00
cgd
350942b30d according to the PCI 2.1 spec, the low _two_ bits of I/O BARs have
defined meaning/value other than specifying the address of the region.
(lowest bit is 1, meaning I/O space.  second-lowest bit is reserved.)
1998-06-01 17:48:13 +00:00
cgd
6e73ca754f add a PCI 'quirks' mechanism, meant to be used as the mechanism
of last resort when trying to communicate information about
bogus behaviour of PCI devices to the MI autoconfiguration code.
In general, bogus behaviour should be handled by drivers, but there
are some types of bogons which can't be addressed that way.  The
only quirk currently defined is one which indicates that the device
is multi-function even though the device's header says otherwise.
(Mmm, Intel 82371FB PCI-to-ISA Bridge (PIIX); you'd think that at least
Intel would have gotten it right...)
1998-05-31 06:07:59 +00:00
cgd
86585ca518 use the new PCI 'quirks' mechanism to help determine the number
of functions on a given device.  Also, clean up the #if 0'd
major-debugging-spew code so that it's all one piece, so that
it's a bit prettier, and so that it prints out quirk information.
1998-05-31 06:05:28 +00:00
cgd
3e3f8b7bac dd a PCI 'quirks' mechanism, meant to be used as the mechanism
of last resort when trying to communicate information about
bogus behaviour of PCI devices to the MI autoconfiguration code.
In general, bogus behaviour should be handled by drivers, but there
are some types of bogons which can't be addressed that way.  The
only quirk currently defined is one which indicates that the device
is multi-function even though the device's header says otherwise.
(Mmm, Intel 82371FB PCI-to-ISA Bridge (PIIX); you'd think that at least
Intel would have gotten it right...)
1998-05-31 06:03:44 +00:00
drochner
b84dbbb37c Put definitions and subroutines needed for all PC display adapters
(MGA/GCA and compatibles) into global headers / source files.
Let the VGA driver use them.
1998-05-28 16:48:40 +00:00
matt
d575ad31d0 Use PCI_REVISION and eliminate some pci_conf_reads 1998-05-28 13:51:09 +00:00
cgd
e3c75e1ca8 Clean up slightly, abstract pci_conf_print family's base address register
printing into a function, add a bit more pretty-printing of existing stuff.
Implement pretty-printers for type 1 and type 2 headers.  (Right now,
these are just quick stabs based on some on-line bridge docs that I have
handy on my laptop.  Mmmm, meetings.  I'll check the bits when I get
back within reach of my official docs.)
1998-05-28 02:26:00 +00:00
augustss
a10981bdbf Fix a recording problem that occurs when the EAP chip sends its
interrupt just BEFORE the dma has finished rather than after.
1998-05-26 13:28:03 +00:00
mark
6548f40f95 Regen from pcidevs. 1998-05-25 22:32:24 +00:00
mark
910456eccf Added TriTech Microelectronics vendor ID.
Added TriTech Pyramid3D 25202 product ID.
Added Promise Ultra33 UltraDMA IDE controller product ID.
Added ALI product ID's for M1543 'Southbridge' PCI devices.
1998-05-25 22:31:11 +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
mark
45dd8e3edd Define TULIP_COPY_RXDATA for arm32 as well as alpha. 1998-05-25 22:13:28 +00:00
mark
69a9a5c445 Include arm32/pci/pci_machdep.h if arm32 is defined. 1998-05-25 22:11:37 +00:00
matt
18319c0048 Changes so that these compile on NetBSD/alpha as well as NetBSD/i386. 1998-05-23 18:32:29 +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
matt
cfbb5f3f21 Add bus_dma(9) support for the DEFxA FDDI driver 1998-05-21 20:44:02 +00:00
cgd
9991233636 add an #if 0'd chunk which will pci_conf_print() every device (spews
lots of data, e.g. ~18k on a PCI system with few add-in devices; use
with MSGBUFSIZE=...).  Useful to have here so that people who want as
much data about the PCI configuration in a machine can get it without
having to craft their own code.  Also, clean up a few of the other
#if 0'd printfs.
1998-05-18 17:28:07 +00:00
cgd
4b0876c74b largely reimplement pci_conf_print():
* print all configuration space registers.  Then, where possible,
  interpret them.  (That is, PRESENT ALL THE DATA, then interpret it --
  don't hide data behind interpretation.  Also, when interpreting
  fields, try to print out the specific value that's being interpreted.)
* handle different header types.
* allow caller to specify a function which can interpret the
  device-dependent header and is responsible for pretty-printing it.

It spews (use 'options MSGBUFSIZE=...' 8-), but when you want the data,
you really want _all_ of it.

Still needs some cleanup and additional code (e.g. interepretation
of PCI-PCI (type 1) and PCI-Cardbus (type 2(?)) bridge headers).
1998-05-18 17:25:17 +00:00
cgd
27b21a3a47 add a PCI_HDRTYPE_TYPE() macro, to get the 'type' portion of the
headertype register (i.e., not including the 'multifunction' bit).
1998-05-18 17:17:04 +00:00
cgd
2102dd3e20 check that memory access is enabled before bothering to do the
pci_mapreg_info() call.  pci_mapreg_map() implies this check,
but code which calls pci_mapreg_info() has to check it explicitly.
Otherwise, if memory space is disabled, the driver does the wrong
thing, and tries to use memory space anyway, potentially resulting
incorrect driver operation and no useful error message.
1998-05-18 17:14:32 +00:00
kml
051be14326 Correct copyright date. 1998-05-17 16:46:06 +00:00
tsubai
02aa1f7050 Add macppc support. 1998-05-15 12:35:06 +00:00
augustss
07e69a32d2 Regen. 1998-05-14 21:46:53 +00:00
augustss
c3def5e349 Add another USB controller. 1998-05-14 21:45:18 +00:00
drochner
95bdb660ed Simple screen attribute handling for wscons.
The graphics device driver passes a "default attribute" for normal text
output to the wscons framework. If the emulation module needs more
attributes (for different "renditions") it can allocate them via a
callback.
For now, only the "sun" emulation makes use of it.
1998-05-14 20:49:55 +00:00
kml
e72782a137 Driver for Essential Communications' RoadRunner HIPPI (800 Mb/sec network)
card.  With some modification, this could probably also work for their
Gigabit Ethernet card based on the same chipset...
1998-05-14 00:04:57 +00:00
augustss
6c0386cefa Regen. 1998-05-13 15:51:36 +00:00
augustss
364c6cf250 Add OPTi OHCI USB host controller. 1998-05-13 15:50:58 +00:00
augustss
d824266389 Remove some lint. 1998-05-06 19:21:45 +00:00
mjacob
ed8ddb6948 more info (in heavy debugging cases) to print 1998-05-05 22:14:23 +00:00
thorpej
af65e69596 Add 5 more NE-2000 compatible PCI Ethernet interfaces. XXX Note that some
of these may need revision in pcidevs.
1998-05-05 17:23:08 +00:00
thorpej
e28a3f28ac Regen. 1998-05-05 17:22:20 +00:00
thorpej
7b2b6d3835 Add a few more NE-2000 compatible PCI Ethernet interfaces. XXX Some of
these may need further revision to get vendor and product names exactly
right.
1998-05-05 17:22:04 +00:00
thorpej
4626eef504 Slighly less brutal hack to deal with broken memory-mapped access of
the ThunderLAN on the TI TravelMate 5000 docking station: single it out,
and allow memory-mapped access on the Compaq products.
1998-05-05 07:17:12 +00:00
thorpej
19b7ffb19f Regen. 1998-05-04 05:51:35 +00:00
thorpej
0813824005 Add STB Systems' second PCI vendor ID, and their Velocity128 AGP product.
kern/5362, Paul Goyette <paul@whooppee.com>
1998-05-04 05:51:19 +00:00
thorpej
5153af345d In pci_conf_print(), don't print a mapping register if the size is 0. 1998-05-03 19:46:15 +00:00
thorpej
93db65c28c Properly compute the region sizes in pci_conf_print(). Bug pointed out
by Chris Demetriou.
1998-05-03 19:41:33 +00:00
mycroft
a835c012d3 Adjust PCLKDIV by 2 to correct the output sample rate. (Unfortunately, this
isn't documented.)
Fix typo in mappage routine.
1998-05-02 08:21:10 +00:00
mycroft
fef6b0b8a3 Oops; fix typo. 1998-05-02 02:36:30 +00:00
mycroft
cfe3e5fb08 Fix reading of the master volume, and a hack that seems to make stereo output
work correctly.  (Will check the documentation as soon as I can read it.)
1998-05-02 02:34:53 +00:00
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