Commit Graph

16 Commits

Author SHA1 Message Date
briggs 8c948a0386 Patches from takashi.yamamoto@bigfoot.com in kern/13139.
- Set XS_TIMEOUT on a selection timeout condition.
- Do not bother to call AscStartChip() in AscResetChipAndScsiBus()--
  just clear the chip status.
- Make sure address is word-aligned in AscWriteLramByte().

Tested on my adv (AdvanSys ABP-9xxUA) with CRW8424S and UMAX SuperVista S-12.
Earlier versions of the system would get stuck trying to recover from error
conditions when the CD-RW drive was in heavy use.  I have not seen that
behavior with these small patches.
2001-06-09 17:18:21 +00:00
lukem f863105161 remove some lint, including ansifying funcs 2001-04-30 02:55:08 +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
mrg 314f1e97c5 remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 17:12:48 +00:00
mrg 89d0a3e519 remove redundant vm includes. 2000-06-26 14:38:50 +00:00
thorpej ec368bb906 Fix a problem uncovered by attempting to compile on the Alpha: overrun_buf
was being initialized to a KVA, when we really wanted a DMA address.  Change
the code to allocate the overrun buffer with the control blocks, and
properly initialize overrun_buf.

Note that overrun_buf cannot actually be shared between all boards; DMA safe
memory could vary from bus to bus.

Garbage-collect two functions which are no longer used because of the
above changes.
1999-08-07 07:20:15 +00:00
dante d0fb45fdf3 Clean up some stuff
Remove chip version check
Now compile again on 68k based systems
1999-06-12 12:09:01 +00:00
dante 162dba620b Add support for ISA, EISA and ISApnp cards
Fixed a bus reset bug which shows on arm32
1999-06-06 17:33:18 +00:00
dante 198f1f5c48 Fix AdvanSys Narrow driver to work on Alpha 1999-02-25 20:21:33 +00:00
dante 2cb48d6c4e Add support for macppc.
Very special thanks to Itsumi Tsutsui for his invaluable collaboration.
1998-10-28 20:39:45 +00:00
dante 773dc968ad Remove some debugging printf 1998-10-14 13:28:47 +00:00
dante de1d4ba9b0 Change the way uCode is loaded into board LRAM, to let it work on macppc. 1998-10-13 22:57:26 +00:00
dante c6ccd1d83f Remove Wide boards references
Adjust copyright

At this time this driver support the following AdvanSys boards:
- ABP-9xx
- ABP-9xxU
- ABP-9xxUA
1998-09-26 16:02:56 +00:00
dante 17759893b0 Add rcs id 1998-08-29 13:44:49 +00:00
thorpej 370a38c007 Add braces to make egcs happy. 1998-08-28 20:03:10 +00:00
dante d9e417cde9 Add AdvanSys 930U and 940U SCSI controllers 1998-08-26 14:13:58 +00:00