Commit Graph

1437 Commits

Author SHA1 Message Date
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
thorpej
dfba65768d Moved by repository copy magick to sys/dev/ic. 1997-10-16 00:18:54 +00:00
thorpej
9ba1ceb091 Pulldown from marc-pcmcia branch. 1997-10-15 22:00:10 +00:00
matt
2e1df18229 Cleanup ISA probe code. Don't collect info first. Just do the probe. 1997-10-15 21:26:51 +00:00
thorpej
2939780605 Garbage-collect some old i386 console stuff that is no longer used, and
add a comment about something to be fixed later.
1997-10-15 21:13:36 +00:00
explorer
f9370ddc7a Add and/or update rnd_*() hooks 1997-10-15 05:55:13 +00:00
thorpej
62e78a5174 Correct a comment. 1997-10-14 23:06:30 +00:00
thorpej
ec0566e1f8 Pulldown from marc-pcmcia branch: garbage-collect NE2000 support from
this file.  The "ne" driver is now used, instead.
1997-10-14 23:04:19 +00:00
thorpej
4dee791caf Pulldown from marc-pcmcia branch: ISA front-end for "ne" driver. 1997-10-14 23:01:10 +00:00
thorpej
10708da893 Pull down from marc-pcmcia branch:
Minor tweaks to deal with PCMCIA differences, and support for power
management.
1997-10-14 21:28:37 +00:00
is
59129515bb Finalize the isa/lpt.c split:
The isa attachment code is in isa/lpt_isa.c now, which attaches to the
already created ic/lpt* files.
You don't need to change your config files, but you need to re-"config" if
using lpt at isa.
XXX The "lpt" device definition should be in sys/conf/files instead, but to
my knowledge, there are some ports which have private copies of lpt, and would
choke on that. No need to make people unhappy 7 days before release branching.
1997-10-14 15:50:15 +00:00
sakamoto
837124b35c add bebox 1997-10-14 07:15:45 +00:00
explorer
80513cb5ae o Make usage of /dev/random dependant on
pseudo-device   rnd                     # /dev/random and in-kernel generator
  in config files.

o Add declaration to all architectures.

o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
  that this code is derived in part from Ted Tyso's linux code.
1997-10-13 00:46:08 +00:00
mycroft
b551325998 AudioElinear -> AudioEslinear 1997-10-11 12:36:04 +00:00
mycroft
2d019e5efd AudioC[A-Z] -> AudioC[a-z] 1997-10-11 11:28:49 +00:00
explorer
b5feb41072 Add hooks to insert timing info into the random system 1997-10-10 01:09:03 +00:00
jtc
11a27a1132 Fix tipo inherited from old version of TNF copyright template. 1997-10-09 07:57:17 +00:00
thorpej
939e074dcc Implement DIOCGDEFLABEL. 1997-10-08 23:05:22 +00:00
augustss
d5ecfe9e6b Keep filter when setting source on SB Pro.
Close PR 2593.
1997-10-06 20:16:25 +00:00
christos
64ff55911c From Enami Tsugutomo: Busify and split the aic6360 driver. 1997-10-06 19:49:17 +00:00
thorpej
176a81b2c5 Copyright assigned to The NetBSD Foundation. 1997-10-05 18:37:01 +00:00
cjs
432b9f1831 Make this compile on alpha and, presumably, other non
_BROKEN_INDIRECT_CONFIG machines.
1997-10-03 07:32:50 +00:00
mikel
20cf0e1cc1 fix missing com_kgdb_attached() argdecl, from Michael C. Richardson in PR 4196 1997-10-03 06:11:35 +00:00
christos
a2512e8ec5 Add TIOCM{BI{C,S},{S,G}ET} from revision 1.98. As Charles says these
interfaces are slightly broken and should be obsoleted, but some programs
are using them and also they are useful for debugging.
1997-09-30 21:51:43 +00:00
mycroft
7b31453c6f Rearrange the initialization a bit so we have SCBs available in
wds_inquire_setup_information(), rather than faking it.
1997-09-26 04:00:09 +00:00
mycroft
1148723a5f Set sc_dmat. 1997-09-26 02:50:18 +00:00
bouyer
a2f2e87677 Return the rigth value in the interrupt handler. This change the semantic
of wdc_atapi_intr, so we check for ITSDONE rather than the return value for
a pooled command.
1997-09-24 17:00:55 +00:00
enami
82625dc61e Cosmetic Changes; make coding style closer to other part of this file.
(This version is identical with version 1.109 except whitespace changes.)
1997-09-19 01:17:37 +00:00
is
718fb97e11 Support for the upcoming NetBSD/Amiga Hypercom driver family:
* support chip clocks != COM_FREQ, by introducing sc_frequency (for the
  mainline code) and adding a frequency parameter right after the rate
  parameter to comcnattach() and com_kgdb_attach().
- Make com_isa and com_multi initialize sc_frequency to COM_FREQ.
- Make i386/machdep.c and alpha/dec_xxx.c call com*attach() with the freq.
  parameter.
