Commit Graph

3170 Commits

Author SHA1 Message Date
pk 69fe6f242f Account for changed bus attachment scheme. 1998-03-21 20:11:30 +00:00
ragge cad3cb3894 ubasetup() must be non-static. (used by QDSS) 1998-03-21 10:24:29 +00:00
mycroft 834a8ac07a Fix pasto. 1998-03-21 04:31:10 +00:00
mycroft fd620ebb32 Replace TS_WOPEN with t_wopen, per mail on tech-kern. 1998-03-21 04:29:29 +00:00
mycroft 16566cda09 Remove a bogus initializer. 1998-03-21 04:27:58 +00:00
mycroft 2ada4b4af1 Replace TS_WOPEN with t_wopen, per mail on tech-kern. 1998-03-21 04:02:47 +00:00
cgd 09cde3ae17 compile with -Wall, update for changes to dev/ofw 1998-03-21 02:06:17 +00:00
cgd 0a2c48d07f -Wall 1998-03-21 02:05:17 +00:00
cgd 3cc8b411d0 -Wall (one real bug, even!) 1998-03-21 02:04:55 +00:00
cgd bd31517508 check only the Vendor ID (rather than both the Vendor ID and the Product
ID) when determining if the Vendor ID is invalid.  The spec says that
Vendor ID of 0xffff is invalid, so, it doesn't _matter_ what the product
ID is in that case.  Treat Vendor ID 0 as invalid because we always have.
1998-03-20 19:56:19 +00:00
thorpej f80f6601b0 Fix a typo in the bus_dma changes. 1998-03-17 21:30:38 +00:00
leo d2551d5b3f Use bus-dma functions. 1998-03-16 15:36:17 +00:00
mycroft 2397f92b38 Implement CDIOCCLOSE. 1998-03-16 04:17:53 +00:00
cgd 85687409e1 don't forget to set dma_arg, when using DMA functions. also, minor
spacing bogon cleanup.  Pointed out by Kazuki Sakamoto in PR 5157.
1998-03-13 16:50:07 +00:00
cgd b9eaff9db8 when considering attaching compatibility-mode channels, try a quick reset
and see if anything responds.  if nothing (that's attributable to the
PCI IDE controller) responds, then that channel either has no devices on
it or has been disabled (via a non-standard mechanism) by the BIOS.  If nothing
responds, don't map the compat.-mode interrupt or attach the wdc to that
channel, because the BIOS is likely to assign that IRQ to a different PCI
device.  If that happens, the kernel will panic because that device will
try to map the IRQ level-triggered, but the compat interrupt will have been
mapped edge-triggered.  (One possible way around this is to map the compat
interrupt edge-triggered, but it's not clear reading the spec that this
is correct or desirable.)
1998-03-12 23:34:29 +00:00
bouyer 44650d03a6 Better fix for PR 5113, per discussion with fvdl: now that the vnode locking
interface allow recusive locks, use it instead of the local hack to avoid
recursive locking.
1998-03-12 16:51:41 +00:00
augustss 09f43c63cf Update probing for GUS a little. From soren@t.dk,
closes PR kern/5148.
1998-03-12 12:28:50 +00:00
leo dd709a7f89 Make it possible to interface to big-endian cpu's. 1998-03-11 20:57:03 +00:00
augustss d644f9b973 Apply cs4236 fix from rh@vip.at. Closes PR 5143. 1998-03-11 09:26:05 +00:00
christos 83449d8960 - fix pcmcia_scan_cis to return:
-1 error
	 0 desired tuple not found
	 1 desired tuple found
1998-03-09 21:54:13 +00:00
christos 441bea9142 - more 3c562 magic; document that the 0x88 tuple only works in 3c562a-c
and not in d where it goes back to use the eeprom method. So we detect
  when the tuple method fails and fall back to the original method.
- even more 3c562 magic; the updated linux driver mentions that addresses
  0x??00-0x??7f only work instead of the previous...
