Home | History | Annotate | Download | only in siop
History log of /src/sys/dev/microcode/siop/siop.ss
RevisionDateAuthorComments
 1.21  19-Oct-2009  bouyer Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen
for the booring work !
 1.20  18-Nov-2005  bouyer branches: 1.20.74;
Some drives disconnect after the last data phase without a save data pointer
message. In such case we would not update resid with the proper value
(eventually resid would not be updated at all if there was only one data
phase). To fix this, have the script save the offset in the data tables at
disconnect time if there was a transfer, and use this to compute the resid
if the current offset is 0.
Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi.
Fix kern/31990 by YAMAMOTO Takashi.
 1.19  27-Feb-2005  perry branches: 1.19.2; 1.19.4; 1.19.10;
nuke trailing whitespace
 1.18  17-May-2004  bouyer branches: 1.18.4; 1.18.6;
when an unexpected disconnect occurs only compute the resid; do the
real save data pointers when we get the message (or rather, at disconnect
time following the message).
Factor out code to do this, and to deal with xs->resid, in siop_common.c.
 1.17  26-Jul-2002  wiz branches: 1.17.6; 1.17.10;
Spell '[Rr]ight' correctly. From Jim Bernard.
 1.16  26-Jul-2002  wiz enouth -> enough.
 1.15  23-Apr-2002  bouyer branches: 1.15.2; 1.15.4;
More copyright fixes, pointed out by Thomas. Thanks !
 1.14  23-Apr-2002  bouyer Bump the space for SCSI messages from 8 to 16 octets, as 8 may not be
enouth for IDENTIFY + TAG + PPR.
Get rid of constants in C code by use of a offsetof macro.
 1.13  18-Apr-2002  bouyer Add hooks to drive the activity led via the GPIO pin 1, as required by some
tekram and symbios adapters.
 1.12  23-Oct-2000  bouyer branches: 1.12.2; 1.12.4; 1.12.6;
Rearrange things a bit to have less jumps
Install the core of the scheduler in main script (so it's in RAM when there is
one), and avoid jump in the common case. The command part of the scheduler now
lives in host memory, with tables.
Add template for a tag switch.
 1.11  19-Oct-2000  bouyer Move restore_scntl3 before the lun switch, to ease freeing of unused lun
slots.
 1.10  18-Oct-2000  bouyer Redo the target/lun sw in a better way, and handle queue tag messages.
 1.9  06-Oct-2000  bouyer Fix recurent typo: shed->sched
 1.8  06-Oct-2000  bouyer Handle reselect entirely in script; for this provide a script area,
modified by the driver, which will load the appropriate DSA for a given
target/lun.
 1.7  13-Jun-2000  bouyer branches: 1.7.2;
sheduler->scheduler, as pointed out by Klaus Klein
 1.6  25-May-2000  bouyer branches: 1.6.2;
Separate the sheduler from the main script, allocate another DMA-safe
memory page for the sheduler. Put the main script in the on-chip RAM when
available.
Avoid a null-pointer dereference when DSA is invalid.
 1.5  15-May-2000  bouyer - use my standart copyrigth notice
- After reselect, don't clear ack after the IDENTIFY message, this breaks
when the reselecting target has different sync parameters than the previous
one.
 1.4  04-May-2000  bouyer Add a flag hold in scratcha0, set when we're doing a data transfer. Used
for save data pointers.
 1.3  27-Apr-2000  bouyer Add NetBSD RCS Id and copyrigth notice.
 1.2  25-Apr-2000  bouyer - Change the script to start new commands in an asyncronous way, using
'command slots' in which the host can put command and wait for the script
to start them
- Change siop.c to do full disconnect/reslelect, allowing as much as one
command per target/lun to run in parallel.
- Fix bug in registers init where a board without BIOS would end at
ID 0 (now the driver works on alpha too).
- better handling of messages, sending back a MSG_EXT_SDTR in response to an
incoming MSG_EXT_SDTR, and MSG_MESSAGE_REJECT for unhandled messages.
- fix use of bus_dmamap_sync() and htole32().
- supports shared interrups
- change some int8 and int16 to int, for alpha and mips benefits ( suggested by
Toru Nishimura)
 1.1  21-Apr-2000  bouyer Snapshot of work in progress: new driver for the NCR 53c8xx SCSI controller
(the name 'siop' is still being discussed, may change).
Only basic disconnect/reselect for now, no sync/wide negotiation.
Tested with 810A, 875 and 895 on i386 only.
The bus-independant part should also be able to handle the 53c720 and 53c770.
A new driver with enhanced script should appear for the 825/875/895 'soon'.
 1.6.2.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.7.2.1  15-Dec-2000  he Pull up revisions 1.8-1.12 (requested by bouyer):
