Commit Graph

2988 Commits

Author SHA1 Message Date
ragge
eda1eecede Remove __BROKEN_INDIRECT_CONFIG and change all drivers to use
config_search instead.
1998-01-24 14:16:11 +00:00
mycroft
929286557a Add a PnP IDE frontend. 1998-01-23 20:40:58 +00:00
mycroft
51ffd85641 Uncomment wdc. 1998-01-23 01:18:52 +00:00
mycroft
e89c38b4c2 Slight cleanup. 1998-01-23 01:14:13 +00:00
mycroft
753e4909bb Assume a newline has already been printed in wdcattach(). 1998-01-23 01:06:45 +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
mycroft
76299bd2c0 Regen. 1998-01-22 22:37:04 +00:00
mycroft
9fdb0f8782 Add the Millenium II. 1998-01-22 22:36:16 +00:00
thorpej
201cba44d4 Sync w/ FreeBSD-current-980122:
- Rearrange softc for better cache line behavior.
1998-01-22 08:32:35 +00:00
thorpej
0916ab379b Sync w/ FreeBSD-current-980122:
- Rewrite fxp_start() for better clarity and efficiency.
- Remove unused #includes.
1998-01-22 08:31:33 +00:00
thorpej
ed13bba51f Fix two register mapping problems:
- Fall back on i/o space if mem space isn't available.
- Card reports mem space as prefetchable, but mapping the card into dense
  space fails in nasty ways on the Alpha.  Force mapping into sparse
  space by clearing the BUS_SPACE_MAP_CACHEABLE bit (XXX!).
1998-01-22 08:04:56 +00:00
cgd
ff65e57285 fix typo: s/max-address/mac-address/ 1998-01-22 01:47:43 +00:00
cgd
a014b499f1 add definitions for the mask registers. fix I/O size definitions. 1998-01-22 00:57:10 +00:00
mikel
cbddf94bc4 add NOLUNS quirk for UMAX S-12; from Andreas Wrede in PR kern/4849 1998-01-21 08:41:28 +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
matt
aa7bb65b1c Initial support for Digital Mobile Media Adapter. 1998-01-19 19:49:03 +00:00
drochner
94343e637a define offsets into "register window" instead of absolute ISA addresses
for better use in a bus-ified environment
1998-01-19 11:38:00 +00:00
thorpej
8454673f87 Add "get this slot's DMA tag" function pointer on the Alpha. 1998-01-19 02:51:40 +00:00
thorpej
b5d3e43553 On the Alpha, pass down per-slot DMA tags to children. 1998-01-19 02:50:58 +00:00
thorpej
0546538aa8 Don't prototype ioasic_lance_dma_setup() on the Alpha. 1998-01-19 02:50:19 +00:00
thorpej
e1fed5afa0 Make sure the LANCE DMA area has been allocated, and don't call
ioasic_lance_dma_setup() on the Alpha; the DMA area is allocated differently
on that platform now.
1998-01-19 02:49:48 +00:00
ragge
01eb1bb746 Make kernel compile & run again after latest config changes. 1998-01-18 22:09:13 +00:00
drochner
2562f77567 Don't define absolute ISA addresses here but offsets into the
"controller window".
1998-01-18 14:41:37 +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
10f936ff29 move the 'cd_cd' declaration back up to where it was before
the config changes were made.  Though the nature of the declaration
had to change, there wasn't a reason to change its location.
1998-01-15 19:56:03 +00:00
cgd
ed81982205 #if some bug workaround code which only needs to be compiled if
ATAPI 'sd's are present.
1998-01-15 18:59:03 +00:00
pk
94072e56f6 Move "async command" state in here. 1998-01-15 16:08:32 +00:00
pk
47505a3b6f Elaborate on "receiver not ready" conditions; we don't need a full reset
in most cases.

Move "async command" state into the softc structure.
1998-01-15 16:07:34 +00:00
cgd
24972c51a4 #include a just-added scsipi header. 1998-01-15 02:23:43 +00:00
cgd
3b207eaf83 add support for an ATAPI attachment for 'sd'.
fix 'cd' driver's NCD_SCSI bogosity (was using testing wrong macro!)
clean up in various ways:
* make common atapi_mode_{sense,select}() functions.
* put ATAPI data structures in more sensible headers, split up by
  device type.
* include headers a bit more carefully.
* pass flags to attachment-specific cd functions, and use them.
* get rid of SCSI bits in scsipi_base.h's scsipi_make_xs(), move
  them into the correct place in scsi_base.c.
