Commit Graph

784 Commits

Author SHA1 Message Date
mark 0cf7fe7c62 Add yet another vendor ID for Fujitsu.
Add vendor ID for ESS Technology Inc.
Add product ID for ESS Technology ES1938 SOLO-1 AudioDrive
Add product ID for Fujitsu K56flex LTMODEM
Add product ID for TI PCI1250 PC Card bridge
Add product ID for Trident Cyber 9397 Video controller.
1998-09-18 04:30:10 +00:00
mjacob 6d8a22890e dma setup now returns CMD_QUEUED or CMD_COMPLETE. Clarify a ternary
operation that needed some parentheses.
1998-09-17 23:10:20 +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
mjacob 52588e4fde add more general probe to regular more operation stuff 1998-09-08 07:30:32 +00:00
mjacob 9b29429984 Remove clocks as common code now can determine what clock rates to use.
Remove other than 8 byte bursts- until we clarify whether or not buggy
PCI implementatiosn really cause problems.
1998-09-08 07:16:46 +00:00
veego adebee9ad7 Regen. 1998-09-06 17:27:40 +00:00
veego 25eaf86126 Add the Brooktree 878 and 879 id's and fix the comment of the 849 entry. 1998-09-06 17:26:03 +00:00
drochner b43e33a471 Since the RAMDAC drivers use the !=0-ness of fields for diagnostic
purposes, we have to zero-initialize the tga_devconfig structure.
1998-09-02 19:51:06 +00:00
dante d35b531a68 Remove __BROKEN_INDIRECT_CONFIG
Correct currently known boards
1998-08-31 17:15:25 +00:00
dante cb8b14827c Adjust copyright justification 1998-08-29 13:54:50 +00:00
dante 17759893b0 Add rcs id 1998-08-29 13:44:49 +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
drochner a80cad6e0a regen 1998-08-26 20:00:37 +00:00
drochner fe1c5e2163 add the SIS 5597/5598 all-in-one PCI chipset 1998-08-26 19:59:16 +00:00
dante d93a0d81b0 Add AdvanSys support 1998-08-26 14:20:37 +00:00
dante 97b8010151 Changed ADVSYSPROD to ADVSYS vendor ID
Added 1200A, 1200B, ULTRA, 2300 AdvanSys products ID
1998-08-26 14:18:26 +00:00
dante d9e417cde9 Add AdvanSys 930U and 940U SCSI controllers 1998-08-26 14:13:58 +00:00
thorpej daa8ad1747 Add some braces to make egcs happy. 1998-08-25 04:56:01 +00:00
thorpej 85c6c03e2a Change the 32-bit fields of the RFA to an arrays of bytes, so that
egcs won't attempt to optimize inline copies of them into a single
load/store (the RFA is not 4-byte aligned in the DMA area).

Just use memcpy() to copy those fields, now, not our own home-grown.
1998-08-25 01:08:15 +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
veego ff2c3adddc Add some braces to stop the new egcs warnings. 1998-08-20 19:55:06 +00:00
thorpej 8021b2ae29 Initial support for the Brooktree Bt463 RAMDAC. 1998-08-18 23:29:28 +00:00
thorpej ff266f0937 Add some braces to make egcs happy. 1998-08-18 18:23:07 +00:00
thorpej 813dfd31c5 Fix a couple of obvious bugs in the hardware cursor handling code, and
use the RAMDAC callbacks to get/set the cursor colormap.
1998-08-18 08:40:39 +00:00
thorpej 6ba7f2f6fd Need an entry point to check cursor colormap entries for validity
before actually setting them.
1998-08-18 08:23:46 +00:00
thorpej 3db6850bb7 When updating the cursor colormap, actually store the data in our
copy of the cursor colormap, not the regular colormap!
1998-08-18 08:22:49 +00:00
thorpej feaf75c755 Add set_curcmap and get_curcmap RAMDAC methods, for use by the TGA hardware
cursor code.  These are unneeded on the Bt485, since the RAMDAC handles
the hardware cursor.  They are needed for the Bt463, however, since the
RAMDAC only provides cursor color.
1998-08-18 08:07:45 +00:00
thorpej 082116a927 vm_offset_t -> vaddr_t 1998-08-18 08:00:17 +00:00
augustss cd09067eb4 * Redo the way the way the MIDI driver attaches to audio devices.
* Improve the midisyn layer a little.
* Add a driver for the Yamaha OPL[23] FM synths.
  The opl driver is not finished yet; it sounds pretty awful.

