Commit Graph

1447 Commits

Author SHA1 Message Date
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
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