Commit Graph

1371 Commits

Author SHA1 Message Date
mycroft 254afcaecb Sleeping forever kinda sucks. 1998-08-08 21:37:00 +00:00
mycroft 17932f0575 Set the correct modes for the record channel. 1998-08-08 20:55:36 +00:00
thorpej 558733ffc6 Track our carrier status and report it in the media status callback. 1998-08-07 05:55:14 +00:00
matt 7b044dea51 Make the irq checking logic somewhat less bogus. 1998-08-07 00:51:06 +00:00
augustss 48bae9ee88 Add MIDI support. The MIDI devices can be accessed as ``raw'' through
the /dev/rmidiN devices, or with a sequencer interface via /dev/music.
So far the only supported MIDI device is the MPU401 port on SoundBlaster
(and only on SB on isapnp, since we do not have locators with multiple
values yet).
1998-08-07 00:00:55 +00:00
augustss 0c6791d804 Add macro to test iobase validity. 1998-08-05 16:40:22 +00:00
augustss f76fb48283 Use looping DMA for play channel.
More cleanup.
1998-08-04 13:14:42 +00:00
augustss ce69d417a2 Make it compile without DIAGNOSTIC 1998-07-31 23:54:09 +00:00
augustss 6b407a79c6 Major cleanup of the ESS driver. It now sorta works. More to come. 1998-07-31 15:17:17 +00:00
thorpej 75db93cec2 Pull in files.isapnp here; the two busses are linked together quite closely
(more than we'd like maybe, but don't we wish ISA didn't suck...)
1998-07-31 04:40:39 +00:00
rvb 11c3d96b49 Flush spurious #endif after ADDMULTI 1998-07-31 01:10:13 +00:00
thorpej bf52ef5697 Squash unused variable. 1998-07-30 22:17:34 +00:00
is ae2fb64e3a Document supported boards near the top of the driver source code. 1998-07-30 21:28:15 +00:00
christos b7a585b61d Use the previously committed pnp hook. 1998-07-30 18:03:34 +00:00
is 8bd9c69e11 Multicast support. 1998-07-30 16:40:19 +00:00
augustss cdeb158d5f A first stab at making the SHARK sound work. It doesn't really work
yet, but it probes and makes a noise when used.  Stay tuned!
1998-07-30 14:11:42 +00:00
augustss d6a8a4f025 Don't print chip name in attach, the ad1848 attach already does. 1998-07-29 11:39:25 +00:00
augustss 20f454ae1c KNFify. 1998-07-28 20:58:39 +00:00
is a374ab61d8 ic/i82595reg.h 1998-07-28 16:02:34 +00:00
is 4fb93c48ec Remove dead code. 1998-07-28 14:44:46 +00:00
augustss daed8d7ce1 Fix obsolete code in waiting for calibration on the ad1848.
(Sigh, the ad1848 driver should be rewritten.)
1998-07-28 12:13:34 +00:00
thorpej e3eed5f706 Fix cfattach naming botch. 1998-07-27 18:27:36 +00:00
thorpej 0f7ec45c46 Add CS8900 Ethernet driver, and ISA front-end. 1998-07-27 01:22:41 +00:00
thorpej e9128957a6 ISA front-end for CS8900 driver. 1998-07-27 01:20:43 +00:00
thorpej f68dfbe928 Sigh, make this work with the i386 bus_space functions (which have debugging
glue in them, and thus subtle syntax quirks).
1998-07-27 01:20:19 +00:00
thorpej 2d588abad8 Split up the Shark CS8900 driver into front-ends and core back-end (which
is here, since the chip can only live on an ISA bus; only the autoconfig
glue is different).
1998-07-27 01:08:51 +00:00
thorpej 930937fd49 Define the CS8900 memory size, and macros to test for valid memory
base and IRQ.
1998-07-25 00:41:47 +00:00
drochner 658e297dd6 Initialize the new "dispoffset" (but don't use it for anything fancy). 1998-07-24 16:22:51 +00:00
sommerfe 8ba3494f9a Deal with new pool code's changed API by rewriting this to not use pools.
Instead, use a manually maintained freelist in a second tailq.
Uses less data space, looks more symmetrical.
1998-07-24 03:29:29 +00:00
thorpej 8d611b5f32 Remember the product ID and revision. 1998-07-23 19:25:52 +00:00
thorpej d2bc077edb G/c a now unsed config flag. 1998-07-23 19:03:11 +00:00
drochner c4c3297772 update comment ("John F. Woods" <jfw@funhouse.com>, PR kern/5798) 1998-07-23 16:39:24 +00:00
thorpej 02ad0b4eda Add support for ifmedia. 1998-07-21 22:58:31 +00:00
thorpej d3882c1b56 Define autonegotiation bits. 1998-07-21 22:27:33 +00:00
thorpej 3db796d287 Define a couple more of the PacketPage registers. 1998-07-21 22:04:13 +00:00
thorpej 88a0132aec Correct the name of the CS8920M id, and fix some whitespace lossage. 1998-07-21 19:54:19 +00:00
drochner 49bb9d8214 adapt to LANCE driver split 1998-07-21 17:36:01 +00:00
mycroft 3780fa036e Add RCS IDs. 1998-07-21 07:48:36 +00:00
thorpej 0611893e60 Move the cs8900 driver's softc, etc. definitions to an MI location. 1998-07-21 01:04:01 +00:00
thorpej 0987caaee6 G/c unused definition. 1998-07-21 00:39:21 +00:00
thorpej a083bc2950 Split the CS8900 register description from the SHARK-specific header file,
and place it here.
1998-07-21 00:07:33 +00:00
mycroft 3158aca613 Fix the name of the ulinear_be mode. 1998-07-09 02:26:55 +00:00
thorpej 1b5fbe0b89 DRQ 4 is used to chain the two 8237s together. Make sure it's always
cascaded and that it will be unmasked when DMA is thawed after being
frozen.  (This also has the effect of making sure that no device ever
erroneously gets DRQ 4.)
1998-07-08 05:23:23 +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
jonathan 466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
mycroft b4d0730191 Cosmetic change. 1998-07-02 14:39:51 +00:00
mycroft 85cca39e28 Add a monitor mute. 1998-06-30 16:54:52 +00:00
mycroft 792ea056b9 Nuke unused variable. 1998-06-30 08:27:39 +00:00
mycroft fae3bf0887 Add a monitor mute. The mixer here really needs more work for the
Crystal chips.
1998-06-30 08:24:56 +00:00
mycroft 3858cce05c Recognize the CS4236B (although we don't yet use any of the extensions). 1998-06-30 07:45:22 +00:00
thorpej ad9b5bf5f0 Interrupt share type is EDGE. 1998-06-29 22:42:09 +00:00
thorpej 3be1ffe6a0 When hooking up the interrupt handler, use an interrupt share type
specified by the front-end.
1998-06-29 22:40:56 +00:00
augustss 080dc567e8 A first stab at an ESS1887 driver. The code is from the SHARK port
and needs a lot of polishing.  The code compiles (on i386), but is
untested.  See ess.c for a TODO list.
1998-06-29 20:56:21 +00:00
thorpej ad3073beaf Add an additional ISA DMA mode: LOOPDEMAND. This is for devices, such
as the Shark's CS8900 Ethernet, which want to use the DMA controller in
this mode (as opposed to single mode).

[Editor's note: committed from a Shark using a new bus_dma back-end
 and a CS8900 driver converted to use the MI code :-]
1998-06-28 06:59:35 +00:00
drochner 91d0d98450 adapt to wsdisplay interface change 1998-06-26 21:07:03 +00:00
thorpej e997d4ac60 When writing packets to transmit buffers, do unaligned buffer fixups,
more-or-less lifted from the Shark CS8900 driver.
1998-06-25 19:21:03 +00:00
thorpej ab5b45577b Don't panic if a DRQ is already allocated. Instead, just return EAGAIN
to indicate that the resource is unavailable.
1998-06-25 19:18:05 +00:00
jonathan 0e1a83adc3 * Add defopt MCD_PROMISC for more conservative probes.
Before, the probe routine (mcd_find() would succeed even if the probe
  code thought it had a response,  but didn't recognize the ID-code byte.
  Now, only do the promiscuous match if  MCD_PROMISC is configured.
1998-06-23 03:26:18 +00:00
augustss 41af9f2ec7 Make PAS driver work again. From "John F. Woods" <jfw@jfwhome.funhouse.com>. 1998-06-22 17:21:34 +00:00
drochner 6c7fabb232 adapt to wscons interface change 1998-06-21 09:51:59 +00:00
augustss 1f8eca312d Remove a bunch of totally unnecessary #include <machine/pio.h>
left over from the olden days.
1998-06-17 08:17:25 +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
drochner 08f2cdd7c4 clean up vga_isa_match() - always return "2" on success to make the
driver win over "pcdisplay"
1998-06-12 18:45:48 +00:00
leo d30382ffb4 Don't call isa_dmainit() when NISADMA == 0. 1998-06-11 08:29:33 +00:00
thorpej 5bc2217a49 Nuke __BROKEN_INDIRECT_CONFIG. 1998-06-09 07:24:55 +00:00
thorpej 680a3d77f4 Add isa_dma{freeze,thaw}(), used to temporarily stop and then restart
all ISA DMA.  Needed by e.g. the SmartCard reader for Sharks.
1998-06-09 01:04:17 +00:00
thorpej 5f97398507 Adjust for changes to the ISA DMA API. 1998-06-09 00:05:44 +00:00
thorpej ff76b8e96b Change the ISA DMA API to take an isa_chipset_tag_t rather than
a struct device * corresponding to the ISA bus device.  The ISA DMA
controller driver functions have been renamed and now take a struct
isa_dma_state *, and are called indirectly by machine-dependent code
which provides the DMA state.

These changes allow e.g. `ofisa' (the OpenFirmware configuration
mechanism for the ISA bus, used by e.g. Sharks) to use the MI ISA
DMA controller code.
1998-06-09 00:00:21 +00:00
pk 914f235803 Fix the obvious bogons reported in PR#5552.
The problem in the memory size probe is still pending.
1998-06-08 12:19:46 +00:00
sommerfe 2b00a47b9e Add ISAPnP attachment for PCMCIA bus controller; reorganize ISA
attachment to let it share code with PnP attachment.
1998-06-07 18:28:31 +00:00
augustss 68e0540ee9 Add an Aria sound driver.
From "R. C. Dowdeswell" <elric@imrryr.org>.
1998-06-06 10:12:34 +00:00
drochner 196bb746eb Add a graphics device driver for wscons which supports legacy PC display
adapters. (minimal functionality - no virtual screens, no colors)
1998-05-28 16:51:50 +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
leo 7b4e205670 Use stream methods (when available) to read/write the card memory. 1998-05-25 10:36:51 +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
augustss aa04459121 KNF. 1998-05-21 19:17:50 +00:00
augustss 0b9ec50365 Add a newline.
KNF.
1998-05-21 19:09:28 +00:00
augustss 74545baf39 Add a Yamaha OPL3-SA3 driver and clean up all AD1848 drivers.
Submitted by Constantine Sapuntzakis <csapuntz@reeducation-labor.lcs.mit.edu>
and originally written for OpenBSD.
1998-05-20 16:19:41 +00:00
drochner da5b8105bd Remove BROKEN_INDIRECT_CONFIG relicts. 1998-05-05 21:41:18 +00:00
drochner 85c0eea04e Suppress the diagnostic printout if the keyboard controller has no
mouse port.
1998-05-03 12:04:53 +00:00
drochner ed1653232b If the keyboard is console device, use the command byte as set by
the console initialization code.
1998-05-03 11:54:38 +00:00
drochner e47f63efe6 Make some diagnostic output "#ifdef PCKBCDEBUG". 1998-05-03 10:02:11 +00:00
thorpej 28454023cc Add a comment about some future work. 1998-04-28 19:13:24 +00:00
drochner d58832579d Fix botched DMA tag initialization. 1998-04-18 10:26:56 +00:00
drochner a099e8dda5 Initialize the command byte and its shadow register in early console
setup so that the keykoard driver can deal with scancode translation
in its console initialization function.
1998-04-18 09:42:20 +00:00
drochner 30654f3e89 Split out from if_le_isa.c - this card is quite different.
The driver is known not to work (timeout on send attempts).
1998-04-16 18:00:14 +00:00
drochner 02157092d4 Make the ISA LANCE drivers work without BROKEN_INDIRECT_CONFIG.
DEPCA is now split out into a separate driver.
Because there can be only one attachment of a device to a bus, for
each card type a separate pseudo-bus was introduced which attaches to "isa"
and where "le" attaches to.
1998-04-16 17:51:46 +00:00
drochner 0c199c88be add MI ISA VGA and the speaker driver 1998-04-15 20:26:53 +00:00
drochner 2c823077d7 MI driver for the ISA speaker, and the IBM BASIC playstring interpreter
which has so many fans.
1998-04-15 20:26:18 +00:00
thorpej 334ef5a59c Fixup RCS IDs. 1998-04-15 01:45:43 +00:00
thorpej 8c1b46c2f5 Remove the `delay port' stuff since nothing uses it anymore (can't reliably
use it on modern chipsets).
1998-04-15 01:44:23 +00:00
drochner 2eea6bd8a4 We can't trust the "delay port" anymore - it doesn't work as expected on
newer chipsets. Use delay() instead.
Being here, remove BROKEN_INDIRECT_CONFIG.
1998-04-07 16:23:19 +00:00
drochner 11da32b13c Clean up diagnostic printouts.
Being here, remove BROKEN_INDIRECT_CONFIG.
1998-04-07 15:57:48 +00:00
enami 848e8406bc The fe driver is spilt into ate, fmv and mbe, and this file is no longer
necessary.
1998-04-03 04:46:46 +00:00
enami 910e6420e0 Delete entry for fe*. 1998-04-03 04:44:39 +00:00
mycroft 5d8b98c7b1 Use a 4-bit table to speed up the CRC even further, without increasing the
code size too much.
1998-03-29 23:02:27 +00:00
augustss dbef68a11b Update for __BROKEN_INDIRECT_CONFIG. Still untested since it is so hard
to find testers for these old cards.
1998-03-23 01:00:21 +00:00
drochner 3c346a45ca The keyboard controller's address range is 5 bytes long - reflect this
here.
1998-03-22 15:44:02 +00:00
drochner b5ec34f082 MI driver for the infamous PC keyboard controller, primarily for use with
the new wscons code (but may be interfaced with other drivers as well).
needs testing
1998-03-22 15:25:15 +00:00
drochner 065733619a ISA frontend for sys/dev/ic/vga.c 1998-03-22 15:14:35 +00:00
drochner 52c701add6 Make this file compile without BROKRN_INDIRECT_CONFIG.
(Brute force - device probe always returns 0. Should be fixed soon.)
1998-03-22 12:50:20 +00:00
drochner 5aaf839bc3 Make this file compile without BROKRN_INDIRECT_CONFIG.
(Brute force - device probe always returns 0. The driver is replaced
by if_ate, if_fmc and if_mbe and is here for reference only.)
1998-03-22 12:48:41 +00:00
enami e26f2ce65b Define new device `ate' and `fmv'. 1998-03-22 04:38:42 +00:00
enami 2b5f7351d2 Split Fujitsu MB9696x based ethernet card driver into bus
dependent/independent code and bus.h'fied.
1998-03-22 04:25:36 +00:00
cgd 85687409e1 don't forget to set dma_arg, when using DMA functions. also, minor
spacing bogon cleanup.  Pointed out by Kazuki Sakamoto in PR 5157.
1998-03-13 16:50:07 +00:00
augustss 09f43c63cf Update probing for GUS a little. From soren@t.dk,
closes PR kern/5148.
1998-03-12 12:28:50 +00:00
augustss d644f9b973 Apply cs4236 fix from rh@vip.at. Closes PR 5143. 1998-03-11 09:26:05 +00:00
mikel a57a8d66ff let panic() call DDB, don't do it ourselves; from Nathan Williams in PR 5131 1998-03-09 06:32:51 +00:00
augustss 775d60ecd7 Use lower case "agc" for consistency. 1998-03-04 19:38:28 +00:00
pk 5ac38e9b53 Re-arrange several functions so we no longer need __BROKEN_INDIRECT_CONFIG
semantics.
1998-03-03 20:51:20 +00:00
pk 5513bc639f Cheesily work-around reliance on __BROKEN_INDIRECT_CONFIG; should we
bother trying to find the board's memory size in the match routine at all?
1998-03-03 20:50:06 +00:00
pk d8bb682673 drop `ef_softc' from ef_match function. 1998-03-02 23:12:18 +00:00
pk 1fe6513796 Remove extraneous `$Id$' lines. 1998-02-28 20:43:28 +00:00
pk c0e247427a This driver is replaced by three i82586 front-end drivers: `ix', `ef' and `ai'. 1998-02-28 20:42:43 +00:00
pk 9698950530 * Remove `_NEW_I82586'.
* KNF.
* erase ghost spaces and tabs.
1998-02-28 01:14:15 +00:00
pk a3a9cbc8c5 Replace the `ie' driver by three separate front-ends: `ix', `ef' and `ai'. 1998-02-27 23:54:16 +00:00
pk 22a8b1ae89 AT&T/StarLan i82586 front-end driver from Rafal Boni. 1998-02-27 23:52:34 +00:00
pk 82153cc305 3Com/3C507 i82586 front-end driver from Rafal Boni. 1998-02-27 23:51:52 +00:00
pk 9bb4839afd EtherExpress/16 i82586 front-end driver from Rafal Boni. 1998-02-27 23:50:51 +00:00
cgd ccfe537e97 don't include <machine/pio.h>. It's unneeded here now (this code
uses the bus_space_* interfaces), and therefore unwanted.
1998-02-24 02:12:09 +00:00
drochner 49c1580874 -make compile without BROKEN_INDIRECT_CONFIG
-don't include <machine/pio.h>
1998-02-23 14:12:18 +00:00
cgd a7f7004e33 include an MD header if arm32. (No header yet, but there will be
one eventually.)
1998-02-17 18:27:10 +00:00
thorpej 4399060ec9 - Perform all necessary bus_dmamap_sync() operations.
- Greatly simplify allocation and DMA mapping of the mailbox and ccbs.
- Be more robust against resource shortage errors, and report errors better.
1998-02-17 03:02:30 +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
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 a7c5c1ef3c Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC to
BUS_DMA_COHERENT.
1998-02-04 00:32:55 +00:00
is 77b3a5be15 Put a debugging printf inside #ifdef IYDEBUG ... #endif. 1998-02-03 16:22:01 +00:00
christos 1caaa1f520 PR/4883: Andreas Wrede: Check for wildcard mem address not io ports. 1998-01-31 11:23:35 +00:00
bouyer d411251c64 Fix for the vibra16x from Lennart Augusts: saying that the dsp4.16 was
a SB64 was just a guess. The vibra16x is really a sb16.
1998-01-30 11:55:36 +00:00
augustss 6f6593a533 Fix initialization and timing problem.
As per misc/4902, from Clifford Wright <cliff@snipe444.org>.
1998-01-30 02:02:38 +00:00
thorpej 2538ed1062 Use offsetof() from libkern.h 1998-01-28 02:23:04 +00:00
drochner 6f8773dd64 I'm not responsible for this address window splitting hack, but I fix it
anyway.
1998-01-27 19:14:18 +00:00
thorpej 243c218061 Update copyright. 1998-01-26 20:30:06 +00:00
thorpej 044add4253 If we're using these devices on a big-endian CPU, byte swap the "count"
field in the dp8390's packet header (because the dp8390 runs in little-endian
mode in these cases).  Inspired by an e-mail from Kazuki Sakamoto.
1998-01-26 19:21:36 +00:00
mycroft e8cf0c444c Make sure we create DMA maps if the CD4231 probe fails. 1998-01-25 23:48:06 +00:00
mycroft 4ed268e9ac Print a newline in wdc_isa_attach(). 1998-01-23 01:04:54 +00:00
mycroft 33c197e736 Half the include files are unnecessary. 1998-01-22 23:42:39 +00:00
cgd a014b499f1 add definitions for the mask registers. fix I/O size definitions. 1998-01-22 00:57:10 +00:00
drochner f874e95e8a make compile without BROKEN_INDIRECT_CONFIG,
fix obvious brokeness in port offset calculation
(untested)
1998-01-20 13:08:33 +00:00
augustss 59d2219410 Split out the ISA part of the WSS driver to allow PnP attachment.
Make the AD1848 driver a little more readable with some macros.
1998-01-19 22:18:23 +00:00
cgd 9d3aef5632 Put each of two labels one line to early. That could cause a panic,
if the wdc space couldn't be mapped.  Pointed out by fvdl@netbsd.org.
1998-01-17 00:40:45 +00:00
cgd aa872229e1 fix typo in comment that i just added 1998-01-15 00:35:38 +00:00
cgd aaede4d8d8 Various cleanups and bug fixes to the wdc/wd code:
* Fix bug in wdc that would overflow ATAPI transfer length.
* Improve wdc probe code so that 'wdc' is probed in if present
  even if there are no drives attached, and so that it works
  properly even if the only device is an ATAPI slave.
* bus_space-ify.
* split the ISA attachment from the wdc driver, and remove
  ISA dependencies from non-ISA files.
* claim that wd and wdc are now machine-independent (probably not
  completely true, but mostly so; they at least work on arm32 and
  i386).
* Various other minor fixups and cleanups, some of which were pointed
  out by Kazuki Sakamoto.
1998-01-14 23:41:59 +00:00
cgd ad141a69a7 Shuffle wd/wdc driver files around (via repository copies). wdc
now lives in dev/ic, wd now lives in dev/ata.  there's now a 'ata'
interface attribute defined in conf/files, but wdc can't go there
yet because some ports still use private versions based on the old
ISA version.
1998-01-14 23:36:30 +00:00
drochner 6dbf9b31d3 "device" structure is not used in probe anymore 1998-01-14 12:17:14 +00:00
drochner 4429cca488 make it compile without BROKEN_INDIRECT_CONFIG 1998-01-14 12:14:41 +00:00
drochner 13463145fe make it compile without BROKEN_INDIRECT_CONFIG 1998-01-13 19:33:28 +00:00
thorpej ebb84c5792 Fix a typo in previous. 1998-01-13 06:13:29 +00:00
enami 99a9d7a632 Don't include <machine/pio.h>. Include <machine/bus.h> explicitly. 1998-01-13 03:34:32 +00:00