Commit Graph

1518 Commits

Author SHA1 Message Date
augustss 7972a062b0 Make the OPL driver attach directly to ISA as well. 1998-08-26 13:33:59 +00:00
augustss 8d64ea1683 Less debug printing. 1998-08-26 13:08:44 +00:00
augustss bb3c56652c Make the OPL driver turn on the sound on sound cards that require it.
That makes it much more likely that we get any sound.  DUH!
1998-08-26 12:10:22 +00:00
pk 2ffb54bdcc Split the AD1848 driver into MI (dev/ic/ad1848.c) and ISA parts. 1998-08-25 22:34:29 +00:00
augustss a48f7d8a24 Attach the OPL FM synth to the ESS driver.
It probes, but alas, no sound.
1998-08-25 12:52:47 +00:00
augustss c7e036f6e2 Let opl attach to ess.
WARNING: it doesn't work yet.
1998-08-22 22:55:09 +00:00
augustss 915f1fe566 Add missing __P 1998-08-20 10:46:10 +00:00
augustss 0e6f209f9d Add forgotten OPL file. 1998-08-18 17:56:39 +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
mycroft d07b3639a4 Assign my copyrights to TNF. 1998-08-15 17:47:15 +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 129cbf95ee Minor edit. 1998-08-15 05:16:41 +00:00
mycroft b2827b9d36 Assign copyright to TNF. 1998-08-15 04:16:55 +00:00
mycroft df9baf2311 Assign copyrights to TNF. 1998-08-15 03:51:30 +00:00
mycroft 6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
mycroft 183442fe73 Emulate ulinear_be using slinear_be on later chips. 1998-08-14 00:49:23 +00:00
kim f750a7d47e device ess was listed twice 1998-08-13 04:53:18 +00:00
eeh a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
augustss 58e0098fef Shut up after close(). 1998-08-12 21:36:21 +00:00
mycroft 5c76b6a944 The mic preamp is really a property of the input stage, and affects both
pass-through and recording.
1998-08-12 19:13:14 +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
augustss fa39959a5e Add a MIDI driver for the PC speaker. This is mostly of hack value,
but, hey, lotsa people got a MIDI device now!  (A truly pitiful one. :-)
1998-08-12 18:16:36 +00:00
augustss 881b4053a6 Remove some white space. 1998-08-12 18:15:04 +00:00
mycroft 3979b06d00 enhanced -> preamp 1998-08-12 03:18:34 +00:00
matthias 1f5c14d8ef ess_audio_channel:active is now used even when DIAGNOSTICS is not defined. 1998-08-11 12:16:22 +00:00
mycroft a6e73a5576 Actually set all the logical filter bits. Doh! 1998-08-11 05:57:40 +00:00
mycroft 271d3df6f3 Fix an obvious bug that caused the multicast filter to always be all 0s. 1998-08-11 04:18:25 +00:00
matt 8ba8e2056b Remove unused field (sc_ih) in ess_softc (interrupt handlers are kept
in a per-direction structure).
1998-08-10 20:24:26 +00:00
augustss b034eb97bf Fix typo. 1998-08-10 20:02:48 +00:00
mycroft 7fca135b1b Use the new trigger interface. 1998-08-10 15:32:18 +00:00
mycroft 060f81eb62 Minor change. 1998-08-10 02:19:18 +00:00
mycroft 93703857ca Slow down, Wilbur. 1998-08-10 02:13:44 +00:00
mycroft 7514d511f7 Fix a typo I introduced in the MIDI code. 1998-08-10 02:12:30 +00:00
mycroft 8d77cae1b4 For models prior to the SB16, there is only one clock divider, so couple the
sample rates.  However, only do this if both play and record are being used
simultaneously; otherwise we can't play 22KHz on the SB1.
1998-08-10 01:25:33 +00:00
mycroft 3dcff6581b Use the new trigger_{in,out}put interface.
Also, even on the SB1, we can leave the DMA controller in auto-initalize
mode and just send a command to the board for each block.  This may help
prevent FIFO underruns.
1998-08-10 00:20:39 +00:00
mycroft b4e0bf5dfb Use 4- and 8-byte DMA transfers. 1998-08-09 06:52:57 +00:00
mycroft 0611fc34f8 Don't actually touch the hardware in set_params; defer that until we actually
start a transfer.  Instead, just check that the parameters are valid.
Also, use 16-bit output for u-law and a-law.
1998-08-09 06:38:30 +00:00
mycroft 5eba82397c Oops; fix typo. 1998-08-09 04:59:55 +00:00
mycroft 017b9af5fe Clarify with a specific reference to the manual page in question. 1998-08-09 04:58:08 +00:00
mycroft 12f5a41e1f Make the previous slightly more robust, and set AUDIO_PROP_INDEPENDENT. 1998-08-09 04:40:55 +00:00
mycroft c8532af3b2 Make sure the sample rate is the same on both channels, tracking the change
from one channel to the other if only one is active.
1998-08-09 04:14:47 +00:00
mycroft 759ca5ee0c The manual says to use the other crystal for 22050Hz. 1998-08-09 03:48:42 +00:00
mycroft 565adbaffb Set the FIFO control bits correctly so that stereo recording works. 1998-08-09 02:54:50 +00:00
mycroft 80457a2c65 Use auto-initialize DMA for recording. 1998-08-09 02:05:52 +00:00
mycroft e2686d0a1b Use splnet, not splimp. 1998-08-08 23:51:39 +00:00
mycroft c49235f44c Use splnet(), not splimp(). 1998-08-08 23:44:12 +00:00
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
drochner 72852bbaec make it compile without BROKEN_INDIRECT_CONFIG 1998-01-12 20:48:17 +00:00
thorpej 06ce220790 Update for config changes. 1998-01-12 09:39:57 +00:00
thorpej 925ce7706e ast, boca, and rtfps are not ttys, but rather "busses". Similarly,
the lpt doesn't export a tty-like interface, so it's dull, too.
1998-01-12 09:29:37 +00:00
mikel c0d8293951 fix some typos in error messages & comments 1998-01-07 08:47:54 +00:00
perry fff05a68ab RCSID Police. 1998-01-05 07:31:05 +00:00
fvdl ffb3eaa5ea Add extra delay after wdcreset() call in wdcprobe. Needed by at least
one controller, where registers otherwise will still be inaccesible
(even though the busy bit has been reset), making the probe fail.
1997-12-24 02:01:00 +00:00
mycroft 187df9b86e Set the gain to 1/2 by default; 3/4 is too loud and can damage headphones and
speakers.
1997-12-02 13:17:39 +00:00
bouyer 2f8f801256 The iy driver now uses if_media (it was the last one, at last for i386, to use
the historical link? flags for media select)
XXX No pullup request for this. But if sysinst supports explicit media
XXX selection in 1.3, this should be in 1.3 as well.
1997-12-02 09:34:03 +00:00
christos 4e3168d176 Make this work again. KNF. 1997-11-30 20:03:15 +00:00
drochner 123570c713 fix inconsistent declaration in non-"__BROKEN_INDIRECT_CONFIG" case 1997-11-30 15:32:25 +00:00
drochner 805c7b6bc0 make it compile without "__BROKEN_INDIRECT_CONFIG" 1997-11-30 15:31:23 +00:00
drochner 4da2344b18 fix inconsistent declaration in non-"__BROKEN_INDIRECT_CONFIG" case 1997-11-30 15:24:59 +00:00
drochner c7e3c24d53 make it compile without "__BROKEN_INDIRECT_CONFIG" 1997-11-30 15:18:58 +00:00
bouyer ff936c230e Move the we driver at the begining of ethernet board, other board's probe
clobbers my SMC. Now I can really use a generic kernel with my SMC @0x300.
This change has been tested on various machines with ne2000 and 3c509 baords.
XXX All these probes sould be reordered after the release, with invasive
XXX probes at the end.
1997-11-21 13:25:14 +00:00
bouyer 2f9552c068 Bussify the I/O part of this driver, so that the invasive probe will
not clobbers config of already-found boards.
1997-11-21 10:27:45 +00:00
bouyer 66f0746d98 The if_ie probe is invasive in such a way that it can clobber other's board
config. Now that this driver is bussified, move it last in the ethernet
adapter list.
1997-11-21 10:09:42 +00:00
thorpej 639dc38fd4 Rewrite lc_isa_probe() to not scan i/o space for LEMAC cards, but rather
to look specifically at the address it was provided *only*, since the
scan isn't safe (it can stomp on cards that will be probed later, like
NE2000 clones).
1997-11-17 03:34:24 +00:00
augustss dd95190002 XXX Workaround for ViBRA cards with two 8 bit DMA channels. 1997-11-12 20:28:42 +00:00
fvdl db0d6c4018 Add missing ; 1997-11-11 22:43:51 +00:00
thorpej ec43979ba3 Properly determine the default media on '790-based cards. 1997-11-08 06:13:53 +00:00
enami 140159fa85 Add the missing attribute `dp8390nic' for the device `we'. 1997-11-07 13:08:23 +00:00
bouyer f7c6e141e6 Various bug fixes for atapi part:
- clean up debug code
- Don't check ATAPI signature when probing ATA drives, ATAPI devices were
  detected before
