Home | History | Annotate | Download | only in ic
History log of /src/sys/dev/ic/esiopvar.h
RevisionDateAuthorComments
 1.21  24-Aug-2012  msaitoh Fix typos
 1.20  19-Oct-2009  bouyer branches: 1.20.12;
Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen
for the booring work !
 1.19  04-Sep-2009  tsutsui u_intNN_t -> uintNN_t
 1.18  04-Sep-2009  tsutsui Remove unnecessary whitespace.
 1.17  15-Mar-2009  cegger ansify function definitions
 1.16  25-Dec-2007  perry branches: 1.16.10; 1.16.18; 1.16.24;
Convert many of the uses of __attribute__ to equivalent
__packed, __unused and __dead macros from cdefs.h
 1.15  16-Feb-2006  perry branches: 1.15.40; 1.15.46; 1.15.50; 1.15.54;
Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.
 1.14  24-Dec-2005  perry branches: 1.14.2; 1.14.4; 1.14.6;
__inline__ -> inline
 1.13  18-Nov-2005  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.
Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi.
Fix kern/31990 by YAMAMOTO Takashi.
 1.12  27-Feb-2005  perry branches: 1.12.2; 1.12.4; 1.12.10;
nuke trailing whitespace
 1.11  04-Feb-2005  perry de-__P
 1.10  17-May-2004  bouyer branches: 1.10.4; 1.10.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.9  17-May-2004  bouyer Properly compute xs->resid, instead of assuming it'll always be 0 when
a command is done.
 1.8  02-Nov-2003  wiz branches: 1.8.4;
Fix some typos. From Tom Cosgrove via jmc@openbsd.
 1.7  27-Apr-2002  bouyer branches: 1.7.4; 1.7.6; 1.7.8; 1.7.14;
Use a u_int32_t in script RAM instead of the SEM bit in ISTAT to pass flags
between script and driver. This allows more than one flag, and is easier to
manage (we almost can't read/write istat outside of the irq handler).
 1.6  27-Apr-2002  bouyer Implement a ring for the completed commands. This avoid a (problematic only
if error occurs after status is collected) race condition
when using the status byte to detect completed commands (a command descriptor
could be recycled before the device disconnected), and make the
interrupt routine handling completed commands more efficient (no need to
scan target * lun * tag array any more).
 1.5  25-Apr-2002  bouyer - We can't share the per-lun DSA entry for untagged and tag table DSA;
there may be tagged commands still running when we queue a request sense
command.
Solve this by using 2 DSA entry per LUN
- Now that we have the command DSA before select, we can load T/L/Q in
SCRATCHC. This makes the selection timeout handler simpler.
- Avoid a race condition when setting the free flag in the cmd ring (see
comment in the script)
- don't forget to update the ID in the head of LUN table after a sync/wide
negotiation. This fixes the command timeout at the first data command
after negotiation (the bus reset handler did update the ID properly,
so subsequent commands were OK).
- for DMA interrupts, clear fifo if it's not empty. Leaving the fifo dirty
would prevent subsequent interrupts from coming in.
- Various improvements in debug messages
- misc cleanups.
 1.4  24-Apr-2002  bouyer For a new command, use the id in the command table and get rid of the ID in the
scheduler slot. This costs a few more instructions but divide the size of the
scheduler ring by 2, saving 1k of onboard RAM (a bus with 15 devices would
overflow the on-board RAM by 128 bytes).
 1.3  23-Apr-2002  bouyer More copyright fixes, pointed out by Thomas. Thanks !
 1.2  22-Apr-2002  bouyer Add support for tagged queuing to esiop (256 tags per device).
For this add another indirecton: the DSA in the LUN table points to
a table of DSA indexed by the tag number when tagged command is in use.
For non tagged command, the LUN DSA still points to the tables describing the
xfer directly.
 1.1  21-Apr-2002  bouyer First cut at a esiop driver (enhanced siop). Doesn't implement tagged queuing
yet.
If is restricted to SIOP which implement the load/store instruction, and
has 10 scratch registers (basically, 825 and newer, possibly 770).
It implements a different interface between host and script, using a real
ring for command starts, and improved support for reconnect which will allow
256 tag per device. It uses interrupt on the fly to signal complete command,
which allows several commands to be serviced per interrupt and doesn't require
the script to stop to signal command completion.
 1.7.14.6  11-Dec-2005  christos Sync with head.
 1.7.14.5  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.7.14.4  04-Feb-2005  skrll Sync with HEAD.
 1.7.14.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.14.2  18-Sep-2004  skrll Sync with HEAD.
 1.7.14.1  03-Aug-2004  skrll Sync with HEAD
 1.7.8.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.7.8.1  27-Apr-2002  jdolecek file esiopvar.h was added on branch kqueue on 2002-06-23 17:46:22 +0000
 1.7.6.2  20-Jun-2002  nathanw Catch up to -current.
 1.7.6.1  27-Apr-2002  nathanw file esiopvar.h was added on branch nathanw_sa on 2002-06-20 03:44:34 +0000
 1.7.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.7.4.1  17-Mar-2005  tron Pull up revision 1.9 (requested by bouyer in ticket #1749):
Properly compute xs->resid, instead of assuming it'll always be 0 when
a command is done.
 1.8.4.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.8.4.1  11-May-2005  snj branches: 1.8.4.1.2;
Pull up revision 1.9 (requested by bouyer in ticket #1364):
Properly compute xs->resid, instead of assuming it'll always be 0 when
a command is done.
 1.8.4.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.10.6.2  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.10.6.1  12-Feb-2005  yamt sync with head.
 1.10.4.1  29-Apr-2005  kent sync with -current
 1.12.10.1  22-Nov-2005  yamt sync with head.
 1.12.4.2  21-Jan-2008  yamt sync with head
 1.12.4.1  21-Jun-2006  yamt sync with head.
 1.12.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.14.6.1  22-Apr-2006  simonb Sync with head.
 1.14.4.1  09-Sep-2006  rpaulo sync with head
 1.14.2.1  18-Feb-2006  yamt sync with head.
 1.15.54.1  02-Jan-2008  bouyer Sync with HEAD
 1.15.50.1  26-Dec-2007  ad Sync with head.
 1.15.46.1  18-Feb-2008  mjf Sync with HEAD.
 1.15.40.1  09-Jan-2008  matt sync with HEAD
 1.16.24.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.16.18.1  28-Apr-2009  skrll Sync with HEAD.
 1.16.10.3  11-Mar-2010  yamt sync with head
 1.16.10.2  16-Sep-2009  yamt sync with head
 1.16.10.1  04-May-2009  yamt sync with head.
 1.20.12.1  30-Oct-2012  yamt sync with head

RSS XML Feed