Commit Graph

2889 Commits

Author SHA1 Message Date
pk
09559070f7 * Do not remove ATN from the scsi bus if we have no messages queued but
the target still is in MSG OUT phase. We still send a message (a NO_OP)
  in this case and the chip will remove ATN at the appropriate time.
  Using the RSTATN command here induces a "illegal command" in some
  chip revisions.

  This situation only occurs if the target rejects a previous (multi-byte)
  message early (by switching to MESSAGE IN and sending a MESSAGE REJECT)
  before the chip has completed the entire MSG OUT transfer. ATN will
  remain asserted, and the target returns to MESSAGE OUT phase.

* Account for the events above when reporting "DMA not completed"
  diagnostic messages.

* Stream-line the selection code a bit, and make the DMA setup code
  more like the MSG OUT & DATA XFER setup.
1998-01-24 15:33:35 +00:00
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