Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/sun3/dev/si.c
RevisionDateAuthorComments
 1.65  20-Dec-2024  tsutsui Remove trailing whitespace.
 1.64  21-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.63  21-Nov-2009  rmind branches: 1.63.76;
Use lwp_getpcb() on sparc{64} and sun2/3 MD code, clean from struct user usage.
 1.62  28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.61  04-Apr-2008  tsutsui branches: 1.61.2; 1.61.4;
Split devict_t/softc for ncr5380sbc SCSI, and misc cosmetic changes.
 1.60  04-Feb-2007  tsutsui branches: 1.60.44;
Remove unused dh_addr member from struct si_dma_handle.
 1.59  04-Feb-2007  tsutsui Remove leftover debug stuff which could break si_obio DMA.
 1.58  03-Feb-2007  tsutsui Make si at obio and si at vme on sun3 use bus_dma(9) for data xfer.

XXX1: Only si at vme on TME is tested.
XXX2: No info about DMA on si at sebuf. (bounce buffer required?)
 1.57  11-Dec-2005  christos branches: 1.57.20;
merge ktrace-lwp.
 1.56  22-Jan-2005  chs branches: 1.56.8;
de-__P, remove register, ansify, b* -> mem*, u_int*_t -> uint*_t.
 1.55  13-Dec-2004  chs branches: 1.55.2;
adjust for b_bcount changing from long to int.
 1.54  15-Jul-2003  lukem __KERNEL_RCSID()
 1.53  03-May-2003  wiz branches: 1.53.2;
DMA, not dma nor Dma.
 1.52  29-Dec-2002  kristerw Do not try to return a value from void functions.
 1.51  27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.50  25-Apr-2001  bouyer branches: 1.50.2; 1.50.8;
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
 1.49  01-Apr-2000  tsutsui branches: 1.49.6;
Fix typo. (s/sc_adapter/sc_link/)
 1.48  25-Mar-2000  tsutsui Add a "sc_rev" member to ncr5380_softc and handle CXD1180 quirk
in MI ncr5380sbc.
 1.47  18-Mar-2000  mycroft Add a ncr5380_attach() routine which does part of the initialization, attaches
the scsibus, and does the addref/delref dance.
 1.46  22-Nov-1999  jdolecek Debugger()/cpu_Debugger() is always available and always defined/prototyped
in <sys/systm.h> for sun3/sun3x, even in non-DDB case
 1.45  03-Nov-1999  jdolecek adapt to latest scsipi changes
XXX this is not actually tested, but should be okay
 1.44  17-Oct-1999  jdolecek branches: 1.44.2; 1.44.4;
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>.
 1.43  02-Feb-1999  fair branches: 1.43.8;
Bracket calls to Debugger() with #ifdef DDB (won't compile otherwise;
the prototype isn't there without DDB).
 1.42  23-Dec-1998  fair Make gcc happy by changing %x to %lx hiding in a DEBUG.
 1.41  19-Nov-1998  thorpej Adapt to the new scsipi_adapter interface.
 1.40  10-Oct-1998  thorpej 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.
 1.39  12-Jan-1998  thorpej Update for changes to config.
 1.38  28-Oct-1997  gwr Left DEBUG there by accident. Remove it
 1.37  17-Oct-1997  gwr branches: 1.37.2;
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).
 1.36  27-Aug-1997  bouyer 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.
 1.35  28-Apr-1997  gwr branches: 1.35.2; 1.35.4;
si_intr: if our CSR indicates an interrupt, return 1.
 1.34  26-Feb-1997  gwr Allow per-target control over disconnect/reselect.
 1.33  27-Jan-1997  gwr branches: 1.33.4;
Fix copyrights (/s/REGENTS/FOUNDATION/)
 1.32  17-Dec-1996  gwr Make this compile with -Werror -Wall -Wstrict-prototypes
(finally! yea!) Also get rid of __BROKEN_INDIRECT_CONFIG
 1.31  20-Nov-1996  gwr Most files that were copyright Adam Glass and/or Gordon W. Ross