For some strange reason I cannot get any FM sound from my SB64 cards,
but a regular SB16 works fine.
1998-08-17 21:16:09 +00:00
thorpej 7ce9726a7d Oops, don't forget to tick the MII once a second. 1998-08-15 17:04:52 +00:00
bouyer 1bbc572701 Fix typos in last commit. 1998-08-15 16:58:53 +00:00
bouyer 53d231dae3 correct indent. 1998-08-15 16:49:33 +00:00
mycroft 62b1bf3e2e Assign my copyrights to TNF. 1998-08-15 10:51:16 +00:00
mycroft 6dc903202f Assign my copyrights to TNF. 1998-08-15 10:10:47 +00:00
mycroft 6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
drochner a8d0a43ffa 2 changes to pciide_probe_wdc() (used in compatibility mode to check
if i drive is responding):
-if the reset succeeds, check some registers to make sure there is really
 a drive (and not a chipset which echoes back the last written value)
-explicitely select the master before trying to read the master's status
1998-08-14 20:35:40 +00:00
eeh a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
mycroft a5ace63ee2 Associate the preamp with the mic volume in the input class. 1998-08-12 19:09:55 +00:00
mycroft 916c60de3e Oops; fix typos. 1998-08-12 18:55:03 +00:00
thorpej b170caf730 Completely rewrite media selection. Add support for the MII/PHY on
the 3Com 3c905-TX and 3c905-T4.  Fix handling of the MII on the
3c595-MII and 3c597-MII (can't talk to the PHYs on these cards; just
use "manual" for the external MII port).

Fixes kern/4782 (Chris Demetriou).
1998-08-12 18:51:52 +00:00
mycroft a2f1d5b822 Add a knob to enable/disable the mic preamp. 1998-08-12 18:47:43 +00:00
mjacob 5ad5bb35af minor change to make the message less linux like 1998-08-12 00:03:23 +00:00
thorpej 7b8168e675 Adapt to new MII code. 1998-08-11 00:12:52 +00:00
thorpej d812ed6db7 G/c the 83840 register definitions. 1998-08-11 00:12:20 +00:00
thorpej 1301693108 Adapt to new MII code. 1998-08-11 00:11:39 +00:00
thorpej b1fb3ecb0f Adapt to the new MII code. This required splitting some structures into
if_tlvar.h, since the ThunderLAN PHY driver needs to know some things
about it's parent (and since it can only attach to a ThunderLAN chip,
this is the easiest way).
1998-08-11 00:09:26 +00:00
thorpej 36db6106a8 Adapt "tl" driver to the new MII code, and add the "mii" attribute to
the "fxp" driver.
1998-08-11 00:08:23 +00:00
ross 920e7c7d5d Fix a race involving determination of pollmode. This is not known to be
associated with any observed lossage...it was just noticed while reading
ncr_start().

g/c some now-unreachable code produced by the earlier race condition fix.
1998-08-10 13:10:33 +00:00
mycroft 1c6dea16fa For consistency, only do the rate coupling in full-duplex mode. 1998-08-10 01:27:34 +00:00
mycroft cf7abcbe64 Minor cleanup to debugging cruft. 1998-08-09 22:11:48 +00:00
mycroft 4ffebebb25 Several things:
* Use the new trigger_{in,out}put interface.
* Allow the play and record channels to have different encodings (but the
  same sample rate).
