Commit Graph

19 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 91d0eb55ed More 53c770 stuff: update 53c720/770 register defines and use them in
siop2.c.  Add wide negotiation and Ultra support.  Modify siop.c to match
the siop2.c sync negotiation changes.  The CyberStorm MKIII driver now
supports 15 targets.  Remove some old table-driven sync rate stuff from
the original Zeus driver.
1999-03-26 22:50:22 +00:00
is 5cbe57d881 Missing part of CS Mk. III changes 1999-03-09 20:31:34 +00:00
thorpej 5f0577babc Adapt to the new scsipi_adapter interface. 1998-11-19 21:43:00 +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
veego 974e9f6e22 - Cleanup for -Wall and -Wstrict-prototypes
- Added support for multiple floppy drives
- CyberVision64:
        - has now a real console mode
        - another bugfix for boards with the new S3 chip
- Ariadne:
        - fixed crashes with aeput (mbuf failure)
1996-04-21 21:10:48 +00:00
chuck 623ec41006 Ensure siop_acb alignment via malloc rather than let alignment depend
on the size of MI data structures that come before it in the softc.
Chip will not function properly if alignment is wrong.  (as per OpenBSD)
Detected and fixed by: Chuck Cranor <chuck@ccrc.wustl.edu>
                and Michael L Hitch <osymh@gemini.oscs.montana.edu>
1996-02-03 18:47:07 +00:00
chopps 34373365cb Add minimal dumpfile support.
Fix a bug in pt_enter_ptpage which caused MMU faults on low-mem conditions.
Change siop drivers to better handle sync.
Remove diag. done for ide -- its redundant as the ROM does similar.
fixed ite_filter to not panic if typing before the device is fully setup
All thanks to osymh@gemini.oscs.montana.edu (Michael L. Hitch)
1995-09-16 16:11:03 +00:00
chopps 2208782633 SCSI disconnects: siop from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
and sbic from "Eduardo E. Horvath eeh@btr.com" <eeh@btr.btr.com>

Other cleanup (remove cpu040) and enabling IVS A500 support
from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
1995-08-18 15:27:29 +00:00
mycroft 80d7b0695a minphys() functions really should return void. 1995-08-12 20:30:45 +00:00
chopps bbd70b413b fix minphys routine to match others 1995-07-26 14:30:53 +00:00
chopps 32dc3c5832 Many changes from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
Now use amiga HW for soft interrupts, non-contig options (2 or many chunks),
interrupt handler lists, 4066 ethernet, 1291 scsi, option to defer level 6
interrupts to level 4 (deal with icky built-in serial port)
1995-02-12 19:18:33 +00:00
chopps 396754ce32 catchup with scsi changes from osymh@gemini.oscs.montana.edu (Michael L. Hitch) 1995-01-05 07:22:31 +00:00
chopps 4726ce2818 consolidate the zbusses. le support for multiple tx buffs and full use of 32k
RAM. AGA dbl PAL mode added for console. Many changes to siop--most not
yet done. All from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
1994-12-28 09:24:55 +00:00
cgd ec77f0b327 new RCS ID format. 1994-10-26 02:01:24 +00:00
chopps ff496d00ee don't flush cache on context switches for 040's, reduce flushing
on dma operations.  code from me and Michael Hitch
1994-06-14 00:58:05 +00:00
chopps c1de856362 update from osymh@gemini.oscs.montana.edu (Michael L. Hitch) add support
for zthreebus siop scsi drivers and better machine recocgnition.
1994-05-12 05:56:28 +00:00
chopps 276eff6bd9 Add missing Id's 1994-02-11 07:00:37 +00:00
mw bdb2629d63 Integrate recent changes done to the amiga branch. Includes support
for the '40.
Support for more scsi controllers (zeus, magnum)
Support for more tapes (in st.c)
New custom chip console code integrated.
1994-01-26 21:05:34 +00:00