Speed improvements to the siop driver, and add tagged queueing
support. As a side effect, better handling of some not so common
phase or message sequences.
 1.12.6.2  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.12.6.1  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.12.4.2  01-Aug-2002  nathanw Catch up to -current.
 1.12.4.1  20-Jun-2002  nathanw Catch up to -current.
 1.12.2.2  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.12.2.1  23-Oct-2000  bouyer file siop.ss was added on branch thorpej_scsipi on 2000-11-20 11:42:09 +0000
 1.15.4.2  14-Dec-2005  jmc Pullup via patch (requested in ticket #5957 by bouyer)
Some drives disconnect after the last data phase without a save data pointer
message. In such case we would not update resid with the proper value
(eventually resid would not be updated at all if there was only one data
phase). To fix this, have the script save the offset in the data tables at
disconnect time if there was a transfer, and use this to compute the resid
if the current offset is 0. PR#31990
 1.15.4.1  17-Mar-2005  tron Pull up revision 1.18 (requested by bouyer in ticket #1750):
when an unexpected disconnect occurs only compute the resid; do the
real save data pointers when we get the message (or rather, at disconnect
time following the message).
Factor out code to do this, and to deal with xs->resid, in siop_common.c.
 1.15.2.1  29-Aug-2002  gehenna catch up with -current.
 1.17.10.2  01-Dec-2005  riz Pull up following revision(s) (requested by bouyer in ticket #10168):
sys/dev/ic/siop.c: revision 1.79 via patch
sys/dev/ic/siopvar_common.h: revision 1.33 via patch
sys/dev/ic/esiopvar.h: revision 1.13 via patch
sys/dev/ic/esiop.c: revision 1.34 via patch
sys/dev/microcode/siop/esiop.ss: revision 1.20 via patch
sys/dev/ic/siopvar.h: revision 1.22 via patch
sys/dev/microcode/siop/siop.ss: revision 1.20 via patch
Some drives disconnect after the last data phase without a save data pointer
message. In such case we would not update resid with the proper value
(eventually resid would not be updated at all if there was only one data
phase). To fix this, have the script save the offset in the data tables at
disconnect time if there was a transfer, and use this to compute the resid
if the current offset is 0.
Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi.
Fix kern/31990 by YAMAMOTO Takashi.
 1.17.10.1  11-May-2005  snj branches: 1.17.10.1.2;
Pull up revision 1.18 (requested by bouyer in ticket #1365):
when an unexpected disconnect occurs only compute the resid; do the
real save data pointers when we get the message (or rather, at disconnect
time following the message).
Factor out code to do this, and to deal with xs->resid, in siop_common.c.
 1.17.10.1.2.1  01-Dec-2005  riz Pull up following revision(s) (requested by bouyer in ticket #10168):
sys/dev/ic/siop.c: revision 1.79 via patch
sys/dev/ic/siopvar_common.h: revision 1.33 via patch
sys/dev/ic/esiopvar.h: revision 1.13 via patch
sys/dev/ic/esiop.c: revision 1.34 via patch
sys/dev/microcode/siop/esiop.ss: revision 1.20 via patch
sys/dev/ic/siopvar.h: revision 1.22 via patch
sys/dev/microcode/siop/siop.ss: revision 1.20 via patch
Some drives disconnect after the last data phase without a save data pointer
message. In such case we would not update resid with the proper value
(eventually resid would not be updated at all if there was only one data
phase). To fix this, have the script save the offset in the data tables at
disconnect time if there was a transfer, and use this to compute the resid
if the current offset is 0.
Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi.
Fix kern/31990 by YAMAMOTO Takashi.
 1.17.6.5  11-Dec-2005  christos Sync with head.
 1.17.6.4  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.17.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.17.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.17.6.1  03-Aug-2004  skrll Sync with HEAD
 1.18.6.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.18.4.1  29-Apr-2005  kent sync with -current
 1.19.10.1  22-Nov-2005  yamt sync with head.
 1.19.4.1  21-Jun-2006  yamt sync with head.
 1.19.2.1  21-Nov-2005  tron Pull up following revision(s) (requested by bouyer in ticket #973):
sys/dev/ic/siop.c: revision 1.79
sys/dev/ic/siopvar_common.h: revision 1.33
sys/dev/ic/esiopvar.h: revision 1.13
sys/dev/ic/esiop.c: revision 1.34
sys/dev/microcode/siop/esiop.ss: revision 1.20
sys/dev/ic/siopvar.h: revision 1.22
sys/dev/microcode/siop/siop.ss: revision 1.20
Some drives disconnect after the last data phase without a save data pointer
message. In such case we would not update resid with the proper value
(eventually resid would not be updated at all if there was only one data
phase). To fix this, have the script save the offset in the data tables at
disconnect time if there was a transfer, and use this to compute the resid
if the current offset is 0.
Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi.
Fix kern/31990 by YAMAMOTO Takashi.
 1.20.74.1  11-Mar-2010  yamt sync with head

RSS XML Feed