* Play u-law and a-law as 16-bit data.  (This may not work yet...)
1998-08-09 20:32:34 +00:00
mycroft e2686d0a1b Use splnet, not splimp. 1998-08-08 23:51:39 +00:00
ross 815f9f2445 1. Untangle preprocessor conditionals for sanity and {} balance
2. Fix a race between the first callout and the first non-polled ncr_start()
1998-08-08 00:14:08 +00:00
thorpej 9bb616c621 Regen. 1998-08-07 06:59:31 +00:00
thorpej 88c6239026 Add product IDs for the 3Com Cyclone-based PCI Ethernet devices,
the 3c90xB DMA-only cards.
1998-08-07 06:58:57 +00:00
thorpej dcfe0e1506 Back out part of previous; it is perfectly reasonable, and desirable, to
print out debugging info ifdef DEBUG.
1998-07-31 02:14:40 +00:00
mjacob bec14b0ce3 Part A (Cosmetic nonsense):
>We're not Linux.  If we still want driver version strings to be displayed
>at boot, then I suppose DEBUG is a reasonable compromise.
Makes the whole concept useless. This is for default printouts. If you
can build a debug kernel, you know what version you have. This was under
the concept of 'RAS' so that hapless users could tell you microversion
things. But I guess this isn't the right way according to our local
Jesuits. Oh, well. I'll think up something different and hopefully
less objectionable. And yes, NetBSD isn't linux. The developers seem
to be equally bad tempered, but linux is more successful.

