Commit Graph

55 Commits

Author SHA1 Message Date
matt
fbcc3c4d38 Fix real uninitialized variable bug. 2003-10-30 22:35:38 +00:00
matt
b569a45229 Fix indentation/whitespace. 2003-10-30 22:25:42 +00:00
lukem
4b2744bf35 __KERNEL_RCSID() 2003-07-15 02:43:09 +00:00
wiz
1ffa7b76c4 DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
thorpej
d57736a746 Use PAGE_SIZE rather than NBPG. 2003-04-02 01:09:19 +00:00
thorpej
666aa24c58 Use CFATTACH_DECL(). 2002-10-02 05:51:28 +00:00
thorpej
f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
provos
0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
bouyer
937a7a3ed9 Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
  ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
  to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
  peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
  recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
  scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
  (no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
  set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
  the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
  will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
scottr
3310f57beb Replace references to PGOFSET with m68k_trunc_page() and m68k_page_offset(),
as appropriate.
1999-12-12 08:18:48 +00:00
thorpej
e6c88a7686 Update for SCSIPI changes. 1999-09-30 22:59:52 +00:00
mjacob
74bc9f26d5 Update HBAs to incorporate the new max_lun property. 1998-12-05 19:43:33 +00:00
thorpej
5f0577babc Adapt to the new scsipi_adapter interface. 1998-11-19 21:43:00 +00:00
thorpej
29d472f53d Garbage-collect the open_target_lu and close_target_lu entry points from
struct scsipi_adapter; they were not used.

Add a scsipi_ioctl entry point to struct scsipi_adapter.  This will be
used to issue ioctl commands to the host adapters.

Inspired by PR #6090, from Matt Jacob.
1998-10-10 00:28:28 +00:00
wrstuden
4f500bad2e Another printf("%:"...) bites the dust (->vprintf(...)) 1998-07-02 00:47:30 +00:00
thorpej
36760d9d94 Update for changes to config. 1998-01-12 18:59:04 +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
scottr
e8b8d1b050 Clean up a few bogons+typos introduced in the removal of the broken indirect
config code.
1996-12-19 21:48:17 +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
d502e68402 Fill in sc_link.max_target 1996-12-10 21:27:16 +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
briggs
9f01fc6ee4 Add a comment about the last change. 1996-06-23 15:02:58 +00:00
briggs
0d0487a98b Wait longer (2.5 sec) in wait_req_true/false. Some targets take a long time. 1996-06-07 02:44:15 +00:00
briggs
534d58c701 Get rid of compiler warning if DBG_PID is not defined. 1996-05-22 17:16:45 +00:00
briggs
1d8ac2ad92 Update to something closer to the atari port. 1996-05-06 22:26:26 +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
christos
933d138841 Change %r -> %: as for recursive printf's 1996-03-30 21:01:21 +00:00
briggs
b39b4939fc Fix minor oversight in a sanity check--caught by Jason, I think, and reported
by Scott.
1996-03-29 02:12:41 +00:00
scottr
0b59005d3d Fix a long-standing bug uncovered by the new device attachment
model.  Thanks to Jason Thorpe for the fix (fixed PR 2235).
1996-03-20 05:10:54 +00:00
thorpej
82d914d090 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:26:49 +00:00
briggs
1c817d1c3c Fix a typo in last. 1996-03-07 20:47:01 +00:00
briggs
7c44b1180f Disable SCSI linked commands, but allow kernel option to override. 1996-03-07 02:26:37 +00:00
briggs
ab3f741911 Update to latest Atari driver, but with some local modifications. 1996-02-19 02:51:03 +00:00
briggs
2a878c9a3a Move debugging defines, etc. into mac68k5380.c and use them instead of
something similar but different.  Make a few cosmetic changes.
1996-02-03 23:17:53 +00:00
briggs
229c36d3dd Patch a few of the holes in the machine-dependent part of this driver.
Sync the m.i. part with the Atari.
1996-01-24 06:02:06 +00:00
briggs
f5269d0ff6 Fix from Paul Goyette for off-by-one error. 1996-01-06 15:56:12 +00:00
briggs
682c4ec08f Bring in a few changes from Atari port.
Add support from Paul Goyette for keeping more than just the last 2
states when debugging.
1996-01-06 05:18:06 +00:00
briggs
405ac4248f Fix from Paul Goyette to disable linked commands on drives that
reject them for simple commands.  Leo W. reports that this does
not work for some systems.  It's better than what we have now,
though.  From Paul Goyette <paul@pgoyette.bdt.com>.
1995-12-13 03:48:07 +00:00
briggs
76b94759a1 Fix from Paul Goyette (paul@pgoyette.bdt.com) for drives that don't grok
linked commands.
1995-12-04 02:10:44 +00:00
briggs
1b03745209 cmdlen-2 is right for the last byte of the command. Ifdef out for right now,
though, as some devices apparently don't support linked commands and will
reject commands that have the link bit set in them.
1995-12-01 15:14:11 +00:00
briggs
d416ec2cc9 Put the link flag in the right place.
Pointed out by Paul@pgoyette.bdt.com (Paul Goyette).
1995-11-30 14:25:40 +00:00
briggs
8218c4005c Pull in all but one of Leo's changes from the atari copy. 1995-10-31 15:32:35 +00:00
briggs
685b9057c2 Pick up changes from leo's latest version. 1995-10-08 17:25:19 +00:00
briggs
d510375b06 Change to allow nack_message() to take an argument and send
MSG_REJECT_MESSAGE instead of MSG_ABORT when we get an extended message.
This allows a DEC drive to work when it attempts to negotiate synch.
transfers on us.
1995-10-02 09:03:53 +00:00
briggs
e8dbcda856 Do not define MIN_PHYS here--it is m.d.. 1995-09-18 13:52:43 +00:00
briggs
a8b0260a05 Sync. with atari ncr5380.c -- mainly whitespace changes. 1995-09-16 15:06:55 +00:00
briggs
4dc81200f5 Rename scsi_main_irq() to pdma_ready().
Missed a few ATNs in last patch.  (pointed out by Leo).
Raise timeout from 100 to 1000.  From Leo.
1995-09-16 11:45:18 +00:00