1998-03-09 21:52:31 +00:00
mikel a57a8d66ff let panic() call DDB, don't do it ourselves; from Nathan Williams in PR 5131 1998-03-09 06:32:51 +00:00
christos 509cb1d75f - remove duplicate setting of CCR
- fix debugging code so that it compiles
- reorder the disabling code so that it is more logical
- add splhigh()/splx() in the first establish setting for symmetry
1998-03-07 17:58:17 +00:00
augustss a294c3fef3 Regen. 1998-03-07 16:48:47 +00:00
augustss 8dd96862cd Add Matrox Millenium II AGP. 1998-03-07 16:43:46 +00:00
scottr 8840acb1e2 Quirk table entries for IBM H3171 and Quantum ELS85S disks. 1998-03-07 06:34:59 +00:00
thorpej 5a34bf2a24 Add Dayna CommuniCard E, from Havard Eidnes, PR #5120. Also, remove a
few unnecessary/no-longer-completely-accurate comments.
1998-03-06 20:00:28 +00:00
cgd ff06be8ce0 reorganize mapping/attachment of wdc channels so that it'll be easier to
insert a check to see whether a channel appears to be enabled.  Shouldn't
be necessary, according to the spec, but some PC chipsets allow individual
compatibility channels to be disabled.  "I hate PCs."
1998-03-06 19:13:19 +00:00
cgd f528463b81 despite the spec, some people map the bus master IDE registers into
memory space.  Note that in a comment, but don't try to fix it (for now).
1998-03-06 17:41:59 +00:00
wrstuden 6dcfc62169 KNF last change 1998-03-05 22:56:18 +00:00
wrstuden 84c6b9dbd7 Make zs_iflush not loop indefinitly. Some Mac PowerBooks lie about having
two SCC channels, and can get stuck in an infinite loop. This change
stops after flushing 4 bytes. Might need upping to 8 bytes if we support
85230 ESCC's.