Part B:
Field interrupts in OS layer so that (in this OS) bus_dmamap_sync(POSTREAD)
can (formally) ensure that the result queue is stable wrt to buffering
and that for sending a command a bus_dmamap_sync(PREWRITE) is done to
ensure that the device gets a good view of what the mailbox contents
should be.
1998-07-31 02:08:16 +00:00
thorpej 99b10d9e98 Regen. 1998-07-28 21:51:34 +00:00
thorpej 463fc03c76 Add the IMS TwinTurbo 128M graphics board. 1998-07-28 21:50:30 +00:00
tron a79f26fe76 Regen from pcidevs. 1998-07-27 22:58:43 +00:00
tron 04affecc7a "Brooktree Brooktree Bt848" -> "Brooktree Bt848" 1998-07-27 22:58:07 +00:00
tron 0d386417e9 Regen from pcidevs. 1998-07-27 21:37:17 +00:00
tron d54ccbde1a Add Brooktree Bt848 and BT849 video capture chips. 1998-07-27 21:34:11 +00:00
augustss e8e8a975af Regen. 1998-07-27 20:04:10 +00:00
augustss 6585f9ebc1 Add S3 SonicVibes. 1998-07-27 20:02:27 +00:00
explorer ab207dc49d add ntwo* at pci? function ?, a T1 network driver. 1998-07-26 03:28:28 +00:00
augustss 72de215752 Use PCI class/subclass/interface to match USB host controllers instead
of vendor/product id.  This makes the probe find more controllers
without recompilation.
1998-07-25 23:23:01 +00:00
explorer 12f40f6481 commit this so it gets the right generated from tag 1998-07-25 23:12:16 +00:00
augustss 8bafec3cec I forgot to commit these when usb_mem was added. 1998-07-25 15:15:39 +00:00
explorer 9043581b85 define RISCom and RISCom N2 product 1998-07-25 11:57:50 +00:00
drochner 4c50fd2165 regen 1998-07-22 17:43:11 +00:00
drochner 28f1e61164 add IDs for ACC Micro 2051 "PCI Single Chip Solution" 1998-07-22 17:41:04 +00:00
augustss f190634e3d Add an Acer labs USB controller. 1998-07-22 10:43:37 +00:00
drochner 68f2474820 adapt to LANCE driver split; let PCNET/PCI use the 32-bit mode 1998-07-21 17:30:26 +00:00
thorpej d8e4026492 Oops, unused variable warning. 1998-07-20 21:17:30 +00:00
thorpej 74fc0579eb We're not Linux. If we still want driver version strings to be displayed
at boot, then I suppose DEBUG is a reasonable compromise.
1998-07-20 21:16:52 +00:00
tron 334afaa14e Regen from pcidevs. 1998-07-19 12:25:46 +00:00
tron 463e7e6dce Fix product ID for Matrox Mystique, add NEC PowerVR PCX2. 1998-07-19 12:23:56 +00:00
mjacob 1aa702b8f8 fix bogus initialization 1998-07-18 21:04:22 +00:00
mjacob 99ff11f6b7 locking now out of main framework for isp_reset/isp_init 1998-07-18 21:02:06 +00:00
mjacob afb0e1b693 no framework 1998-07-15 19:53:57 +00:00
mark b34e933db8 Regen. 1998-07-13 03:29:48 +00:00
mark 22d5b20046 Add ID for ALI M1541 Host-PCI bridge. 1998-07-13 03:29:00 +00:00
augustss deb00272b9 Add USB support. Supported so far:
* UHCI and OHCI host controllers on PCI
* Hubs
* HID devices withe special drivers for mouse and keyboard
* Printers
1998-07-12 19:51:55 +00:00
cgd 8f94f1a709 I went to Fry's and noticed a few more cards that probably will be
supportable with this driver, but currently aren't supported.  Add them.
1998-07-12 02:21:56 +00:00
tron 67eb4c3488 Regen from pcidevs. 1998-07-10 20:41:36 +00:00
tron 763b848669 Add Intel's BX chipset, 3Dfx Interactive and their Voodoo board. 1998-07-10 20:40:06 +00:00
augustss 8af687b575 Add mixer output selection.
From gson@araneus.fi (Andreas Gustafsson)
1998-07-06 11:12:21 +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
augustss 2a91c2b84f Regen. 1998-06-30 14:42:00 +00:00
augustss bb9ccdf373 Add a 2 Micro CardBus controller. 1998-06-30 14:41:29 +00:00
drochner 91d0d98450 adapt to wsdisplay interface change 1998-06-26 21:07:03 +00:00
cgd d77d6869b1 add a driver for "PCI 'universal' communications" cards, that is, PCI cards
which contain 'standard' com- and lpt-type ports.  Some of these present
as PCI simple-communications/serial or simple-communications/parallel
devices, but many do not.  (Additionally, there is no document that I can
find that describes the "specific well-konwn register-level" description
of how the 'standard' devices' config space headers shold work.)  Eventually,
some of the devices driven by this code should become simple pci attachments
for the 'lpt' and 'com' drivers, but that requires solid documentation.
1998-06-26 18:52:41 +00:00
cgd f2df55371d factor out some common code, and enhance functionality slightly: allow
the BAR-printing function to print a name for the register, factor out
a common register-bits function which can handle the fact that type 2
headers have a different size than is usual, and actually do something
useful with the rest of the bits in the type 2 header.
1998-06-26 17:53:09 +00:00
matt 4e49c5ff17 Workaround problem with stalling output. Fix later after I've moved. 1998-06-21 10:32:46 +00:00
drochner 4c45f96d05 adapt to wscons changes (character output call) 1998-06-20 21:56:40 +00:00
cgd e2578025b3 Point people to the correct Makefiles to build generated headers.
(Suggested by Manuel Bouyer.)
1998-06-16 18:36:03 +00:00
bouyer 2986a61389 Regen. 1998-06-15 19:55:08 +00:00
bouyer 5c6595b157 Argh, comments have to be in /* */, not # !
Sorry for the one-in-tree commit.
1998-06-15 19:54:48 +00:00
bouyer e748660d5a Regen. 1998-06-15 19:51:09 +00:00
bouyer 24a60f635a Hum the "VT82C595 (Apollo VP2) Host-PCI Bridge" has 2 devices entries
(in FreeBSD too). Make it VT82C595 and VT82C595_2.
1998-06-15 19:50:37 +00:00
bouyer 8421873e93 Regen. 1998-06-15 19:35:31 +00:00
bouyer b1aab68805 Add some VIA tech. products. 1998-06-15 19:31:46 +00:00
cgd 651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
thorpej ab548fbb40 Remove the PCI-ISA bridge callback mechanism; it's no longer needed. 1998-06-09 18:48:41 +00:00
thorpej ea3a1d9c44 Nuke __BROKEN_INDIRECT_CONFIG. 1998-06-08 06:55:54 +00:00
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
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