Commit Graph

16 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
enami 730f15bb19 Free resources on attach failure. 2000-02-04 09:31:07 +00:00
cgd 942a54e0c1 replace the *_lookup table entry match/lookup functions in all of
these drivers with a single common function (which supports tables
of variable-sized structures).  Things are mostly as they were before:
tables are terminated by entry with NULL name, etc.  There's also
the ability to call a driver-specific match function which can be used
to augment the table lookup.
2000-02-04 01:27:12 +00:00
enami f38640f00f Add some comments and reformat comment which doesn't confirm KNF. 1999-11-18 14:20:11 +00:00
enami a2369d8e97 Cancel active transfers on aic/wdc detach.
Also makes LS-120 drive works for me again.
1999-10-20 15:22:24 +00:00
enami 2a328ebcb2 Allow to detach aic, but turned off by default. The patchable variable
aic_dodetach controlls this.
1999-09-26 08:14:57 +00:00
soren 211476aea7 Match 1460 names with Adaptec. 1999-09-07 19:30:10 +00:00
mjl 36da665f8c Added NewMedia BusToaster, an Adaptec 152x compatible. 1999-06-19 18:50:28 +00:00
thorpej d5a491540c Disable power management until the bug that caused it to hang the
machine can be found.

Addresses kern/6488, from Thorsten Frueauf.
1999-04-27 02:53:30 +00:00
thorpej 8c2f638d29 Add support for power management and lazy interrupt establishment to the
PCMCIA aic6360 attachment.
1998-11-20 02:12:15 +00:00
thorpej 2101c736a3 Make the product lookup table-driven. 1998-10-11 18:42:01 +00:00
christos e3bc291504 Add a devlist2h.awk so that we don't sprinkle the same constants over
each device driver file and use it.
1998-07-19 17:28:15 +00:00
thorpej 5bc2217a49 Nuke __BROKEN_INDIRECT_CONFIG. 1998-06-09 07:24:55 +00:00
enami f4c1a44b26 Use SIMPLEQ_FIRST/NEXT macros. 1998-06-05 03:02:31 +00:00
drochner 301a6046c8 fix argument declaration inconsistency in the
non-"__BROKEN_INDIRECT_CONFIG" case
1997-11-30 15:16:55 +00:00
thorpej c66b8643d1 Pull marc-pcmcia branch down from trunk. 1997-10-16 23:27:16 +00:00