* fix minor typo in struct name in scsipiconf.h (which was apparently
  never used except in a #define later in the same file).
* use __attribute__ to force 4-byte alignment for xs command store,
  so that architectures trying to bus_space_write_multi_N() (where
  N > 1) that data to a controller won't lose.
* clean up a few comments in typos, and make a few #defines easier to
  understand/maintain.
* rename cd_link.h to cdvar.h (via repository copy).  This is exactly
  what a 'var' file is supposed to be.
1998-01-15 02:21:27 +00:00
cgd
8540a31ee3 kill a couple of unnecessary #ifs 1998-01-15 01:26:13 +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
enami
4b62270f85 Don't include <machine/pio.h> and <dev/isa/isavar.h>. Instead,
include <machine/bus.h> directly.
1998-01-13 03:31:42 +00:00
thorpej
f32f947061 Update for changes to config. 1998-01-12 20:52:29 +00:00
drochner
72852bbaec make it compile without BROKEN_INDIRECT_CONFIG 1998-01-12 20:48:17 +00:00
thorpej
1adb4489a6 Update for changes to config. 1998-01-12 20:23:38 +00:00
thorpej
5419debcb7 Adjust for config changes. 1998-01-12 10:21:02 +00:00
thorpej
8742b48c3f Adjust for changes to config. 1998-01-12 09:54:57 +00:00
thorpej
19feaef2b4 Adjust for changes in config. 1998-01-12 09:51:28 +00:00
thorpej
93f26b5f40 Adjust for changes to config. 1998-01-12 09:49:10 +00:00
thorpej
06ce220790 Update for config changes. 1998-01-12 09:39:57 +00:00
thorpej
1934051221 Update for changes to config. 1998-01-12 09:36:53 +00:00
thorpej
d02585cf36 Update for config changes. 1998-01-12 09:33:30 +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
thorpej
095c4c092d Adjust for config changes. 1998-01-12 09:23:08 +00:00
thorpej
9c183e53cb Slight change to previous. 1998-01-12 08:57:20 +00:00
thorpej
b731c12641 Adjust for config changes. 1998-01-12 08:51:09 +00:00
thorpej
c574630ead Add device classes. 1998-01-12 08:48:28 +00:00
thorpej
43ba4e27bd Adjust for config changes. 1998-01-12 08:44:08 +00:00
marc
4a03c84731 change the initial loop condition not to round up if the iobase starts
<= 0x70
1998-01-11 22:22:12 +00:00
tv
24ca7df4ba don't run minor() macro twice in ISDEV...() macro definitions 1998-01-10 14:07:25 +00:00
pk
69487f1532 * Fix a train-load of bugs, mostly present in one of these categories:
- "out of resource" errors cause receive buffer chain corruption
	- resets can confuse the interrupt handler
	- multi-cast setup causes receive buffer chain corruption
	- shared memory setup incomplete

* Enhance effiency by avoiding unnecessary shared memory access,
  improved handling of receive frame & buffer descriptors, and
  introducing an `asynchronous' option when issuing 82586 commands.

* Exclusively use offsets relative to the bus handle representing the shared
  memory area to formulate accesses to the chip's data-structures.  The
  front-ends provide glue functions that cater to the chip's endian-
  sensitivity, to perform the actual device access (note: single-byte
  accesses are done here using `bus_space_{read,write}_1()').
  This concludes the transformation into a bus-independent driver module.
1998-01-10 02:35:31 +00:00
pk
f041e52c7e * Rename a bunch of chip definitions for consistency.
* Abolish C structures to access chip data-structures; instead use macros
  that take indices and offsets relative to the bus handle representing
  the chip's resources.

* Include the old version of this file wholesale, until all drivers
  have been updated to use the MI 82586 code.
1998-01-10 01:46:32 +00:00
mycroft
b0cf8e166d Update copyright. 1998-01-09 21:16:36 +00:00
mycroft
1434d2e50d Map the I/O region correctly, but reading its address from the EISA config
space.
1998-01-09 20:55:17 +00:00
thorpej
884cc096ca Regen. 1998-01-09 06:56:47 +00:00
thorpej
8735ce36ca Put RCS IDs into generated files, in the correct place. 1998-01-09 06:56:23 +00:00
thorpej
e21b3a4cdb Regen. 1998-01-09 06:54:56 +00:00
thorpej
d41a505027 Regen. 1998-01-09 06:54:54 +00:00
thorpej
d1ad0bc624 Put RCS IDs into generated files, in the correct place. 1998-01-09 06:54:25 +00:00
thorpej
12b9ab0fd5 Regen. 1998-01-09 06:46:47 +00:00
thorpej
9b7afe221e Put RCS IDs into the generated files, in the correct place. 1998-01-09 06:46:26 +00:00
thorpej
22aef93dcd Regen: back out RCS ID related changes. 1998-01-08 00:36:12 +00:00
thorpej
b0a69d357f Back out RCS ID related changes. 1998-01-08 00:35:35 +00:00
thorpej
106bb71744 Regen: back out RCS ID related changes. 1998-01-08 00:33:49 +00:00
thorpej
eac46118ba Back out RCS ID related changes. 1998-01-08 00:33:33 +00:00
thorpej
1b2dbc7a0e Regen: back out RCS ID related changes. 1998-01-08 00:32:06 +00:00
thorpej
b0ecfb4210 Back out RCD ID related changes. 1998-01-08 00:31:23 +00:00
mikel
c0d8293951 fix some typos in error messages & comments 1998-01-07 08:47:54 +00:00
bouyer
d8d77f77d6 Add a few quirk entries from OpenBSD. 1998-01-06 17:03:15 +00:00
perry
8a98e23a48 RCSID Police. 1998-01-06 04:55:52 +00:00
perry
736c62507d regened with RCSIDs in place 1998-01-05 19:38:41 +00:00
perry
e6fe83471e make script insert RCS ids into generated files 1998-01-05 19:37:08 +00:00
perry
5e35a0595e regened with RCSIDs in place 1998-01-05 19:30:30 +00:00
perry
5e96ab4c0a make script insert RCS ids into generated files 1998-01-05 19:28:16 +00:00
perry
c915c7718d regened with RCSIDs in place 1998-01-05 19:25:06 +00:00
perry
127f6582ff make script insert RCS ids into generated files 1998-01-05 19:24:28 +00:00
perry
fff05a68ab RCSID Police. 1998-01-05 07:31:05 +00:00
perry
015e898c02 RCSID Police. 1998-01-05 07:02:46 +00:00
enami
d6eb3246bf Fix a typo in panic string. 1997-12-31 02:46:51 +00:00
enami
e4aca18342 When building fake disklabel, if a partition type is other than FS_UNUSED
don't override it so that port specific hack takes effect.
1997-12-31 02:38:24 +00:00
enami
929e6f5a6f Don't print newline at beginning of line. 1997-12-31 01:19:52 +00:00
is
d5ad660623 EACCESS->EROFS, for the write on readonly medium error. 1997-12-30 21:36:51 +00:00
is
00a8cd54c1 Added ST_Q_SENSE_HELP to the Archive Viper 150S quirks so that
density 0 (autosense) actually works.
1997-12-28 19:25:35 +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
perry
907c7a3c43 fix the Linksys Combo EthernetCard (for carrel) 1997-12-18 22:29:29 +00:00
thorpej
985f99fe00 Don't initialize softc's space tags/handles until isapnp_config() has
been called.  Pointed out by Lennart Augustsson.
1997-12-17 01:31:59 +00:00
mycroft
f1170022ce Don't do anything in comparam() if the line speed and flags are the same. 1997-12-16 22:52:37 +00:00
scottr
c68f17bd02 Fix a typo in a comment. 1997-12-15 07:15:57 +00:00
pk
a8c268918b Changes from Rafal Boni to accommodate ISA driver front-ends. 1997-12-13 21:18:01 +00:00
scottr
dc89550a55 Fix typo in a trace message expression. 1997-12-12 22:44:26 +00:00
thorpej
0ac93f48ea Use malloc()/free(), not geteblk()/brelse(), for the device buffer. 1997-12-07 16:09:36 +00:00
chuck
d76941843e fix mixer code that was clearly untested:
- allow get/set of enums SUNAUDIO_SOURCE and SUNAUDIO_OUTPUT rather
	than returning EINVAL
 - add missing SUNAUDIO_MONITOR_CLASS case in query_devinfo
 - convert SUNAUDIO_MONITOR case from a MIXER_CLASS to a MIXER_VALUE
	like it is supposed to be
 - the labels for outputs/record class were swapped: fix it

this patch allows "mixerctl" to work properly on a sparc
1997-12-06 03:20:56 +00:00
mjacob
fd208bedb2 Rev up to 1.09 FC f/w, but keep 1.07 around- 1.09 is a little strange. 1997-12-05 19:42:32 +00:00
mjacob
5ff1a34bba Add a new async notification, and also fix a bug where the queue entry
wasn't getting fully zeroed as it should be.
1997-12-05 19:41:49 +00:00
mjacob
62ac2ff851 new async code defined 1997-12-05 19:40:35 +00:00
augustss
a908b2b30e Fix three problems spotted by mycroft:
- Closing the audio device should stop recording.
- Manipulating the pause function could accidentally start playing or recording.
- AUDIO_FLUSH could accidentally start playing or recording.
1997-12-03 01:01:19 +00:00
mjacob
d90bb02e10 oops on a comment- it is 1.07 FW, not 1.05 1997-12-03 00:45:05 +00:00
pk
1743d97bd7 Pull over fixes from vm_swap.c:
- guard against synchronous I/O completion
	- avoid race conditions
	- use bgetvp/brelvp to properly maintain the vnode holdcount
	  and clean/dirty buffer lists.
1997-12-02 13:54:48 +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
mikel
60d209bff0 add ID for "Best Data Products Smart One 336F"; Dave Huang <khym@bga.com> 1997-12-02 06:10:45 +00:00
mikel
ebdfbf958e fix typo; from Dave Sainty in PR kern/4602 1997-12-02 03:57:54 +00:00
pk
b1f869ef45 Use `busdma' macros. 1997-12-01 23:25:37 +00:00
mjacob
f4b09b4771 fixme: still need a __BROKEN_INDIRECT_CONFIG case 1997-12-01 18:47:01 +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
drochner
301a6046c8 fix argument declaration inconsistency in the
non-"__BROKEN_INDIRECT_CONFIG" case
1997-11-30 15:16:55 +00:00
drochner
8e7686a76b make it compile without "__BROKEN_INDIRECT_CONFIG" 1997-11-30 15:13:30 +00:00
mhitch
f018043286 Fix driver bug when using an RZ23 (and very likely any other drive that
does a "restore data pointers" when reselected after disconnecting in
the middle of a DMA transfer).  The driver needs a different way to know
which script to continue the DMA transfer.  The message-in for the "restore
data pointers" loses the original "resume" script, and the driver would
attempt to continue the DMA transfer at the beginning of the current DMA
chunk, rather than at the point the disconnect occured.  The result was a
spurious console message, and a trashed filesystem.
1997-11-28 18:23:38 +00:00
enami
85792e35df Remove newline after printing FRU CODE instead of removing
newline before printing SKSV information.
1997-11-23 05:49:59 +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
augustss
e86b728748 Remove broken PnP id again. 1997-11-20 08:53:39 +00:00
mikel
57bacccec7 increase maximum resource ROM read delay to 1 ms (slow EEPROMS) 1997-11-20 06:41:13 +00:00
thorpej
d2630f4098 Declare the scsipi_xfer's "flags" member to be volatile, to force it
to be reloaded every time it is checked.  This avoids a condition where
it can be cached in a register in such a way that updates to the flags in
an interrupt handler to not be noticed, which in turn causes the process
doing the i/o to sleep forever.  Bug report and suggested fix from
Hiroshi HORIMOTO <horimoto@cs-yuugao.cs.sist.ac.jp>, PR $4460.
1997-11-20 04:09:19 +00:00
thorpej
1ff808f998 Add support for the D-Link DE-650, from Eric S. Hvozda <hvozda@helios.ack.org>,
PR #4455.
1997-11-20 04:02:34 +00:00
augustss
2e65c33090 Make sure isapnp_config() runs before we allocate the DMA channels. 1997-11-19 14:19:59 +00:00
augustss
470342eec5 Recognize HP ScanJet 5p. 1997-11-19 03:03:15 +00:00
augustss
f1a39fe2df Recognize another card and handle the case when both drqs are the same. 1997-11-18 19:24:46 +00:00
augustss
ba76377205 Make an XXX note about the broken ALS id. 1997-11-18 19:17:21 +00:00
bouyer
e0746c57db Fix for systems with multiple tl interfaces:
nullbuf (used to pad packets < ETHER_MIN_SIZE) is used for all tl
interfaces. Allocates only once, and never deallocate it (as we can't say
if another instance of the driver is interface is using it).
1997-11-18 12:26:09 +00:00
augustss
fe3e796d68 Dropped an else in last commit. 1997-11-18 11:34:50 +00:00
augustss
c622832eb0 Add another card and take care of swapped drqs. 1997-11-18 11:27:04 +00:00
thorpej
c356454eef Cosmetic changes. 1997-11-17 09:08:26 +00:00
thorpej
1413de77e0 KNF. 1997-11-17 09:02:27 +00:00
thorpej
fc216e9a85 Cosmetic changes. 1997-11-17 08:56:08 +00:00
thorpej
5bf3550518 KNF. 1997-11-17 08:52:38 +00:00
thorpej
3a748eae8f KNF. 1997-11-17 08:38:04 +00:00
thorpej
942f131579 Fix RCS ID. 1997-11-17 08:28:09 +00:00
thorpej
7602fbd930 Cosmetic changes. 1997-11-17 08:25:56 +00:00
thorpej
7e8aa22eaa Sigh, now that we've fixed a bug in PCI space management (the bug caused
i/o-mapped space to always be used), we discover that at least one
ThunderLAN interface can't read the EEPROM properly if memory-mapped
access is used.  Kludge around this for now by "prefering" i/o space.
1997-11-17 08:14:53 +00:00
mjacob
fee73b1391 Roll to 1.7 F/W level. 1997-11-17 05:07:02 +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
thorpej
bbee567187 Fix a couple of bugs/annoyances in match/attach:
- Do PCI space configuration like the other drivers.  In particular,
  don't _disable_ the space we're not using because some lame firmware
  implementations might not reenable it on warm boot.  Also, prefer
  memory space always.
- Make match and info-gathering in attach table-driven.
- Rearrange things a bit to be a bit more visually pleasing during boot.

Also, fixup some #include problems.
1997-11-17 01:58:29 +00:00
thorpej
dffffc2120 Cosmetic change. 1997-11-17 01:44:58 +00:00
christos
473310c0a4 PR/4510: William Coldwell: Recognize TI thunderlan. 1997-11-16 22:38:33 +00:00
christos
739eae3e8b Regen. 1997-11-16 22:33:59 +00:00
christos
9279ce1dc1 PR/4510: William Coldwell: Add TI thunderlan support. 1997-11-16 22:33:19 +00:00
pk
39879b883e Use a 1-character queue so polled console output can be deferred if
regular I/O has been scheduled.
1997-11-12 22:17:07 +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
b6ac221d7c Type/alignment cleanup in EEPROM code. 1997-11-11 06:35:46 +00:00
jonathan
b8636b832f chipset driver for DEC pixelstamp and STIC (stamp Interface chip). 1997-11-11 04:47:57 +00:00
jonathan
0bdc6f10b9 Commit `pacifier' driver for turbochannel PMAG-C option card:n
just acknowledge interrupts from the PMAG-C.
1997-11-08 07:27:49 +00:00
thorpej
ec43979ba3 Properly determine the default media on '790-based cards. 1997-11-08 06:13:53 +00:00
mjacob
c2845107f1 If we're in the middle of opening, don't let st_interpret_sense get
into the act and return EIO or whatever when we're just eating the
initial TEST UNIT READY induced check condition.
1997-11-07 18:16:23 +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
bouyer
5e5babfbdc Add a quirk for a sanyo CD (From OpenBSD). 1997-11-05 22:02:41 +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
1713a9fb07 is790 u_char -> int. 1997-11-05 07:15:42 +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
mycroft
26ecc7d3b0 Trivial change; use KB_SUN4 rather than the constant in one place. 1997-11-03 20:18:00 +00:00
mycroft
47c2d7502f Actually use TIOCFLAG_CDTRCTS. 1997-11-03 16:30:54 +00:00
mycroft
0e16ca013b Always leave DCD_IE and CTS_IE on for now. Needs more work in zsparam() to
make the optimization actually work right.
1997-11-03 16:15:47 +00:00
mycroft
37e260f4a6 Leave the console running with or without DDB. 1997-11-03 15:35:42 +00:00
mycroft
13e9b38191 Slight optimization in soft input routine. 1997-11-03 08:20:35 +00:00
mycroft
ce29cdf2e7 Set the ring size back to 2k. 1997-11-03 06:56:28 +00:00
mycroft
9b9cce6084 Mostly cosmetic and performance changes:
* Make the ring buffer size and water marks patchable, and allocate the buffer
  separately.
* Do the ttymalloc() at attach time.
* Reorganize the receive buffer so the status and data pair are next to each
  other.  This is slightly faster.
* Make sure we actually do turn off interrupts in comclose() if we have DDB
  configured and it's not the console.  (D'oh!!!!)