- Reset controller after disks probes. The probe, with some combinations of
  ATA/ATAPI device keep it in a mostly working, but strange state (with busy
  led on)
- The WDCF_IRQ_WAIT flag is now cleared by wdc_ata_intr and wdc_atapi_intr
  when appropriate (helps recover from failure conditions)
- In wdcunwedge, send ATAPI_SOFT_RESET to non-ata drives
  (helps recover from failure conditions)
- in wdctimeout be a bit more verbose when we missed an interrupt
- Always Increment xfer->c_skip where it should be
- Set the ITSDONE flag when a polled command completed.
1997-11-05 22:19:07 +00:00
thorpej 8fc6835062 The bus width probe doesn't always work properly, producing a false positive
for 12-bit addresses.  This causes PCMCIA cards mapped at 0x400 and higher
to not function properly.  However, the range 0x300-0x3ff causes some
laptops (e.g. the NEC Versa 6030X) to hang if cards are mapped there.

So, after some experimentation, we compromise.  If the probe discovers
a 12-bit address bus, don't trust it.  Instead, use the range 0x330-0x3ff.
This has been shown to work on the laptops that the 0x300-0x3ff range is
known to fail on.
1997-11-05 21:41:36 +00:00
thorpej 6568739901 Add an ISA front-end to the SMC91cxx Ethernet driver ("sm"). This
supports generic SMC91cxx-based ISA cards and the built-in SMC
Ethernet found in some laptop docking stations.

