Commit Graph

2914 Commits

Author SHA1 Message Date
thorpej a7bc6bd92c In the NE2000 case, if we encounter an unaligned mbuf, copy it to an
aligned buffer so that we can do 16-bit PIO to the device without causing
an unaligned access fault.
1998-01-29 00:59:33 +00:00
mjacob 99139bc35a Fix for port-alpha/4903- always download f/w unless config flags say
no or we have no firmware to download.
1998-01-28 19:09:24 +00:00
thorpej 9359316f6f Add support for the 82553[AC] PHY by treating it like an 82555. From
Soren S. Jorvang <soren@t.dk>, PR #4840.
1998-01-28 18:31:37 +00:00
thorpej b89119c134 Convert this driver to use the bus_dma interfaces. 1998-01-28 07:26:42 +00:00
mjacob 5cafda5b3c Update 2100 F/W to 1.10 level. Also remove some older 2100 f/w versions.
This version of the 1.10 f/w is initiator only (not initiator/target).
1998-01-28 06:09:02 +00:00
thorpej 2538ed1062 Use offsetof() from libkern.h 1998-01-28 02:23:04 +00:00
cgd 08af1cdbbc prototype of_compatible 1998-01-28 00:01:34 +00:00
cgd b4026f2974 clean up comments and includes. add an of_compatible() function
which checks for the presence of any of a set of caller-provided
strings in a node's "compatible" property (the _right_ way to
determine driver compatibility).
1998-01-28 00:01:01 +00:00
cgd 9e47d44515 Make sure the data after the Ethernet header is aligned. (It's been
in the Shark source tree for a while, but Jason's recent commit to
dp8390.c spurred me to check it in here.)
XXX Assumes the device is an ethernet, but then so does other code in
this driver.
1998-01-27 23:55:18 +00:00
thorpej cdec42b6a0 Fudge the start of the data pointer of the first mbuf in the chain when
reading a packet, ensuring that the data after the Ethernet header will
be aligned.  Part of PR #4595, from Andreas Johansson <ajo@wopr.campus.luth.se>
1998-01-27 23:26:21 +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 c7c415e733 Regen: add Packet Engines G-NIC gigabit Ethernet. 1998-01-27 01:03:29 +00:00
thorpej cdb46f9d8b Add product ID for the Packet Engines G-NIC gigabit Ethernet interface. 1998-01-27 01:02:46 +00:00
bad e73453eaf8 In vndsetcred(): after establishing credentials, flush all buffers
associated with the vnode from the buffer cache.  This obviates the
need to flush the buffer cache manually after ``vnconfig -u''.
1998-01-26 23:30:44 +00:00
cgd ed02c60bdd clean up for other changes (removal of ofnmmatch(), addition of
of_decode_int()), reorganize.
1998-01-26 21:49:13 +00:00
cgd b7c7fd66d0 of_decode_int() the stdin and stdout properties. 1998-01-26 21:49:00 +00:00
cgd cf90ace319 new file containing common OFW-related routines. Right now just contains
of_decode_int(), a function which decodes OFW integer properties.
1998-01-26 21:48:40 +00:00
cgd cdfa209843 (1) kill ofnmmatch(); nothing used it (and it's not clear that
anything _should_ use it).
(2) in the child properties check, also check for 'compatible,' and
    config_found() if the child has it.
1998-01-26 21:48:07 +00:00
cgd 0aee587bbf add ofw_subr.c, a file containing common OFW routines. 1998-01-26 21:47:35 +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
pk 1b0d54e29a Adapt to recent i82586 driver changes. 1998-01-25 19:57:27 +00:00
pk c68cf46527 Add vme_bus_mmap_cookie() and vme_bus_establish(). 1998-01-25 15:53:18 +00:00
pk 639947d9ea Remove vestiges of sparc-related bootpaths. 1998-01-25 15:22:34 +00:00
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