Commit Graph

39 Commits

Author SHA1 Message Date
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
matthias
bb66aaeadc * Make it possible to disable disconnect/reconnect on a per target base.
* Eliminate disable interrupts in ncr_pdma_in. No more fifo overflows at
  high baud rates :-) (Thank's to Ian Dall for this).
1997-07-09 19:28:25 +00:00
matthias
e2a1653bf0 * Only cosmetic changes. 1997-04-01 16:31:45 +00:00
matthias
80502accfe * Remove unused ncr_minphys prototype.
* Add prototype for ncr_ready.
* Add ncr_wait_not_req function from Ian Dall:
	The ncr_wait_not_req business is to avoid a potential race.
	When the pseudo DMA finishes, the target may not have
	lowered REQ yet. If we just charge ahead, we eventually test
	for phase when REQ is high. However, if REQ has not yet gone
	low for the last byte transferred, this will be the wrong
	phase. This is taken from the dp8490 application notes. The
	last ACK is not deasserted until the dma is completed.
	Deasserting the last ACK should be delayed until the last
	REQ is deasserted. I am not sure if there are ever devices
	this slow, but I believe the code is "more correct".
1997-03-20 12:03:01 +00:00
matthias
dd064fc88a Reset the scsibus only when bit 2 is set in flags. 1997-03-01 09:50:40 +00:00
gwr
2de163471e Minimal changes to adapt to removal of NCR5380_PERMIT_RESELECT.
This driver should be updated to allow per-target control over
disconnect/reselect, but I will leave that to the port masters.
1997-02-26 22:29:08 +00:00
matthias
47fe16475c * Use confargs in probe and attach routines.
* Irq and address are now printed by mbprint.
1997-01-11 10:58:12 +00:00
matthias
70597563c6 * Match functions take a "struct cfdata *" as their second argument.
* intr_establish now takes *two* ipls. One at which the handler should run,
  and one in which the interrupt should get blocked.
* Make transfersize configurable for input and output. Default the input
  transfersize to 128 bytes. That way interrupts won't be disabled for more
  then about 128us-256us for slow targets. This is necessary to prevent scn
  fifo overruns. Cleanup the pdma code. Thank's to Ian Dall for these
  changes.
1996-12-23 08:37:04 +00:00
matthias
ee943634a8 * Prototyping tweaks. 1996-11-24 13:32:48 +00:00
thorpej
b12cf5890d RCS id police. 1996-10-15 21:59:03 +00:00
christos
e37692f04d backout previous kprintf change 1996-10-13 03:29:05 +00:00
christos
848c9d8f02 printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:39:22 +00:00
matthias
f0c2efd752 * Remove ncr_minphys. Simply use minphys.
* Protect interrupt code with splbio.
* Don't use intr_disable/intr_enable in the pdma routines.
1996-10-09 07:29:58 +00:00
cgd
71ad30d0e9 (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
    single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
    function, and kill any locally-defined print function.
1996-08-28 18:59:15 +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
phil
8d6d309bf0 Minor fixes from Matthias Pfaller.
ncr.c => add parity disable code.
1996-05-19 05:32:09 +00:00
thorpej
77abd102b7 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 01:38:52 +00:00
phil
d92d9aa2f7 Move the pc532 ncr5380 driver to the MI one. 1996-03-11 20:50:50 +00:00
jtc
0cd793449e merge in changes from 1.1 release branch 1995-11-30 00:56:23 +00:00
phil
03fa08025b Major update: Many changes from Matthias Pfaller.
* conf/DEFAULT: new file, default install kernel
* conf/INSTALL: +MSDOSFS, +NO_INLINE_SPLX, +RD_SIZE=2mb, +scn4/5
* conf/KLONDIKE: cosmetic changes
* conf/STEELHEAD: cosmetic changes
* conf/files.pc532: rd got a file of it's own
* dev/lpt.c: changes to support lower interrupt latency, packet input/output
  is now done at spl0
* dev/ncr.c: changes to support the most recent atari version of the ncr5380
  driver
* dev/ncr5380.c, dev/ncr5380reg.h: upgraded to most recent atari version,
  memcpy -> bcopy.
* dev/rd.c: ramdisk driver
* dev/scn.c: by patching scndefaultrate, the kernel's default baud rate can
  be changed with gdb
* include/psl.h: struct iv now protected by !LOCORE && _KERNEL
  inlining of splx can be prevented with new kernel option NO_INLINE_SPLX
  splx_di is like splx but leaves processor interrupts disabled
* pc532/autoconf.c: cosmetic changes
* pc532/conf.c: with rd entries
* pc532/intr.c: changes to support splx_di
* pc532/locore.s: ramdisk is no longer initialized
  not splx, but rett is now used to reenable CPU interrupts when leaving the
  interrupt service routine. This is necessary to prevent recursive interrupts.
* pc532/sys_machdep.c: memcpy -> bcopy
* pc532/mem.c: moved ramdisk to dev/rd.c
* stand/Makefile: boot is now loaded at 0x3eb800 instead of 0x363800
  Use current form of libsa and libkern.
* stand/inflate.c: emit twiddle every 8k and not every 1k
* stand/rd.c: ramdisk starts at 0x288000
1995-09-26 20:15:57 +00:00
phil
3564c1fcc2 More changes to ncr driver to try to get it working. (From Matthias Pfaller) 1995-08-29 22:44:27 +00:00
phil
47ff5d6b3d More changes to the "new" ncr interrupt driven scsi driver (from M. Pfaller)
Bring back the old polled driver until a kernel built with the interrupt
driven one is stable enough for production use.
1995-08-25 07:30:33 +00:00
mycroft
80d7b0695a minphys() functions really should return void. 1995-08-12 20:30:45 +00:00
cgd
ffe4785a58 update SCSI minphys routines' definitions to match standard minphys()
definition and usage.
1995-07-24 07:33:32 +00:00
phil
ad4af073cd Updates from Matthias Pfaller. (leo@marco.de) 1995-06-26 23:13:54 +00:00
phil
2f62eae02d Checkpointing ... still has a couple of problems but it is better.
(include/{icu.h,psl.h} should be listed as part of this checkpoint.)
1995-06-18 07:18:02 +00:00
phil
a8674363a7 Replacement of the NCR driver by the Leo Weppelman NCR driver as
ported by Matthias Pfaller (Thanks to both!) and a RCS id.
1995-06-09 04:36:14 +00:00
phil
29db7c74b1 Changes from Matthias Pfaller: lpt driver changes, clock code similar
to i386, interrupts from static table to dynamic table, other small
fixes (locore.s byte operates -> double operands ...)
1995-05-16 07:30:30 +00:00
phil
8579e47846 move nncr.c -> ncr.c, nscn.c -> scn.c 1995-01-19 07:03:35 +00:00
cgd
dafacba9d5 new RCS ID format. 1994-10-26 08:23:50 +00:00
phil
6d82a5754b I missed this change a while ago. 1994-07-10 17:21:56 +00:00
phil
7d7d0eedfe moved pc532/pc532/icu.h to pc532/include. 1994-05-17 17:29:34 +00:00
phil
6c6a8ee7de minor clean up. 1994-04-19 17:10:34 +00:00
phil
130bf68fa5 ncr: try to get it to recognize slower devices
scn: mode it closer to i386 version
1994-03-22 00:15:21 +00:00
phil
9c07c19e94 Adding a delay in the check processing that lets it find some slower devices. 1994-03-17 01:02:34 +00:00
phil
92f7fca836 Allowing pseudo_dma and cosmetic changes. 1994-03-10 21:35:48 +00:00
phil
28a4cae003 Changes to add a real console driver. 1994-03-08 19:47:51 +00:00
phil
e082e0b31d Changes to get the first working scsi driver (ncr.c) for the pc532. 1994-02-23 07:59:03 +00:00
phil
08a88e813d Changes to get the "ncr" driver in the tree. Still trying to get a working
scsi driver.
1994-02-22 22:54:42 +00:00