are now copyright The NetBSD Foundation (rights assigned).
 1.30  30-Oct-1996  gwr Get rid of some cruft in the match function.
 1.29  13-Oct-1996  christos backout previous kprintf change
 1.28  11-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.27  28-Aug-1996  cgd (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.
 1.26  27-Aug-1996  cgd 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).
 1.25  17-Jun-1996  gwr branches: 1.25.2;
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.
 1.24  26-Mar-1996  gwr 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).
 1.23  13-Feb-1996  gwr no longer useful
 1.22  08-Oct-1995  gwr Minor cleanup.
 1.21  14-Aug-1995  gwr SCSI bus phase not valid until REQ is true (Fix from David Jones).
 1.20  12-Aug-1995  mycroft minphys() functions really should return void.
 1.19  08-Aug-1995  gwr Improve handling of a device that "sits on" the bus (from Jason Thorpe)
 1.18  24-Jul-1995  cgd update SCSI minphys routines' definitions to match standard minphys()
definition and usage.
 1.17  01-Jun-1995  gwr Better reset code, and reset the chip when it goes comatose.
 1.16  24-May-1995  gwr Improve probe (should reject "sc" board now)
 1.15  26-Mar-1995  gwr The splbio()/splx(s) is now appropriate even if SCSI_POLL is set.
 1.14  24-Jan-1995  gwr Now works on VME as well (or as poorly) as on OBIO.
 1.13  10-Jan-1995  gwr Fixed to work with the new SCSI code (thanks to Phil Nelson).
 1.12  31-Dec-1994  gwr Update for new SCSI.
 1.11  13-Dec-1994  gwr Have working bus_peek(), and drivers use it.
 1.10  12-Dec-1994  gwr New autoconfig interface to support VME, etc.
 1.9  21-Nov-1994  gwr Lots of changes. Fairly stable now.
 1.8  26-Oct-1994  cgd new RCS ID format.
 1.7  20-Sep-1994  gwr branches: 1.7.2;
Call obio_alloc with just two args (mappings always writable).
 1.6  06-Jul-1994  gwr Add a fix for slow devices from Phil Nelson.
 1.5  28-May-1994  gwr ...try again...
 1.4  28-May-1994  gwr junk removal
 1.3  16-May-1994  gwr Remove some cruft left over from debugging.
 1.2  13-May-1994  gwr SCSI driver works!
 1.1  23-Feb-1994  glass boots, presents shell prompt, and doesn't crash immediately
 1.7.2.2  20-Sep-1994  gwr Call obio_alloc with just two args (mappings always writable).
 1.7.2.1  20-Sep-1994  gwr file si.c was added on branch netbsd-1-0 on 1994-09-20 16:21:47 +0000
 1.25.2.2  17-Jun-1996  gwr 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.
 1.25.2.1  17-Jun-1996  gwr file si.c was added on branch netbsd-1-2 on 1996-06-17 23:21:30 +0000
 1.33.4.1  12-Mar-1997  is Merge in changes from The Trunk
 1.35.4.1  27-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.35.2.1  01-Jul-1997  bouyer Updates for new scsipi subsystem. Actally known to work on i386 and sparc.
 1.37.2.1  29-Oct-1997  mellon Pull rev 1.38 up from trunk (gwr)
 1.43.8.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.44.4.1  15-Nov-1999  fvdl Sync with -current
 1.44.2.3  18-Feb-2001  bouyer Make compile again.
 1.44.2.2  22-Jan-2001  bouyer first cut at converting to thorpej_scsipi
 1.44.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.49.6.1  21-Jun-2001  nathanw Catch up to -current.
 1.50.8.3  29-Dec-2002  thorpej Sync with HEAD.
 1.50.8.2  18-Oct-2002  nathanw Catch up to -current.
 1.50.8.1  25-Apr-2001  nathanw file si.c was added on branch nathanw_sa on 2002-10-18 02:40:20 +0000
 1.50.2.1  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.53.2.5  24-Jan-2005  skrll Sync with HEAD.
 1.53.2.4  18-Dec-2004  skrll Sync with HEAD.
 1.53.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.53.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.53.2.1  03-Aug-2004  skrll Sync with HEAD
 1.55.2.1  29-Apr-2005  kent sync with -current
 1.56.8.1  26-Feb-2007  yamt sync with head.
 1.57.20.1  09-Feb-2007  ad Sync with HEAD.
 1.60.44.1  02-Jun-2008  mjf Sync with HEAD.
 1.61.4.2  11-Mar-2010  yamt sync with head
 1.61.4.1  16-May-2008  yamt sync with head.
 1.61.2.1  18-May-2008  yamt sync with head.
 1.63.76.1  14-Dec-2020  thorpej Sync w/ HEAD.

RSS XML Feed