Commit Graph

54 Commits

Author SHA1 Message Date
lukem ed51729135 __KERNEL_RCSID() 2003-07-15 02:54:31 +00:00
wiz 1ffa7b76c4 DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
kristerw 069c964473 Do not try to return a value from void functions. 2002-12-29 14:38:11 +00:00
provos 0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +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
tsutsui 294b27df46 Fix typo. (s/sc_adapter/sc_link/) 2000-04-01 14:38:42 +00:00
tsutsui 9100212ef0 Add a "sc_rev" member to ncr5380_softc and handle CXD1180 quirk
in MI ncr5380sbc.
2000-03-25 15:27:54 +00:00
mycroft 0af581a1a1 Add a ncr5380_attach() routine which does part of the initialization, attaches
the scsibus, and does the addref/delref dance.
2000-03-18 16:13:22 +00:00
jdolecek 9986dd3f7d Debugger()/cpu_Debugger() is always available and always defined/prototyped
in <sys/systm.h> for sun3/sun3x, even in non-DDB case
1999-11-22 18:34:00 +00:00
jdolecek 9c9df2bf71 adapt to latest scsipi changes
XXX this is not actually tested, but should be okay
1999-11-03 14:12:19 +00:00
jdolecek 492bb4b0a6 include opt_ddb.h, so that symbol DDB actually get's defined appropriately
si_intr(): consmetic change to the code calling Debugger()

First part of fix to PR #8637 by Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>.
1999-10-17 09:27:21 +00:00
fair 14ec3b84b7 Bracket calls to Debugger() with #ifdef DDB (won't compile otherwise;
the prototype isn't there without DDB).
1999-02-02 04:57:11 +00:00
fair 7a738d840b Make gcc happy by changing %x to %lx hiding in a DEBUG. 1998-12-23 04:53:44 +00:00
thorpej 5f0577babc Adapt to the new scsipi_adapter interface. 1998-11-19 21:43:00 +00:00
thorpej 29d472f53d Garbage-collect the open_target_lu and close_target_lu entry points from
struct scsipi_adapter; they were not used.

Add a scsipi_ioctl entry point to struct scsipi_adapter.  This will be
used to issue ioctl commands to the host adapters.

Inspired by PR #6090, from Matt Jacob.
1998-10-10 00:28:28 +00:00
thorpej 1adb4489a6 Update for changes to config. 1998-01-12 20:23:38 +00:00
gwr 38d61d7805 Left DEBUG there by accident. Remove it 1997-10-28 21:12:58 +00:00
gwr 81f2d0b179 Move si_reset_adapter() from si.c into the bus-specific modules.
Support the Sun3/470 (sun3x).  Adapt to the new DVMA interface.
Set the si_xxx_options in the config file (easier for users).
1997-10-17 03:33:34 +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
gwr 589bdf49d5 si_intr: if our CSR indicates an interrupt, return 1. 1997-04-28 22:10:41 +00:00
gwr 07b4e45308 Allow per-target control over disconnect/reselect. 1997-02-26 22:26:00 +00:00
gwr 340699a2b1 Fix copyrights (/s/REGENTS/FOUNDATION/) 1997-01-27 19:40:46 +00:00
gwr 0c5e3e4955 Make this compile with -Werror -Wall -Wstrict-prototypes
(finally! yea!)  Also get rid of __BROKEN_INDIRECT_CONFIG
1996-12-17 21:10:35 +00:00
gwr 0332502588 Most files that were copyright Adam Glass and/or Gordon W. Ross
are now copyright The NetBSD Foundation (rights assigned).
1996-11-20 18:56:49 +00:00
gwr 769fe0dfca Get rid of some cruft in the match function. 1996-10-30 00:24:32 +00:00
christos a087bfeb5c backout previous kprintf change 1996-10-13 03:47:25 +00:00
christos 19d8368f2f printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:44:42 +00:00
cgd 71ad30d0e9 (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
    single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
    function, and kill any locally-defined print function.
1996-08-28 18:59:15 +00:00
cgd 2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
gwr bf7ab63c97 Move some of the DMA engine initialization from the "start" routine
to the "setup" routine.  Doing the initialization earlier prevents
nasty race conditions where the 5380 prefetch changes the counter.
1996-06-17 23:21:29 +00:00
gwr e4b4200e43 Take advantage of the new config attach stuff by
splitting out the obio and vme support code.
Also move it back to the traditional name (si).
1996-03-26 15:01:10 +00:00
gwr 9e07977e11 no longer useful 1996-02-13 17:27:41 +00:00
gwr 09cbbafa0a Minor cleanup. 1995-10-08 23:42:58 +00:00
gwr 2666f17777 SCSI bus phase not valid until REQ is true (Fix from David Jones). 1995-08-14 20:00:00 +00:00
mycroft 80d7b0695a minphys() functions really should return void. 1995-08-12 20:30:45 +00:00
gwr 2a3eef935e Improve handling of a device that "sits on" the bus (from Jason Thorpe) 1995-08-08 20:53:16 +00:00
cgd ffe4785a58 update SCSI minphys routines' definitions to match standard minphys()
definition and usage.
1995-07-24 07:33:32 +00:00
gwr 9b910268e1 Better reset code, and reset the chip when it goes comatose. 1995-06-01 20:22:17 +00:00
gwr 6e6f7ede65 Improve probe (should reject "sc" board now) 1995-05-24 20:52:27 +00:00
gwr e2d6f35c09 The splbio()/splx(s) is now appropriate even if SCSI_POLL is set. 1995-03-26 19:23:12 +00:00
gwr 202a15ade7 Now works on VME as well (or as poorly) as on OBIO. 1995-01-24 05:55:48 +00:00
gwr fe2c68f0d3 Fixed to work with the new SCSI code (thanks to Phil Nelson). 1995-01-10 16:45:26 +00:00
gwr 12fae60ada Update for new SCSI. 1994-12-31 01:04:00 +00:00
gwr bfae9f3105 Have working bus_peek(), and drivers use it. 1994-12-13 18:26:39 +00:00
gwr fe52f9ae4f New autoconfig interface to support VME, etc. 1994-12-12 18:58:45 +00:00
gwr 59bf96aa56 Lots of changes. Fairly stable now. 1994-11-21 21:26:40 +00:00
cgd 20af809ca2 new RCS ID format. 1994-10-26 09:07:55 +00:00
gwr 51afe89406 Call obio_alloc with just two args (mappings always writable). 1994-09-20 16:21:44 +00:00
gwr 6ea87b0150 Add a fix for slow devices from Phil Nelson. 1994-07-06 02:53:39 +00:00
gwr 0819c2c23a ...try again... 1994-05-28 15:43:49 +00:00