Idea bounced off of scottr & gwr
1998-03-05 22:03:34 +00:00
augustss 775d60ecd7 Use lower case "agc" for consistency. 1998-03-04 19:38:28 +00:00
cgd 2682c61855 clean up a printf 1998-03-04 19:19:21 +00:00
cgd c3cdd2752a slight cleanup (consistency, make a few comments better). add support
for recognizing bus-master DMA interface and mapping the regs (but
still no support for DMA).
1998-03-04 19:18:22 +00:00
cgd 0078e4bcd0 add def'ns for PCI IDE bus-master DMA interface recognition and register
mapping.
1998-03-04 19:17:10 +00:00
augustss 713692a2b5 For the Rx:Tx split message change "(undefined)" to "3:5". 1998-03-04 18:10:03 +00:00
fvdl ad83e1aac8 Fix vn_lock argument botch. From Manuel Bouyer (PR 5113). 1998-03-04 15:34:41 +00:00
cgd d4e79b6ace add (commented out) device/file declarations for the MI PCI IDE
controller driver.  These are commented out here until the wdc
declaration mess is resolved, and until then need to go into MD
files files in places where they play nice with the wdc declaration.
1998-03-04 06:38:44 +00:00
cgd b37b33d302 PCI IDE glue. Right now, just glues 'wdc's to PCI IDE controller
channels.  Eventually should do things like support PCI IDE DMA (it _DOES
NOT_ do that now).
1998-03-04 06:35:11 +00:00
cgd b11fc105b1 clean up slightly, correct a few comments 1998-03-04 06:31:46 +00:00
cgd 5f45920f06 regen 1998-03-04 00:15:21 +00:00
cgd b3f8c3c1f1 fix comment bogon in last commit 1998-03-04 00:14:45 +00:00
cgd 34f466e064 regen 1998-03-04 00:10:38 +00:00
cgd 0873649bda add CMD PCI0643, PCI0647, USB0670, USB0673. Remove the 'A' from the 640A
entry (because the same product id is used for the 640B, as well).  Note
that a few of the entries (PCI0642, PCI0650A) no longer have data to
be found on the CMD web site, and note that PCI0650A should probably have
its "A" trimmed as well.
1998-03-04 00:09:11 +00:00
cgd 8a2d9d7d74 in the ATAPI bug workaround code ("HACK"), don't forget to set
SCSI_AUTOCONF when executing SCSI commands.
1998-03-03 23:15:36 +00:00
pk 5ac38e9b53 Re-arrange several functions so we no longer need __BROKEN_INDIRECT_CONFIG
semantics.
1998-03-03 20:51:20 +00:00
pk 5513bc639f Cheesily work-around reliance on __BROKEN_INDIRECT_CONFIG; should we
bother trying to find the board's memory size in the match routine at all?
1998-03-03 20:50:06 +00:00
augustss 44c6ce78d2 Avoid the name free so the MALLOCLOG option works again.
Fix some typos.
1998-03-03 09:16:15 +00:00
pk d8bb682673 drop `ef_softc' from ef_match function. 1998-03-02 23:12:18 +00:00
ragge 8e2874bf64 Support for UVM on VAXen. 1998-03-02 17:00:00 +00:00
fvdl 7ba6a2daac Remove extraneous files from Lite2 merge. 1998-03-01 13:45:28 +00:00
ross 331fee623e Sweep up some miscellaneous leftover lite2 integration shrapnel. 1998-03-01 07:15:39 +00:00
fvdl e5bc90f40c Merge with Lite2 + local changes 1998-03-01 02:20:01 +00:00
fvdl e8d05f0741 Import 4.4BSD-Lite2 1998-03-01 02:12:49 +00:00
fvdl b50e39fa45 Import 4.4BSD-Lite for reference 1998-03-01 02:09:33 +00:00
pk 1fe6513796 Remove extraneous `$Id$' lines. 1998-02-28 20:43:28 +00:00
pk c0e247427a This driver is replaced by three i82586 front-end drivers: `ix', `ef' and `ai'. 1998-02-28 20:42:43 +00:00
pk d22f956657 Remove `_NEW_I82586'. 1998-02-28 01:15:51 +00:00
pk 5bc7459ebd Remove `NEW_I82586' 1998-02-28 01:14:57 +00:00
pk 9698950530 * Remove `_NEW_I82586'.
* KNF.
* erase ghost spaces and tabs.
1998-02-28 01:14:15 +00:00
pk 472a1973af Remove `_NEW_I82586' tag; all drivers using this file have been converted. 1998-02-28 01:07:45 +00:00
pk a3a9cbc8c5 Replace the `ie' driver by three separate front-ends: `ix', `ef' and `ai'. 1998-02-27 23:54:16 +00:00
pk 22a8b1ae89 AT&T/StarLan i82586 front-end driver from Rafal Boni. 1998-02-27 23:52:34 +00:00
pk 82153cc305 3Com/3C507 i82586 front-end driver from Rafal Boni. 1998-02-27 23:51:52 +00:00
pk 9bb4839afd EtherExpress/16 i82586 front-end driver from Rafal Boni. 1998-02-27 23:50:51 +00:00
mycroft 64812254d6 Remove some duplicate definitions. 1998-02-27 13:17:25 +00:00
mycroft 8e5dbddc19 Regen. 1998-02-27 11:46:25 +00:00
mycroft 402ddee537 Add Macronix MX98713. 1998-02-27 11:45:51 +00:00
christos 66f05f52ec Add another 56K modem. 1998-02-25 13:18:50 +00:00
ross 081231b1ad Add dummy }} after comsoft() to keep ctags(1) bashing on. 1998-02-25 08:32:35 +00:00
mycroft d36067b120 Forcibly NUL-terminate the path name, just to be sure. 1998-02-24 07:14:17 +00:00
mycroft 64d86b5934 Minor style change. 1998-02-24 07:10:39 +00:00
mycroft 310f6fefc3 Several things:
Clean up the name space here a bit.
Add a `busname' element to struct ofprobe (now struct ofbus_attach_args), and
check against it.
Nuke `ofroot'.
Rename the `openfirm' attribute to `ofbus'.
1998-02-24 05:44:39 +00:00
cgd ccfe537e97 don't include <machine/pio.h>. It's unneeded here now (this code
uses the bus_space_* interfaces), and therefore unwanted.
1998-02-24 02:12:09 +00:00
drochner 49c1580874 -make compile without BROKEN_INDIRECT_CONFIG
-don't include <machine/pio.h>
1998-02-23 14:12:18 +00:00
enami 9b770726e8 Fix message printed in case (b) in last commit; what actually shouldn't
exceeds is not a size of partition but end of partition.
1998-02-22 07:14:30 +00:00
enami 512a01869c Check disklabel just read from disk and warn if:
(a) total sector size is different from the size of ccd, or
	(b) size of a partition exceeds the size of ccd.