* supio_attach_args get two more fields: a sc_ipl and a sc_arg, both ints.
- com_supio uses the first for interupt establishment (all childs will, as
  soon as they exist) and the 2nd for sc_frequency.
- drsupio passes sc_ipl alway as 5, and for the "com"s, sc_arg as 16*115200
- hyper will pass sc_ipl as 6, and sc_arg as 16 * 460800
1997-09-16 20:34:23 +00:00
augustss
1cdcb2d362 Get rid of `register'. 1997-09-14 09:03:33 +00:00
drochner
8f33476972 Make console on multiport cards more likely to work (obvious bug,
fix still untested).
Closes PR kern/4095 by enami tsugutomo.
1997-09-12 13:31:10 +00:00
augustss
78b5eb1f52 Create DMA maps on ordinary GUS (non-MAX) cards. Now it should work again. 1997-09-12 10:27:10 +00:00
mycroft
0310453204 The 501 uses 16 ports, and has a wider range of possible I/O address. 1997-09-10 05:40:23 +00:00
mycroft
03ac1f4a46 Oops. Fix a teensy error in the previous. 1997-09-10 03:31:31 +00:00
mycroft
7d0a127a3c If we select a 32k window on the DEPCA, make sure to switch to the lower 32k
chunk.
1997-09-10 03:05:39 +00:00
mycroft
fa0b187898 Make `hashkey' unsigned. 1997-09-09 18:56:15 +00:00
augustss
25baf39689 Change the way we determine what interrupt routine to use to make
it work when drq8 == drq16.
1997-09-09 00:57:10 +00:00
mycroft
9c76fe8e78 Recognize any of the memory configurations allowed by the EE16 setup program,
and a few more that I can't test.  Something is still wrong with the mapping of
16k boards, though.
1997-09-07 10:16:07 +00:00
augustss
4d51c802c6 Bus-ify GUS driver. 1997-09-06 14:31:34 +00:00
augustss
25b465a80c Bus-ify the GUS driver. 1997-09-06 14:23:13 +00:00
thorpej
7e062e8a4e Enable use of bus_dmamem_mmap(). 1997-09-05 01:48:33 +00:00
thorpej
8a24374ad3 Convert this driver to use bus_dma. 1997-09-04 03:39:09 +00:00
bouyer
702b60b0c1 Add a map to wdc_softc to track the already known devices to prevent them to
be probed several times. This fixes the "ATAPI CD probed as wd drive" problem.
Thanks to Geoff Wing <mason@primenet.com.au> for testing this on his hardware.
1997-09-03 07:57:51 +00:00
mikel
06ecebc8c0 add missing argument to LPRINTF() declaration; from Geoff Wing in PR 4072.
I also made inclusion of LPRINTF() dependent solely on the symbol
  LPTDEBUG, initialized lptdebug variable to 0 instead of 1, and
  matched arguments to format strings in LPRINTF() calls.
1997-09-02 01:37:19 +00:00
augustss
420b75952f Insert a sanity check so we get a panic instead of a kernel page
fault if the DMA map is missing.
1997-08-30 17:33:49 +00:00
augustss
7886f60e81 Make SB full duplex. Ooops, I forgot this in the last commit. 1997-08-30 10:45:32 +00:00
augustss
e72ff15736 Substantial rewrite of the SB driver to make it do full duplex on an SB16.
Because of the braindead design of the SB the input and output have to
use different precisions (8 and 16 bits).  It is possible to set the driver
to use 8 bits on both and it will the emulate 8 bits on the output by
expanding it to 16 bits.
1997-08-29 21:41:36 +00:00
bouyer
9f3695bff9 Change an ATAPI_DEBUG2->ATAPI_DEBUG. This debug message is needed when
looking what's the autoconfig do on strange harware, and ATAPI_DEBUG2 is
for debuging data transfers (and is really verbose once the machine has booted
from an IDE disk).
1997-08-28 11:05:01 +00:00
augustss
5752a55af4 Zap drq2 if unused. 1997-08-28 00:02:12 +00:00
is
25c05417ed Make this work with __GENERIC_SOFT_INTERRUPTS. 1997-08-27 18:00:13 +00:00
bouyer
6f3bab1f59 Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
1997-08-27 11:22:52 +00:00
augustss
a50d4ba893 XXX Add a drq2 locator for the ISA bus. Many sound cards need
two DMA channels to do e.g. full-duplex.  This allows
a way of specifying the second channel in a sane way.
THIS IS TEMPORARY.  The drq2 locator will go away when
the locator system has been changed to allow multiple
values per locator.
1997-08-26 19:26:38 +00:00
augustss
9de64894e9 Fix the "non-broken" indirect configuration so it might actually work. 1997-08-25 22:17:25 +00:00
augustss
cd7e93c44d Add mute and channels swap to the mixer capabilites. 1997-08-24 23:50:40 +00:00
augustss
0bb9a48c65 Give names to some more mixer registers. 1997-08-24 23:24:51 +00:00
augustss
6616d47838 - Change audio_hw_if a little: set_param now sets the play and record modes
at the same time instead by using two different calls.  This enables
  it to check more easily if the combined mode is all right.
