History log of /src/sys/dev/ic/siopvar.h |
Revision | | Date | Author | Comments |
1.29 |
| 24-Aug-2012 |
msaitoh | Fix typos
|
1.28 |
| 19-Oct-2009 |
bouyer | branches: 1.28.12; Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen for the booring work !
|
1.27 |
| 04-Sep-2009 |
tsutsui | u_intNN_t -> uintNN_t
|
1.26 |
| 15-Mar-2009 |
cegger | ansify function definitions
|
1.25 |
| 25-Dec-2007 |
perry | branches: 1.25.10; 1.25.18; 1.25.24; Convert many of the uses of __attribute__ to equivalent __packed, __unused and __dead macros from cdefs.h
|
1.24 |
| 16-Feb-2006 |
perry | branches: 1.24.40; 1.24.46; 1.24.50; 1.24.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.23 |
| 24-Dec-2005 |
perry | branches: 1.23.2; 1.23.4; 1.23.6; __inline__ -> inline
|
1.22 |
| 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.21 |
| 27-Feb-2005 |
perry | branches: 1.21.2; 1.21.4; 1.21.10; nuke trailing whitespace
|
1.20 |
| 04-Feb-2005 |
perry | de-__P
|
1.19 |
| 02-Nov-2003 |
wiz | branches: 1.19.6; 1.19.8; 1.19.10; 1.19.12; Fix some typos. From Tom Cosgrove via jmc@openbsd.
|
1.18 |
| 23-Apr-2002 |
bouyer | branches: 1.18.4; 1.18.10; More copyright fixes, pointed out by Thomas. Thanks !
|
1.17 |
| 20-Apr-2002 |
bouyer | Move a few things around, so that ic/siop_common.c and pci/siop_pci_common.c can be compiled without including siopvar.h.
|
1.16 |
| 25-Apr-2001 |
bouyer | branches: 1.16.2; 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.15 |
| 15-Mar-2001 |
bouyer | Note that SF_CHIP_QUAD is for clock quadrupler with busy wait for PPL. SF_CHIP_DBLR is for clock doubler or quadrupler.
|
1.14 |
| 12-Mar-2001 |
bouyer | Preliminary support for SYM53C1010-33 (at 80MB/s only for now), based on patches sent by Matthias Drochner <M.Drochner@fz-juelich.de> and Kenneth R Westerback <kwesterback@home.com>
|
1.13 |
| 23-Oct-2000 |
bouyer | branches: 1.13.2; 1.13.4; Fixes related to QUEUE FULL status: - move status handling in siop_scsicmd_end(), it's better than in siop_intr() - define 2 internal SIOP status, for "no status reported by device" and reset condition - add a list of "urgent" command, to be executed before the list of command queued the normal way; this is used for command which got aborted by a QUEUE FULL and have to be requeued in order. - Don't accept to send a Q_TAG message not immediatly folowing a IDENTIFY
|
1.12 |
| 23-Oct-2000 |
bouyer | Rearrange for script changes (scheduler core in main script, command part of the scheduler in command table). Add tagged command queuing support.
|
1.11 |
| 18-Oct-2000 |
bouyer | Adapt for new lun switch script. Implement SCBUSACCEL ioctl. Snapshot of work in progress on tagged queuing: we can send/receive queue tag messages. Infrastructure to manage multiple commands per devices not here yet.
|
1.10 |
| 06-Oct-2000 |
bouyer | Fix recurent typo: shed->sched
|
1.9 |
| 06-Oct-2000 |
bouyer | Adapt for reselect handling from the script. While here, fix typo (SIOP_SCXFER -> SIOP_SXFER).
|
1.8 |
| 13-Jun-2000 |
bouyer | branches: 1.8.2; sheduler->scheduler, as pointed out by Klaus Klein
|
1.7 |
| 25-May-2000 |
bouyer | branches: 1.7.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.6 |
| 23-May-2000 |
bouyer | Allocate dynamically the command block descriptors.
|
1.5 |
| 15-May-2000 |
bouyer | - split siop.c in script-dependant vs script-independant part, for comming esiop - add a reset callback for bus-dependant registers settings
|
1.4 |
| 02-May-2000 |
bouyer | - do sync/wide negotiation - use a circular queue for the start slots, so that order has better chances to be preserved.
|
1.3 |
| 27-Apr-2000 |
bouyer | Fix 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.7.2.1 |
| 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.8.2.3 |
| 29-Jan-2002 |
he | Pull up revisions 1.14-1.15 (requested by bouyer): Add support for the 53c1010-33, and bring documentation up to date.
|
1.8.2.2 |
| 05-Jan-2002 |
he | Apply patch (requested by bouyer): Don't call siop_morecbd() in interrupt context, but pre-allocate CBD at probe time instead. Fixes PR#13827, PR#14866 and PR#15048.
|
1.8.2.1 |
| 15-Dec-2000 |
he | Pull up revisions 1.9-1.13 (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.13.4.3 |
| 20-Jun-2002 |
nathanw | Catch up to -current.
|
1.13.4.2 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.13.4.1 |
| 09-Apr-2001 |
nathanw | Catch up with -current.
|
1.13.2.6 |
| 03-Apr-2001 |
bouyer | Remove local command queue; if we run out of start slots, just freeze the channel; and unfreeze it at the first command complete.
|
1.13.2.5 |
| 27-Mar-2001 |
bouyer | Sync with HEAD.
|
1.13.2.4 |
| 12-Mar-2001 |
bouyer | Sync with HEAD.
|
1.13.2.3 |
| 14-Dec-2000 |
bouyer | Convert to thorpej_scsipi interface. Still some work to do to get all benefits of the new middle layer, but it works.
|
1.13.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.13.2.1 |
| 23-Oct-2000 |
bouyer | file siopvar.h was added on branch thorpej_scsipi on 2000-11-20 11:40:55 +0000
|
1.16.2.1 |
| 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.18.10.6 |
| 11-Dec-2005 |
christos | Sync with head.
|
1.18.10.5 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.18.10.4 |
| 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.18.10.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.18.10.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.18.10.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.18.4.1 |
| 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.19.12.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.19.10.2 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.19.10.1 |
| 12-Feb-2005 |
yamt | sync with head.
|
1.19.8.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.19.6.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.21.10.1 |
| 22-Nov-2005 |
yamt | sync with head.
|
1.21.4.2 |
| 21-Jan-2008 |
yamt | sync with head
|
1.21.4.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.21.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.23.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.23.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.23.2.1 |
| 18-Feb-2006 |
yamt | sync with head.
|
1.24.54.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.24.50.1 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.24.46.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.24.40.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.25.24.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.25.18.1 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.25.10.3 |
| 11-Mar-2010 |
yamt | sync with head
|
1.25.10.2 |
| 16-Sep-2009 |
yamt | sync with head
|
1.25.10.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.28.12.1 |
| 30-Oct-2012 |
yamt | sync with head
|