Commit Graph

2895 Commits

Author SHA1 Message Date
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
cgd 819d730e25 s/of_nodename/of_packagename/. Eventually, we'll probably want something
similar for instances.
1998-02-03 16:58:25 +00:00
is 77b3a5be15 Put a debugging printf inside #ifdef IYDEBUG ... #endif. 1998-02-03 16:22:01 +00:00
sakamoto 7052e9949b Change the data access busification functions to
the "stream" busification functions.
In the architecture as the BeBox(CPU is big endian, have ISA bus),
These methods would be used where "raw" data needs to {read,write,set}
unchanged.

Add #ifndef __BUS_SPACE_NEED_STREAM_METHODS (define that on NetBSD/bebox),
if not define __BUS_SPACE_NEED_STREAM_METHODS,
define "stream" busification functions to normal busification functions.
1998-02-03 04:26:45 +00:00
cgd 9c46cdbef5 in ofbattach(), don't both doing an ofbprint() by hand if the root node.
The old ofbprint() wasn't particularly good (it forced the root node
to have a 'name' property, which apparently violates the OFW spec), and
the new one (though it normally prints more useful information) has
nothing useful to say about the root node.  It's not clear to me that
'ofroot' should exist at all.
1998-02-03 00:43:46 +00:00
cgd 9bffcfef75 change #ifdefs keying on "alpha" to key on "__NO_SOFT_SERIAL_INTERRUPT"
instead, and define that on NetBSD/alpha and NetBSD/arm32.
1998-02-02 23:01:02 +00:00
cgd c2f42b2213 Implement a flag to indicate that the driver attached correctly.
This is useful in the case where an attachment's probe routine
verifies that there is indeed hardware present but something goes
"wrong" in the attach causing the device to be unusable.  (Without
keeping track of this, in that case incorrect ports could be
accessed or uninitted pointers could be deferenced on open or at
other times.)
1998-02-02 22:54:55 +00:00
cgd ac4b4ec31d make ofbprint() use of_nodename(). cleanup. 1998-02-02 22:00:07 +00:00
cgd 5169537359 add of_nodename(), a function to stuff the last component of a node's
name into a caller-provided buffer (helpful for generating
autoconfiguration output).  Also, other minor cleanup.
1998-02-02 21:56:16 +00:00
cgd c9249eced0 add a prototype for of_nodename(), a function to stuff the last
component of a node's name into a caller-provided buffer (helpful
for generating autoconfiguration output).
1998-02-02 21:55:23 +00:00
thorpej 69d33afe72 Prototype OF_getproplen(). 1998-02-02 21:00:13 +00:00
marc b01ada14d9 fix up the power management code to dtrt with the 3c562A mfc card (and
hopefully the other variants)
1998-02-01 23:52:25 +00:00
marc 6b68f8b698 use an array of serial devices, not a cascaded if
add power management support
1998-02-01 23:50:52 +00:00
marc 3a3ac64f4f rewrite mfc intr management not to use unexported spl* functions
add mfc iobase/iosize support
 add power management support
1998-02-01 23:49:02 +00:00
marc cdc3013464 whitespace changes for readability 1998-02-01 23:38:44 +00:00
marc 57e56a34bc add state to struct pcmcia_function for mfc iobase/iosize support 1998-02-01 23:38:06 +00:00
marc 5c17882e45 move pcic_wait_ready from i82365var.h to i82365.c 1998-02-01 23:36:23 +00:00
marc 63f5e2bbc3 move pcic_wait_ready to i82365.c 1998-02-01 23:33:51 +00:00
marc 1d4b77e754 split com_attach_subr into attach stuff and per-open initialization stuff
add timeouts to all splserial() while loops so bugs elsewhere don't cause
the com driver to wedge the machine
 add power management support
1998-02-01 23:33:01 +00:00
marc a71698f108 add power management hooks to softc 1998-02-01 23:30:49 +00:00
kleink fa75c2d647 Fix two harmless typographical errors in a comment. 1998-02-01 19:25:44 +00:00
pk f3ee364e31 * Make sure the `ECB_NEXUS' flag accurately reflects the existence of
an initiator/target nexus and thus mark the correct queue (if any) a
  command is on.

* If a disconnected command times out, just leave it on the nexus queue
  and do nothing (for now). I need yet to decide on the strategy to
  follow in this case.  Note: we used to move the command to the `ready'
  queue and then do nothing, which is worse.
1998-01-31 23:37:51 +00:00
christos 5ba817c967 Don't hardcode the interrupt type; use what the pnp config provided to us. 1998-01-31 21:31:35 +00:00
christos 1caaa1f520 PR/4883: Andreas Wrede: Check for wildcard mem address not io ports. 1998-01-31 11:23:35 +00:00
thorpej 480445c035 When a PCI bus is attached, print out which bus spaces were enabled
by the parent.
1998-01-31 00:37:39 +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
bouyer 605c219597 Add ID for the Vibra16X PnP board (aka CT4170). 1998-01-30 11:42:51 +00:00
thorpej cec1781573 Regen. 1998-01-30 02:25:28 +00:00
thorpej 8b75f90a86 Add entries for the PMAZ-DS and PMAZ-FS (Flamingo Turbochannel Dual SCSI
baseboard devices, normal and fast), and the PMAZB-AA and PMAZC-AA
(Turbochannel Dual SCSI option cards, normal and fast).
1998-01-30 02:24:58 +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 78650a8398 Use offsetof() from libkern.h 1998-01-30 01:26:51 +00:00
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