Commit Graph

41 Commits

Author SHA1 Message Date
thorpej 2d53e59a47 Update for changes to config. 1998-01-12 19:51:03 +00:00
phil 5050531ac6 Do transfers with interrupts off. 1997-11-24 12:35:20 +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
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