Thanks much to Andrew Gillham <gillhaa@ghost.whirlpool.com> for
making this work!
1997-11-05 06:06:07 +00:00
thorpej 03a0c2d900 Implement a simple queueing mechanism that makes these drivers much
more robust in resource shortage situations, basically identical to
code I added to the "ahc" driver some time ago.

Thanks to Brad Spencer for the testing help.
1997-11-04 05:58:22 +00:00
thorpej d64e10645f Add "we" driver, remove "ed" driver. 1997-11-03 21:29:19 +00:00
thorpej ae4498b7bf This driver is now obsolete. 1997-11-03 21:28:49 +00:00
thorpej 60c2342028 Add a front-end to the MI dp8390 driver for the Western Digital/SMC 80x3
family, SMC Elite Ultra family, and SMC EtherEZ family of Ethernet cards.

This front-end completes the split of the ISA "ed" driver.
1997-11-03 21:22:50 +00:00
thorpej 892b0c409e Fix a slight brain lapse. 1997-11-02 05:17:32 +00:00
thorpej 2497f4a8da Garbage-collect the 3Com 3c503 support from the "ed" driver. The ISA "ec"
driver now handles the 3c503.
1997-11-02 00:57:24 +00:00
thorpej a945a24322 Front-end to the dp8390 chip driver for the 3Com 3c503 Ethernet interface.
Supports changing media with ifconfig's "media" directive.

This splits the 3c503 functionality out of the ISA "ed" driver, much the
same way NE2000 support was split out.
1997-11-02 00:44:25 +00:00
thorpej 5322570d8a - Move all of the configurable parameters (alloc_iobase, alloc_iosize,
intr_alloc_mask) into one place, comment them, and defopt them.
- Rename pcic_intr_alloc_mask to pcic_isa_intr_alloc_mask, since it's
  an ISA-specific thing.
- When allocating/establishing the PCIC's interrupt (for card events),
  do error checking, and pay attention to the intr_alloc_mask.
