Commit Graph

7 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
mhitch 44d42ae28b Add some glue so let the SII driver work with MI SCSI. 2000-06-02 20:16:51 +00:00
simonb ee075b7de7 Function prototype cleanup. 2000-01-08 01:02:35 +00:00
simonb 469658d533 - Allow all valid SCSI id's to work on the SII and first two ASC
controllers (including SCSI id 7 on the 2100/3100).
- On the pmax (2100,3100) set the host SCSI id to 6.
- Move disk and tape config for the second ASC controller from the GENERIC
  config file to scsi.pmax so all configurations can use the second
  controller.
1998-05-08 00:05:19 +00:00
jonathan 4ea6444493 Decsystem 5100 (aka mipsmate aka kn230) support:
* dec_5100.c: sysconf, interrupt, and  motherboard (drain writebuffer)
   support for 5100.
 * support for hardware kludge in 5100: sii DMA buffer is hardware
   padded to alternate 32-bit words, not alternating 16-bit  halfwords.
 * 5100 has no framebuffer, console is wired to serial port 0.

With ibus support, boots as far as exec'ing init, and hangs.
1998-04-19 01:27: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
jonathan 986daa1436 Split sii driver into bus-dependent front-end and chip-specific back-end:
sii_ds.c -- front-end for Decstation 2100, 3100, 5100(?)
    sii.c --  driver for DEC scsi asic used in decstations and vax 3400s
    siivar.h -- shared softc
1996-10-13 03:02:39 +00:00