* When we exhaust the current transmit run, turn off transmit interrupts in
  comintr(), so we're fairly sure we don't get another one.
* Nuke the silly lsrmap[] idea; it's slower in the normal case.
* Cache the l_rint pointer in the soft interrupt routine.
1997-11-03 06:55:54 +00:00
mycroft
7d7ecb9200 Bug fixes:
* Carrier detect (TS_CARR_ON) is based on the actual DCD bit, even if it's
  being ignored.
* Set TS_WOPEN early on in zsopen().
* Don't disable interrupts on the console during close if we have DDB.

Inert changes:
* Don't handle ZS_HWFLAG_NO_DCD here; the frontend does it.
* Deprecate `register'.
* Use SET(), CLR(), and ISSET().

More performance changes:
* Rototill receive handling; use a backpressure mechanism to prevent livelock.
* Output silo/ibuf overflow warnings at most once per minute, from a callout.
* When we exhaust the current transmit run, turn off transmit interrupts in
  zstty_txint(), so we're fairly sure we don't get another one.
1997-11-03 06:16:43 +00:00
mycroft
067898abb8 Mostly cosmetic and performance changes:
* Make the ring buffer size and water marks patchable, and allocate the buffer
  separately.
* Do the ttymalloc() at attach time.
* Reorganize the receive buffer so the status and data pair are next to each
  other.  This is slightly faster.
* Make sure we actually do turn off interrupts in comclose() if we have DDB
  configured and it's not the console.  (D'oh!!!!)
* When we exhaust the current transmit run, turn off transmit interrupts in
  comintr(), so we're fairly sure we don't get another one.
* Nuke the silly lsrmap[] idea; it's slower in the normal case.
* Cache the l_rint pointer in the soft interrupt routine.
1997-11-03 06:12:02 +00:00
gwr
80a52b9e7d KIOCSLED ioctl takes a char (from Krister Walfridsson). 1997-11-03 05:05:45 +00:00
gwr
762cc5a0fc Fix serial console support (did not turn on CLOCAL). 1997-11-03 04:34:18 +00:00
thorpej
e7044069f6 Fix a think'o in ifmedia initialization. 1997-11-03 00:19:41 +00:00
pk
d0f1a6dc73 Enable the `xy' entries. 1997-11-02 23:14:13 +00:00
pk
e12cd50724 Fix pasto 1997-11-02 23:12:53 +00:00
pk
abaee437ea Converted Xylogics 450 (XY) VME driver. 1997-11-02 23:09:25 +00:00
mjacob
20d01ea842 Updated f/w from Qlogic. 1997-11-02 22:10:57 +00:00
mycroft
61bf289f3e Slight code rearrangement. 1997-11-02 09:31:49 +00:00
mycroft
acb27fb42a Slight code rearrangement. 1997-11-02 09:24:51 +00:00
mycroft
5869b743c7 Rearrange *param() slightly to eliminate a spl.
Also fix another comment regarding DTR.
1997-11-02 09:15:41 +00:00
mycroft
76b7dd52df Add another splserial()/splzs(). 1997-11-02 08:55:52 +00:00
mycroft
acd97c6676 Minimize some spl regions slightly. 1997-11-02 08:50:31 +00:00
mycroft
8914537568 If we lose HFC, assert RTS. 1997-11-02 08:29:51 +00:00
mycroft
b000ee5105 Set the state of DCD_IE and CTS_IE based on what's in rr0_mask. 1997-11-02 08:02:40 +00:00
scottr
c35524f0a1 Fix a serious problem in dp8390_write_mbuf(), noticed by Jason Thorpe:
after we've written out the contents of the mbuf, increment the transmit
buffer offset by m->m_len.
1997-11-02 06:18:27 +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
7438e6c882 Adjust for ifmedia-related changes to dp8390 driver. 1997-11-02 00:25:11 +00:00
thorpej
18636a8934 Add ifmedia support via callbacks to the front-end. 1997-11-02 00:23:54 +00:00
pk
f00f5d9428 Start an MI VMEbus framework.
Includes two sample drivers: IE ethernet driver (VME front-end to
dev/ic/i82586.c) and the XD disk driver, both converted from the
sparc versions.
1997-11-01 22:56:19 +00:00
mycroft
74df2cee60 Correct a comment regarding our behaviour with DTR. 1997-11-01 20:40:36 +00:00
mycroft
d0df1f96f4 Add additional splserial()s in comopen() and comclose(). These are not
necessary on the i386 port, but may be on others.
1997-11-01 20:31:57 +00:00
mycroft
8475e6c0ba Fix minor omission; write back reg 1 earlier in zsopen(). 1997-11-01 20:23:50 +00:00
mycroft
386d55a1ca Need some additional splzs() in zsopen(), and nuke one that's no longer
needed.
1997-11-01 20:15:10 +00:00
mycroft
8ffb1f6b84 Nuke the special case of heldchange for reg 5. We don't use it for flow
control any more, and the speed of changing DTR isn't really an issue.  Also,
the old code created a bug where zsparam() might have failed to set some
registers.
1997-11-01 18:15:12 +00:00
mycroft
75dc31c41d Yet more changes imported from com driver:
Change the interface to zs_hwiflow(); just have it use zst_rx_blocked.
Make zs_modem() a tiny bit faster.
Do RTS updates immediately; do not allow them to be held.
1997-11-01 17:57:14 +00:00
mycroft
eb0f6686d2 Make zst_tba a u_char *. 1997-11-01 17:12:54 +00:00
mycroft
4377152a4b More changes taken from com driver:
Stop output as fast as possible when DCD is deasserted.
Do *not* automatically drop DTR when DCD is deasserted.
Only check for rr0 bits that we care about (DTR and DCD).
1997-11-01 17:09:06 +00:00
mycroft
deb1d9f40a GC some unused bits.
Also, part of the previous was copied from the com driver, so DTRT.
1997-11-01 15:59:26 +00:00
mycroft
8008239563 Rearrange open sequence to make sure we catch all line status changes.
Make sure we turn on DTR and/or RTS as appropriate during open.
Rearrange close sequence so the tty is flushed before turning off interrupts.
Deal with `softcar' and the console device by silently asserting CLOCAL and
|HUPCL, as in com driver.
Do *not* fiddle with DTR when changing the line speed.
Make sure we update the tty's carrier status when CLOCAL or MDMBUF is changed.
Only change rr1 when we actually need to turn on or off TIE.
1997-11-01 15:51:23 +00:00
lukem
3e8e744696 getopt returns -1 not EOF 1997-11-01 06:49:14 +00:00
bouyer
ce0da80741 Add NOCAPACITY quirk entry for MATSHITA CR-574, rev 1.02. 1997-10-31 09:11:06 +00:00
jonathan
7fb01f01ae Print TC bus speed properly when attaching device, since the SCSI
clock is taken (and computed) from the TC bus clock.  See PR 4380.
1997-10-31 06:29:59 +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
drochner
d52df86460 Print probe result after the LCR is restored. Otherwise, bad
things happen if we are the console.
Restore to the prevoius value (not to hardwired 8N1) because this
could be set by the serial console initialization.
Closed PR kern/4373 (Dave Huang)
1997-10-29 18:28:07 +00:00
thorpej
7964d4bd34 When probing for a dp8390 in ne2000_detect(), check for RST being set
in the ISR (from the ISA "ed" driver's generic 8390 probe routine).
Also, add a big comment describing exactly what we're checking when
probing for the dp8390 (also lifted from the ISA "ed" driver).

The RST check should help weed-out non-matches before they get to the
fairly invasive memory check.
1997-10-29 07:57:53 +00:00
augustss
b366d54e2e Fix slight glitch in last commit when AUDIO_DEBUG is on. 1997-10-29 02:11:45 +00:00
augustss
9f84e63746 Do audio attachment the right way. From Chris Demetriou.
(Maybe I'll get the hang of the configuration stuff one of these days. :-)
1997-10-29 02:00:20 +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
thorpej
8001991ed8 When creating ecbs, be a little more informative about why we couldn't
should creation/initialization of a ecb 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 ecb what we can grab, and continue to hobble along.
1997-10-29 00:18:21 +00:00
thorpej
b01dbb214c When creating mscps, be a little more informative about why we couldn't
should creation/initialization of a mscp 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 mscp what we can grab, and continue to hobble along.

Also, fix the mscp freelist fencepost error, similar to aha.c and bha.c
1997-10-28 23:46:49 +00:00
thorpej
6e8facbdcc 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.
1997-10-28 23:31:30 +00:00
thorpej
711fc71012 When creating ccbs, be a little more informative about why we couldn't
shoud 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.
1997-10-28 23:06:21 +00:00
christos
c12bf4cc9f DTRT with level and edge interrupts:
- add a type field to the isapnp_pin struct and set to IST_EDGE or
      IST_LEVEL depending on the card configuration data.
    - use the irq type field in all the drivers instead of hardcoding it.
1997-10-28 21:27:55 +00:00
thorpej
d1bfbc66c6 Syncronize with changes to aha.c:
Adjust the number of ccbs allocated during initialization.
Every ccb could potentially lock 64k of memory for dma buffers if bounce
buffers are used.  Instead of BHA_CCB_MAX ccbs using 2MByte, only
sc_link.openings ccbs per device are allocated.  Thus we now use only
256KByte per device present.
(hannken)

Fix a couple of errors in bha_create_ccbs():
- Don't ever let the number of CCBs be creater than BHA_CCB_MAX.
- Fix a fencepost that caused the last CCB allocated to never be put
  on the freelist.
(thorpej)
1997-10-28 19:13:36 +00:00
thorpej
1dfae448cd Reply from an INQUIRE DEVICES is a lun map. 1997-10-28 19:08:26 +00:00
thorpej
1bfea0bd23 Fix a couple of errors in aha_create_ccbs():
- Don't ever let the number of CCBs be creater than AHA_CCB_MAX.
- Fix a fencepost that caused the last CCB allocated to never be put
  on the freelist.
1997-10-28 18:40:07 +00:00
gwr
d6a95307e3 The release and control maps are shared by all keyboard types, so
change KEYSYM_HOLE to KEYSYM_NOP most places in those tables.
Map the `R' function keys with KEYSYM_FUNC_R instead of the
arrow key strings so that numlock indirection works.
1997-10-28 06:18:36 +00:00
gwr
f4a80e422c Print more helpful information if we get unexpected keysyms.
Call kbd_xlate_init() after we know the keyboard type so it
has a chance to install the RIGHT keymap pointers!  (Duh!)
1997-10-28 06:14:17 +00:00
thorpej
e0ccf46ed0 In isapnp_alloc_irq(), use isa_intr_alloc(), since it performs resource
conflict checking.
1997-10-27 23:42:30 +00:00
thorpej
a222447f6f Oops, missed one in previous. 1997-10-27 23:34:19 +00:00
thorpej
ce3918177b Update for new pcidevs entry for Winbond NE2000-compatible Ethernet ASIC. 1997-10-27 23:31:41 +00:00
thorpej
bb340dc5c7 Regen. 1997-10-27 23:29:23 +00:00
thorpej
10e3181b2b Fix the description of the Winbond NE2000-compatible Ethernet ASIC.
It's a W89C940F.
1997-10-27 23:27:35 +00:00
thorpej
16905ceeda Make sure we don't allocate a conflicting DRQ. From Christos. 1997-10-27 22:16:49 +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
bbc9422b97 Print interrupt information like all of the other PCI drivers. 1997-10-27 02:10:07 +00:00
pk
233c534958 Apply patch from Michael L. Hitch (PR#4318):
"A sequence step of 0 after a select with ATN can be a selection
 timeout, or it can also indicate the target did not respond with
 a message out phase.  The latter will occur on very old SCSI
 devices which do not respond to the ATN signal and go directly to
 the command phase".
1997-10-26 16:45:24 +00:00
christos
15839e5d3d PR/4328: Matthias Scheler: Syntax errors in debug macros. 1997-10-24 15:44:42 +00:00
mikel
1f8a154917 add comments describing what devices correspond to each PnP ID matched 1997-10-23 06:14:11 +00:00
gwr
0889565499 Clean up kbdioctl():
* Make sure all uses of the data pointer are type-cast appropriately.
* Eliminate the super-user check in the KIOCSKEY case (back as it was).
* Return ENOTTY if the ioctl command code is unrecognized.
1997-10-21 15:17:31 +00:00
bouyer
b1b04efc58 Correct 'ThunderLAN' spelling 1997-10-21 05:54:21 +00:00
fvdl
37e4eea4a4 Make 16650 probe optional on COM16650 define. It breaks on some
multiport Startech chips.
1997-10-21 01:25:41 +00:00
thorpej
37919a04d9 Moved to src/sys/dev/ic/i82365.c via repository copy. 1997-10-20 20:24:17 +00:00
is
4a8fcf4aed Dont waste time in delay()s... else we won't finish in time to get our first
lowwatermark interupt for AUDIO_BYPASS data.
1997-10-20 19:07:59 +00:00
explorer
1f2bca63e2 clean up the event queue more. Add volatile where needed. 1997-10-20 18:43:48 +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
explorer
7f8a4b47f8 Clean up the timeout and queue code. 1997-10-20 15:05:05 +00:00
explorer
c327761377 Don't pretned to maintain an internal "global" entropy pool. In-kernel
locking cannot be done with it, and that sort of thing probably should not
be shared anyway.
1997-10-20 15:03:19 +00:00