Commit Graph

47 Commits

Author SHA1 Message Date
mycroft b328298e4c Fix up includes. 1997-10-16 10:49:00 +00:00
bouyer 6f3bab1f59 Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
1997-08-27 11:22:52 +00:00
fair 4c351f243e %x -> 0x%x 1997-07-29 09:58:04 +00:00
thorpej 7c03f46228 Don't print a warning if the returned transfer count is less than 0.
This can happen during perfectly normal operation if:
	(a) We are using DMA to select a target, and
	(b) we are interrupted by another target reselecting us.
Per discussion with Paul Krannenburg.
1997-06-26 00:31:20 +00:00
pk ec02e14ae2 Remove all `bustype' arguments from map[io]dev() and REG2PHYS(). 1997-05-24 20:16:06 +00:00
pk 547d95a029 Remove esp FLUSH when residual bytes are present in FIFO, the ncr53c9x
driver will flush when necessary. Doing the FLUSH here interferes
with DMA-enabled target selection.
1997-04-27 22:12:40 +00:00
pk f62b65006f Clamp burst sizes to maximum value of parent.
Reset ledma from leattach().
1997-03-23 22:54:26 +00:00
pk d8fc2afd1e Replace `cpumod' with `cpuinfo.cpu_type' equivalents. 1997-03-10 23:01:40 +00:00
thorpej e33bdc63ae Update for MI 53c9x driver. 1997-02-27 01:30:05 +00:00
pk 841d1ec634 Comply with recent autoconfiguration changes. Diffs graciously
supplied by Chris Demetriou.
1996-12-10 22:54:46 +00:00
pk b2f875fce9 Handle Sbus burst settings in dma reset(). 1996-11-28 10:30:34 +00:00
pk c7f438cd11 Handle the `ESC gate array' variant of the DMA engine, including an
essential bug work-around. Graciously supplied by David Miller.

Also re-arrange the macros that do the dma drain song-and-dance for
better clarity.
1996-11-27 21:48:19 +00:00
thorpej 35c9c776fe Use bitmask_snprintf(). 1996-11-13 06:13:39 +00:00
christos 7d1960f502 backout previous kprintf change 1996-10-13 02:59:38 +00:00
christos 19d8368f2f printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:44:42 +00:00
cgd 2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
pk e2ec1dab69 Avoid compiler warning on SUN4-only kernels. 1996-06-29 20:10:50 +00:00
pk 2266b8dd57 Use the setting of the ESPCFG2_FE bit rather than revision number to decide
on the ESP chip's maximum transfer count.
1996-06-12 19:12:19 +00:00
pk 3dfb6ab8c0 Code the residual computation a bit differently. 1996-06-03 23:48:41 +00:00
pk 68691c178c Allow all esp dma channels to be called `dma'. 1996-05-21 19:07:30 +00:00
pk da5c96baa1 Correct an oversight and a silly past-o in last change. 1996-05-17 22:54:40 +00:00
pk 3f1283a92f Re-arrange code that looks for the esp driver to allow for the fact that
any "dma" device (i.e. not just "espdma") can have an OBP child. This is
the case with (at least some) SBus SCSI boards.
1996-05-16 21:45:35 +00:00
abrown 709298a10a - Changed Sun4m DMA chip support to detect and use maximum available SBus
burst size when transferring data.
- Changed ledma attach code to pay attention to the PROM's notion of what
  cable type is being used. Note that this patch does not fix the problem
  recently discussed on port-sparc; in most cases the PROM doesn't know
  what cable type is being used. The default is now TP rather than AUI,
  though. A complete fix is forthcoming.
1996-04-22 02:34:53 +00:00
christos 34f644d1b9 Remove casts of printf args for %b format. 1996-04-01 17:31:38 +00:00
pk 954302ae70 Handle sun4m `ledma' and `espdma'.
DMA setup requires services of the IOMMU.
1996-03-31 22:32:45 +00:00
pk c299fd2d61 Bitfields are unsigned. 1996-03-26 01:28:50 +00:00
pk a8564828ee Back to normal printf()s, now that gcc understands `%b'. 1996-03-26 00:35:25 +00:00
thorpej 3cd14f7597 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 02:00:30 +00:00
christos 03b701e393 Bring prototypes into scope and fix compiler warnings. 1996-03-14 19:44:30 +00:00
pk 9216cf3276 Drain rev 1 chips in dma_reset(). 1996-02-27 00:36:11 +00:00
pk d5ddbf99ab Separate DMA and SCSI routines more. 1996-02-12 15:59:51 +00:00
chuck b5ddd8431d dmamatch never added in the offset for the dma registers to the VA,
and thus probed the wrong address on the 4/300 (but it worked because
it was probing the esp0 registers!).

now that bus_tmp() adds the offset in for us [as of obio 1.19] i
discoved that a byte access to the dma registers is not allowed.
so, i've change probeget to use a word access.
1996-01-12 22:03:39 +00:00
pk 644c68a706 Towards machine independency, per cgd: macros to access hardware registers. 1995-12-18 23:58:31 +00:00
pk 0d1981416d Adapt to changed mapiodev() interface. 1995-12-11 12:43:14 +00:00
pk def161af38 Careful with signed chars (caddr_t *!).
Merge in 1.1 changes.
1995-11-28 20:26:59 +00:00
pk bbdb422873 Stop DMA before resetting 1995-11-03 16:34:12 +00:00
pk e4fcc8ab5a Move DMA chip draining to dmaintr() and drain when a (possibly partial)
transfer ends in stead of doing it before starting a new transfer.
Use a different CSR bit to wait for "chip not busy" (may be necessary to
make this conditional on chip revision).
1995-10-24 16:26:54 +00:00
pk 7b7773a0c5 Use bootpath_store() to set next boot component; used in dk_establish()
to match `sd' devices against the PROM's boot path.

Detect DMA "overshoots" when handling odd-sized transfer sizes (e.g., xfers
from/to raw partitions), by using the "Transfer Pad" command when the
transfer count reaches zero.
1995-08-18 10:43:46 +00:00
pk c897fc5127 Better 4/100 support. 1995-03-01 21:09:19 +00:00
pk f6cd1eeea7 Integrate changes from Chuck Cranor for the Sun 4/100.
Support for multiple register banks on SBUS devices (based on patches
from Francis Dupont).
Highlights:
	romaux defines an array of register spaces.
	pay attention to `vactype'.
	quirks handling 4/100 idiosyncracies.
1995-02-01 12:37:21 +00:00
deraadt 3a4ca432b2 no need to turn DMA off twice 1994-11-25 23:12:44 +00:00
deraadt 941871d6ab XXmatch change (and a few __P() as well) 1994-11-23 07:02:02 +00:00
deraadt 274a90762d copyright/Id cleanup 1994-11-20 20:51:32 +00:00
deraadt 2fb5b874a1 sbus_establish() is sun4c/sun4m specific 1994-10-15 08:57:20 +00:00
deraadt 3ae3c206d7 mapiodev takes a bustype argument now 1994-10-15 05:48:47 +00:00
deraadt 425833d1b0 sun4/300 support works 1994-10-02 21:59:56 +00:00
deraadt 1340faab13 Replacement esp (NCR 53C9X + LSI DMA) scsi driver from Peter Galbavy. 1994-09-17 23:48:32 +00:00