1997-10-29 22:48:43 +00:00
thorpej c733020f4b Take IRQ 10 out of the default IRQ allocation mask. That IRQ is reserved
for the built-in SCSI on NEC Versa docking stations, and if a card
allocates that IRQ, it will never get interrupts.  This caused the
default kernel to not work on these laptops, as IRQ 10 was often the
first free IRQ.
1997-10-29 21:33:16 +00:00
thorpej 87ca153bb5 When creating ccbs, be a little more informative about why we couldn't
should creation/initialization of a ccb fail.  Also, don't panic in
these situations.  Instead, simply return an error condition and allow
the caller to deal with it.  It may be the case that we were able to
create one ccb what we can grab, and continue to hobble along.

Also, fix the scb freelist fencepost, like the aha/bha/uha drivers.
1997-10-29 00:30:00 +00:00
bouyer 917389821c Changes to the probe and attach routine:
- at end of attach, explicitely select an existing drive. This fixes hangs
  some users reported (such as the one reported in port-i386/4247).
- Some atapi cdrom drives (e.g. Nec 24x) don't enables their registers before
  a controller reset is issued. The controller probe routine is changed as
  follow: issue a controller reset. If fail, test atapi signature on slave.
  If fail, wait 5s and retry a reset. If the second reset fail, return(0).
  If the first reset succeed, test presence of a master drive:
  atapi signature, and if this fail RO/RW registers test. If no master, test
  atapi signature on slave. If no slave, return 0.
1997-10-27 14:09:23 +00:00
thorpej 37919a04d9 Moved to src/sys/dev/ic/i82365.c via repository copy. 1997-10-20 20:24:17 +00:00
thorpej 5c6445bc0d Don't panic if we fail to remap i/o or mem space in the attach function.
Instead, print a diagnostic and return.  (Some drivers do this already.)

Also, normalize the diagnostic message, and fix some places where the
printfs were getting ugly.
1997-10-20 18:43:03 +00:00
fvdl d82bb1870c Make sure to unmap bus space when a successful probe is done, to prevent
a panic when the attach code does the map again. PR 4302, from
Anders Hjalmarsson.
1997-10-20 13:46:53 +00:00
thorpej 29500b20c0 Make sure the i/o and/or mem addresses aren't wildcarded (i.e. -1) before
using the address in a bus_space_map() call.
1997-10-19 18:56:39 +00:00
enami fe0c14e139 Fix typo; hang binary operator at the end of previous line. 1997-10-19 14:10:11 +00:00
enami 5c1050e68f Include locators.h and use symbolic name comes from it. 1997-10-19 14:07:19 +00:00
thorpej 17e98700bd Use symbolic names for default locator values. 1997-10-19 09:05:04 +00:00
augustss e7029fc0da Make the audio API (almost) SunOS compatible.
The changes is to allow some limited mixer manipulation through
the audio device (instead of the mixer device).
This rendered 4 methods in audio_hw_if unused so garbage collect these.
1997-10-19 07:41:33 +00:00
drochner 83d255de83 This driver can't handle wildcarded iobase.
(This is really a config file error.)
1997-10-18 14:09:52 +00:00
enami 801620373d Define width_names[] only when PCICDEBUG is defined. 1997-10-17 09:37:12 +00:00
enami 4eef29b72f No need to cast a generic pointer. 1997-10-17 07:59:39 +00:00
augustss b2004a534c Make sure the 'input' class is used even for the 1345 mixer. 1997-10-16 23:34:57 +00:00
thorpej 5345a8bef9 Pull marc-pcmcia branch down to trunk. 1997-10-16 23:21:46 +00:00
thorpej befea59210 Pull marc-pcmcia branch down to trunk. 1997-10-16 23:21:41 +00:00
enami 735b77fa73 Create new structure aic_isa_softc and hold interrupt handler in it. 1997-10-16 22:55:34 +00:00
matt 9d865fc8f0 Fix a misspelling of slave in a comment. 1997-10-16 15:16:34 +00:00
thorpej a35a2a56e4 Garbage-collect "com" device declaration. 1997-10-16 00:47:23 +00:00
thorpej bc6479768b Adjust for the new "com" driver home. 1997-10-16 00:29:28 +00:00