Home | History | Annotate | Download | only in scsipi
History log of /src/sys/dev/scsipi/scsi_message.h
RevisionDateAuthorComments
 1.17  26-Aug-2006  bjh21 QAS REQUEST is a one-byte message. Make MSG_IS1BYTE recognise this.
 1.16  11-Dec-2005  christos branches: 1.16.4; 1.16.8;
merge ktrace-lwp.
 1.15  27-Feb-2005  perry branches: 1.15.4;
nuke trailing whitespace
 1.14  20-Apr-2003  fvdl branches: 1.14.2; 1.14.10; 1.14.12;
One more FreeBSD compat define.
 1.13  20-Apr-2003  fvdl Correct typo in previous.
 1.12  20-Apr-2003  fvdl Add FreeBSD compat define for PPR_PCOM
 1.11  19-Apr-2003  fvdl Add MSG_QAS_REQUEST definition.
 1.10  06-Dec-2002  fvdl Remove duplicate define that crept in.
 1.9  06-Dec-2002  fvdl Sync this with the FreeBSD version, adding a few aliases and new definitions.
 1.8  23-Apr-2002  bouyer Add the Parallel Protocol Request message.
 1.7  04-Nov-2001  tsutsui Add common macro to check message length.
 1.6  03-Nov-2001  tsutsui Replace a magic number with macro.
 1.5  25-Apr-2001  bouyer branches: 1.5.2; 1.5.6;
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.4  15-Mar-2000  fvdl branches: 1.4.6;
Add a couple of defines/aliases for messages.
 1.3  05-Jan-1998  perry branches: 1.3.14;
RCSID Police.
 1.2  08-Oct-1996  gibbs branches: 1.2.2;
dev/microcode/aic7xxx/aic7xxx.seq,
dev/microcode/aic7xxx_seq.h,
dev/ic/aic7xxxreg.h:
Remove intrinsic knowledge about SDTR and WDTR messages and replace it
with a generic message system that allows the kernel driver to handle
SDTR, WDTR and any other type of extended message it chooses too. This
makes the sequencer code much simpler, makes extended message handling
debuggable since the bulk of the work is in the kernel driver, and saves
lots of instruction space.

Regen microcode header file.

dev/ic/aic7xxx.c, dev/ic/aic7xxxvar.h:
Add code to handle WDTR and SDTR negotiation in light of the changes in
the message interface to the sequencer. Don't reject targets that
negotiate async by sending an SDTR with a 0 offset. Use an sdtr message
with 0,0 to negotiate async when a target suggests a period that is too
long for us to handle. Some tape and cdrom drives don't like us doing
the message reject that we did in the past.

Fix a problem with handing the QUEUE FULL condition.

Fix a race condition (most likely the cause of the SCB paging problems) that
might allow the sequencer to get unpaused before the condition that caused
it to be paused (a SEQINT) was handled.

Race condition pointed out by Doug Ledford <dledford@dialnet.net> and
by "Dan Willis" <dan@plutotech.com>.

dev/pci/ahc_pci.c:
Add support for the 2940AU, an aic7860 based controller.

dev/pci/pcidevs.h, dev/pci/pcidevs_data.h:
Add product IDs for the 2940AU, aic7860 and aic7855.

Regen data file.

scsi/scsi_message.h:
Add MSG_EXT_SDTR_LEN and MSG_EXT_WDTR_LEN - the length of bytes in these
extended messages.

Thanks to Chuck Cranor <chuck@maria.wustl.edu> for testing these changes
out for me.
 1.1  28-Dec-1994  mycroft branches: 1.1.6;
Numerous changes. Many bugs fixed, better autoconfig, a few new features.
 1.1.6.1  04-Mar-1997  mycroft Add a few constants for the ahc driver.
 1.2.2.1  27-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.3.14.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.

Main changes to the scsipi code itself:
- add a scsipi_channel->type to allow umass to attach to both atapibus and
scsibus. Will die when IDE is converted from ata_atapi_attach to
scsipi_channel/scsipi_adapter
- Add a chan_defquirks to scsipi_channel so that adapters can pass a default
set of quirks to be set for each device attached
- add adapt_getgeom and adapt_accesschk callbacks
 1.4.6.4  11-Dec-2002  thorpej Sync with HEAD.
 1.4.6.3  20-Jun-2002  nathanw Catch up to -current.
 1.4.6.2  14-Nov-2001  nathanw Catch up to -current.
 1.4.6.1  21-Jun-2001  nathanw Catch up to -current.
 1.5.6.1  12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.5.2.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.5.2.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.14.12.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.14.10.1  29-Apr-2005  kent sync with -current
 1.14.2.1  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.15.4.1  30-Dec-2006  yamt sync with head.
 1.16.8.1  03-Sep-2006  yamt sync with head.
 1.16.4.1  09-Sep-2006  rpaulo sync with head

RSS XML Feed