Commit Graph

20 Commits

Author SHA1 Message Date
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
mjacob 296fbeed2a Patches from msouth@scruz.net to handle QIC 3220 (HP T20). 2000-02-21 05:11:09 +00:00
soren 1d04441597 Remove outdated list of density codes. mt(1) has helpful
hints and the SCSI specification has the real, current list.
1999-09-30 12:12:41 +00:00
mycroft 04f0dc658c Assign my copyrights to TNF. 1998-08-17 00:49:01 +00:00
mycroft 6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
drochner e2a2525203 fix incorrect length of LOCATE CDB (reported in PR kern/5306 by
Dave Huang <khym@bga.com>)
1998-08-06 10:20:38 +00:00
enami d0ad49a001 Backout previous change, and rather, remove all protection but the one
actually currently required.  Suggested by Charles M. Hannum.
1998-02-13 08:28:16 +00:00
enami ef09ae656f Fix or add protection for mutiple inclusion. 1998-02-13 04:19:13 +00:00
enami d7d845c3d2 Cosmetic changes to keep coding style consistency in this directory;
- Indent with tab of width 8.
- Use four column to indent continuation line.
- Fold long line if possible.
- Use return (xx) instead of return xx.
- Compare pointer against NULL instead of testing like boolean.
- Delete whitespace at the end of line.
- Delete whitespace in front of function call operator.
- Delete whitespace after cast.
- Dereference a pointer to function explicitly.
- Add an empty line after local variable declaration.
- Use NULL instead of (char *)0.
- Dont use block for single statement.
1997-10-01 01:18:38 +00:00
mjacob d3349ea385 Add SCSI-3 DATA COMPRESSION page structure.
Add READ POSITION command structure. Add READ_POSITION and LOCATE opcodes.
1997-09-29 19:29:02 +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
thorpej a0be48ca23 Implement ST_Q_UNIMODAL quirk, which indicates that a drive will reject
all attempts to mode select, even if the attempted mode is supported.
Add the ST_Q_UNIMODAL quirk for the HP Colorado T4000s which exhibits
this behavior.  (Someone please lob a tactical nuke in that direction.)

From David Rosenthal <dshr@vitria.com> on netbsd-bugs.
1996-05-24 02:04:29 +00:00
mycroft e819063285 Define a full set of [234][bl]tol() and lto[234][bl]() conversion functions,
inlined.
Use sized types in protocol structures.
Make the definition of scsi_sense_data less ugly.
1996-03-19 03:05:15 +00:00
thorpej 5b51ec5cc8 Honor cache request and implement erase command, and add the SCSI tape
device configuration page.  Fixes PRs 807, 1201, and 1705.
From John Kohl <jtk@kolvir.blrc.ma.us>.
1996-01-11 03:36:34 +00:00
mycroft 8fd135209c Numerous changes. Many bugs fixed, better autoconfig, a few new features. 1994-12-28 19:42:47 +00:00
cgd fccfa11af5 New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:39:25 +00:00
mycroft eee893f9ea Various cleanup, but no functional differences. 1994-04-13 05:43:19 +00:00
mycroft 2e5a28159f New SCSI system, based on Julian's more recent work. 1994-03-29 04:29:20 +00:00
cgd c59cd967ff add rcsids and clean up file headers 1993-05-20 03:46:09 +00:00
cgd e541169ce2 after 0.2.2 "stable" patches applied 1993-03-21 18:04:42 +00:00