1998-02-22 06:50:08 +00:00
enami 9db8348725 Cosmetic change; use tab of width 8. 1998-02-22 05:14:34 +00:00
enami e12f85fbc1 Disable the device if we fail to open and nobody else has the device open.
(Thanks Charles and Marc for your advices).
1998-02-22 05:09:58 +00:00
mycroft 11b3fea04a Fix bonehead error in previous change. 1998-02-22 03:24:58 +00:00
mycroft 6ad2876b5a Similar changes to com driver:
Arrange to call com_break() and com_modem() at splserial().
It's simpler this way.  Really.
1998-02-19 21:26:10 +00:00
mycroft 84a72d6ff4 Remove stray label from last change. 1998-02-19 09:33:33 +00:00
mycroft 06ec9f646f Arrange to call com_break() and com_modem() at splserial().
It's simpler this way.  Really.
1998-02-19 09:23:38 +00:00
thorpej b0b3787d14 Include the NFS option header. 1998-02-19 00:47:02 +00:00
cgd a7f7004e33 include an MD header if arm32. (No header yet, but there will be
one eventually.)
1998-02-17 18:27:10 +00:00
thorpej 4399060ec9 - Perform all necessary bus_dmamap_sync() operations.
- Greatly simplify allocation and DMA mapping of the mailbox and ccbs.
- Be more robust against resource shortage errors, and report errors better.
1998-02-17 03:02:30 +00:00
thorpej 8354e68508 Remove "class" declarations, and add "devclass" declarations where
appropriate.  Fix several inconsistencies between device class and
attributes.  Mostly from Chris Demetriou.
1998-02-16 22:12:45 +00:00
thorpej 018aa6e97e Don't include <dev/scsipi/scsipi_conf.h> twice. 1998-02-13 21:58:40 +00:00
enami d0ad49a001 Backout previous change, and rather, remove all protection but the one
actually currently required.  Suggested by Charles M. Hannum.
1998-02-13 08:28:16 +00:00
enami dea45865d2 Don't include <dev/scsipi/scsi_all.h> twice. 1998-02-13 08:12:40 +00:00
enami ae193ba149 Move entry for IO-DATA PCLA/T out from comment. Since there may be
two different location for MAC address, just make bus-independent
layer to ask it.
1998-02-13 04:51:22 +00:00
enami ef09ae656f Fix or add protection for mutiple inclusion. 1998-02-13 04:19:13 +00:00
bouyer 0435e7ea98 Correct a bogosity in the adapter->mii attach code pointed out by cgd:
in pci/if_tl.c, call config_found() with a print function, instead of
printing ourself a message in if_tl.c if no miibus was found. The print
function is in mii/mii.c (mii_adapter_print()) so that it can be used by any
adapter (idea from the scsi system).
1998-02-11 19:02:11 +00:00
thorpej 841fb8fd54 Don't try to dynamically create and destroy DMA maps. Instead, keep
it simple, and allocate one for each transmit and receive descriptor.

In addition to being simpler and faster, this fixes a serious memory leak
in the transmit path.
1998-02-11 01:28:22 +00:00
thorpej 6e899bb965 Clear the scsipi_xfer's status byte before executing the command. This
fixes a condition where stale data can be left in the status byte, causing
user programs that interpret it to fail.

Fixes kern/4964 from Chris Jones <cjones@honors.montana.edu>.
1998-02-10 19:48:51 +00:00
mrg d90485202c - add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.
1998-02-10 14:08:44 +00:00
thorpej eda74e6121 - Perform all necessary bus_dmamap_sync() operations.
- Greatly simplify allocation and DMA mapping of the mailbox and ccbs.
- Be more robust against resource shortage errors, and report errors better.
1998-02-09 10:53:07 +00:00
thorpej 5fe6759646 Fix serial console support, which was broken by the previous revision:
- In the console getc routine, block until a character becomes ready
  (no, really, we mean it).  This routine should _never_ time out.
- In the console putc routine, if the UART has trouble, do NOT proceed
  to print a diagnostic message, which would recursively invoke the
  console putc routine ad nauseum.
1998-02-09 10:22:45 +00:00
pk cc06ca6693 * Add the "VIPER 150/21531" to quirk list (ST_Q_SENSE_HELP).
* Double timeout on tape position commands to 30 minutes. Some units
  seem capable of taking that much time.