- Improve the error checking in audio.c.
- Add a new audio property, AUDIO_PROP_INDEPENDENT, show if the
  play and record settings are independent.
- Fix some buglets in audio.c.
1997-08-24 22:31:23 +00:00
augustss
785dcbd7f5 Remove indirect brokenness. 1997-08-24 20:06:34 +00:00
augustss
48d839e594 Improve error message. 1997-08-24 20:03:51 +00:00
drochner
8188be767e Check for KGDB port == console port in a consistent way. 1997-08-24 09:40:16 +00:00
drochner
f4e17ffbfe Use the new com_is_console() to decide if the port is already initialized.
XXX shouldn't the attach() use the existing handle if present???
1997-08-23 14:06:17 +00:00
drochner
7ac5d81dbd Use the new com_is_console() to decide if the port is already initialized. 1997-08-23 14:03:54 +00:00
drochner
d36e668737 clean up the serial console / KGDB attachment:
-put all early console / KGDB initialization into 1 exported function
  (com_*_attach()) each, dont use global variables anymore
-use the passed tcflag_t for port settings instead of hardwiring 8N1
-at autoconfiguration attach time, decide if the attaching device is
  already console / KGDB by comparing bus tag and base addr (cgd's wish)
-export a function "com_is_console()" for use by driver frontends for
  this comparision
-delay setting of cn_tab->cn_dev until autoconfiguration attach
  to get the minor number right
-delete unused comcnprobe() and comcninit()
1997-08-23 14:01:32 +00:00
augustss
8fdd7cab62 Convert WSS driver to use non-broken indirect configuration. 1997-08-20 15:26:25 +00:00
augustss
332ad95e76 Change the MI audio driver so it attaches to the MD driver in the
normal way.  This requires adding a line to the config files to
get audio to work again.
1997-08-19 23:49:33 +00:00
augustss
f78dfdfe6e Avoid munging audio_defaults. 1997-08-19 23:35:44 +00:00
drochner
570688abef Bring back the "comconsattached" flag. It is necessary for starred
com devices (on non "__BROKEN_INDIRECT_CONFIG" ISA).
1997-08-16 08:33:08 +00:00
drochner
b426bd9be3 -Export variables needed for system console initialization.
-Enable line break interrupt for DDB on a serial console.
-Share initialization code between DDB and KGDB.
1997-08-14 16:15:15 +00:00
jtk
0076beb284 fix multi-port serial drivers to reflect recent changes to com driver for console/kgdb 1997-08-13 21:26:52 +00:00
drochner
d5998780c0 KGDB improvements:
-Separate KGDB port initialization and softc related stuff to allow
 KGDB to be attached in early system startup, before autoconfiguration.
-Export the variables needed by md code to hand-craft bus tag/handle.
-Fix initialization to enable interrupt by line break.
-Call DDB/KGDB at line break (move DDB call from the softirq handler
 to the hard handler because it should work without a tty attached too).
1997-08-12 17:25:43 +00:00
augustss
b99285b1e4 Round mixer values correctly when setting them.
This is important for the OSS emulation since OSS
uses a different range of values for the mixer.
1997-08-11 01:08:13 +00:00
jonathan
1e10e23444 Add back ia->iobase to initializer macros for softc device-register offsets. 1997-08-08 09:38:18 +00:00
augustss
e04b361dd6 Add A-law support and fix bug on opening GUS max.
From Feico Dillema <dillema@spam.aurum>.
1997-08-07 22:48:10 +00:00
augustss
a425e37505 Add a 'return 1' that got lost in the last commit. 1997-08-07 12:14:39 +00:00
jonathan
ab87c23f0b Use <bus.h>. 1997-08-05 01:13:50 +00:00
augustss
3bcc377a4c Implement a function to test if a drq is taken and use it
in two drivers.  There are still many drivers left to fix...
1997-08-04 22:13:32 +00:00
augustss
1fea370221 Get rid of `register'. 1997-08-04 19:05:27 +00:00
augustss
37d4460397 Get rid of `register'. 1997-08-04 18:47:16 +00:00
augustss
c392128002 Audio:
* Make it possible to use software assisted encodings that expand the
  sample size.
* Use 16 bits per sample when emulating mulaw coding on the SB.
* Prepare for SB16 without CT1745 mixer.
1997-08-04 09:29:51 +00:00
augustss
affc3adbc9 Use gusmax_get_props instead of gus_get_props for gusmax. 1997-08-04 09:16:42 +00:00
augustss
658656bb99 Audio changes:
- Change the way attach and open works to allow multiple audio
	  devices.
	- Split the mulaw.c file into two to avoid dragging in mulaw
	  convertsion when they are not needed.  Add 16 bit alaw/mulaw tables.
	- Change the way audio properties are gotten.
	- Recognize more versions os SoundBlaster.
1997-07-31 22:33:08 +00:00
augustss
cf8a170732 Don't panic when creating a bus dma map for a taken dma channel,
it can happen during probing.
1997-07-31 22:20:47 +00:00
matt
aef82b4aed Add the ISA inteface for the lc (LEMAC, EtherWORKS III) driver. 1997-07-31 21:58:19 +00:00