Commit Graph

26 Commits

Author SHA1 Message Date
scottr
5b80f9077f Tweak sbc_drq_intr() (interrupt-driven PDMA interrupt handler); it
now works properly on at least some disks.  Further testing is
necessary.
1997-05-13 06:34:00 +00:00
scottr
70dcf0b5f6 Undo a hack added in the last overhaul (which caused an extraneous byte
to be written to the target).  Also, use the sc_min_dma_len field
to determine whether to use PDMA or PIO.
1997-04-28 15:59:20 +00:00
scottr
19c5134870 For small writes, use PIO rather than PDMA; this increases the reliability
of the driver (considerably, on some systems/targets).
1997-04-18 17:38:08 +00:00
scottr
29c981b924 Rework PDMA read/write functions based on Matthias Pfaller's pc532 ncr
driver.  Major highlights:

 - Protect with splbio(), now that interrupts from the chip might be
   enabled by default;
 - Wait for current transfer to complete before returning, rather than
   wait for previous transfer to complete before starting another;
 - Instead of logging a "timeout" message when a target disconnects,
   just return, letting the sbc_ready() and sbc_wait_not_req() print
   timeout messages if such really did occur.

With interrupt changes to sbc_obio.c, disconnect/reselect now works if
configured into the kernel.
1997-04-07 05:48:35 +00:00
scottr
421abedbfe Split bus-dependent autoconfig code from the driver. This allows for
the future addition of a Duo Dock front end.
1997-03-01 20:18:58 +00:00
scottr
359101fb43 Convert to generalized VIA interrupt registration 1997-02-28 07:46:59 +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
scottr
9c91a181d6 Update copyright and license. 1997-02-24 05:47:33 +00:00
scottr
7c87e4e501 #ifdef out write hack, and fix possible uninitialized variable. 1997-01-20 04:27:49 +00:00
scottr
3753710f38 Fix typo in last: cf->cf_unit -> sc->dv.dv_unit 1997-01-07 07:40:46 +00:00
scottr
3afad659e2 Add basic support for a Duo dock SCSI controller, from Daishi Kato.
XXX - This could probably be improved if all docking hardware has a
NuBus declaration ROM that we can get to.  This should be investigated
further.
1997-01-05 10:01:42 +00:00
scottr
9b4055eb72 Convert all foo_match() functions to use a `struct cfdata *' for their
second argument.  The NuBus autoconfig code had to be reorganized as a
result of this, and looks much more like a directly-attached bus now.
These changes eliminate __BROKEN_INDIRECT_CONFIG.
1996-12-16 16:17:02 +00:00
thorpej
a0dffcafc2 Use bitmask_snprintf(). 1996-11-13 07:00:30 +00:00
christos
40ecbf8e72 backout previous kprintf change 1996-10-13 03:21:13 +00:00
christos
06555645c2 printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:24:36 +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
scottr
6c3aabe226 Update some comments, and the copyright 1996-06-19 01:47:28 +00:00
scottr
c72d612674 Deal with interrupt flags more carefully, and use the correct offset
for PB500-series SCSI I/O.  While I'm here, update the copyright.
1996-06-11 03:20:23 +00:00
scottr
cac1b831e9 - Simplify writes in sbc_drq_intr().
- When finished writing, if the SCSI bus has BSY asserted, write another
  byte to the SBC to ensure we get an interrupt.
- Unflag SCSI interrupts on the VIA whenever we clear the interrupts
  on the SBC itself.
1996-05-29 14:26:33 +00:00
scottr
99e86ac209 Remove some gross hacks that were added due to interrupt grossness that
has been partially fixed.  Also, add a new flag (which rearranges them
a bit, unfortunately) to use PDMA for polled transfers.
1996-05-08 03:44:56 +00:00
briggs
37163421a3 Prototype for -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-uninitialized
Also change the device probing scheme to use something a bit more rational.
A current side-effect is that nubus cards are double-mapped.  I expect
to fix that shortly.
Also change splclock() to block everything but serial hardware interrupts.
1996-05-05 06:15:56 +00:00
scottr
b2af0c2297 Kill unused variables and fix prototypes. 1996-04-30 18:11:38 +00:00
scottr
b50e8aab63 - Drop SCSI IRQ interrupts if we are already handling one. This works around
a condition that occurs with some slow SCSI devices when they disconnect
  (e.g. the AppleCD 600), generating spurious selection interrupts.
- Reorganize the debugging code slightly.
1996-04-30 17:07:17 +00:00
scottr
eb335437e2 Ooops. ncr_sbcreg.h -> sbcreg.h 1996-04-25 23:47:06 +00:00
scottr
aca6a2e6da Renamed these files. 1996-04-25 22:26:52 +00:00