1998-02-07 23:00:24 +00:00
thorpej 8e8eed4ba7 Create RX DMA maps with ALLOCNOW. These maps are essentially always
loaded, and recovering from a resource shortage error is much harder
in the receive case.
1998-02-07 21:13:34 +00:00
thorpej f955aa86e5 Properly handle error conditions from bus_dmamap_load_mbuf(). 1998-02-07 20:40:35 +00:00
augustss ae3e754e0b Newly generated version. 1998-02-07 20:07:37 +00:00
augustss 6d9b48ac1d Fix typo, and commit in the right order. 1998-02-07 20:05:25 +00:00
augustss c78e3507ba Add the AGP device in the 82443LX. 1998-02-07 19:32:37 +00:00
thorpej 208d979613 Use BUS_DMA_NOWAIT where appropriate. Don't create DMA maps with
BUS_DMA_ALLOCNOW.
1998-02-07 10:27:12 +00:00
cgd f1fa872906 don't forget class spec 1998-02-07 00:49:19 +00:00
cgd 5942e0ff3d initial implementation of OFW ISA bus code and attachments for a few
devices.  Still a bit rough, but works well enough.  Requires a bunch of
machine-dependent glue (since this is, in effect, a MI bus bridge).
1998-02-07 00:46:45 +00:00
thorpej e08a44b196 - Perform all necessary bus_dmamap_sync() operations.
- Greatly simplify allocation and DMA mapping of the mailbox and ccbs.
- Be more robust against resource shortage errors, and report errors better.
1998-02-06 23:06:44 +00:00
matt 8098a443f0 A version of the de driver which does bus_dma. Note that it has not been
tested on any other platform other than i386.  Use of bus_dma(9) can be
turned by defining TULIP_BUS_DMA_NOTX and TULIP_BUS_DMA_NORX.  These allow
one to determine if the problem is in the transmit or receive path.
A problem reported by mycroft is also fixed.
1998-02-06 20:57:12 +00:00
thorpej fd01cb624f Allow a ccd component to be on any partition type. 1998-02-06 08:13:07 +00:00
enami 9d13bc6e0e Restore system priority level before return from comopen(). 1998-02-06 03:25:34 +00:00
pk 0725302eac vme_bus_probe() takes an `offset' argument. 1998-02-06 00:22:41 +00:00
pk 40b15d9230 Add `offset' argument to probe routine. 1998-02-06 00:21:49 +00:00
mrg 1a8c7604f4 initial import of the new virtual memory system, UVM, into -current.
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code.  i provided some help
getting swap and paging working, and other bug fixes/ideas.  chuck
silvers <chuq@chuq.com> also provided some other fixes.

this is the rest of the MI portion changes.

this will be KNF'd shortly.  :-)
1998-02-05 07:59:28 +00:00
thorpej 0392bc60a1 Fix the FXP_TXDESCOFF() macro. 1998-02-05 07:31:52 +00:00
sakamoto a2b24d5571 Change "__BUS_SPACE_NEED_STREAM_METHODS" to "__BUS_SPACE_HAS_STREAM_METHODS". 1998-02-04 14:13:40 +00:00
thorpej ec6c5c10d7 Add necessary bus_dmamap_sync() calls for memory mapped with the COHERENT
hint, per bus_dma(9).
1998-02-04 08:26:42 +00:00
thorpej 8abe76d2f0 Add offset and length parameters to bus_dmamap_sync(), used for specifiying
partial syncs of a DMA mapping.
1998-02-04 05:12:46 +00:00
pk 3995590109 Use `offsetof()'. 1998-02-04 01:19:23 +00:00
pk 749d6cf61d Account for changed vme_bus_probe() args.
Fix vme_ie_write24() to use bus_space_write_2() in stead of poking
directly into the bus handle.
1998-02-04 00:59:02 +00:00
pk 62f18b7ff0 Use vme_bus_probe() callback for device detection.
Use correct VME modifier (A16+D32 instead of A32).
1998-02-04 00:55:52 +00:00
pk 47afb35008 Use vme_bus_probe() callback for device detection. 1998-02-04 00:54:27 +00:00
pk c7a01456a0 Add a callback function to vme_bus_probe(), for device-specific probes
using mapped device space.
1998-02-04 00:50:44 +00:00
thorpej 296d96f42c Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC to
BUS_DMA_COHERENT.
1998-02-04 00:38:50 +00:00
pk c1e336fc0b Erase a spurious structure definition. 1998-02-04 00:38:34 +00:00
thorpej a7c5c1ef3c Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC to
BUS_DMA_COHERENT.
1998-02-04 00:32:55 +00:00
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
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