Home | History | Annotate | Download | only in ic
History log of /src/sys/dev/ic/ispreg.h
RevisionDateAuthorComments
 1.35  03-May-2022  andvar fix various typos, mainly s/trasfering/transferring/ and s/theese/these/.
 1.34  26-Mar-2010  mjacob Synchronize with other platforms:

Strongly architect handles so we can more easily detect bogus
handles. This switches us to a full 32 bits for all handles.

Handle the case of FC disks disappearing and then reappearing-
at least at the FC transport level.

Some better and finer control of debug and non-debug printouts.
 1.33  25-Jun-2009  mjacob branches: 1.33.2; 1.33.4;
Update ISP driver to latest and greatest. Includes support for the 8Gb part.
 1.32  11-Mar-2008  mjacob branches: 1.32.4; 1.32.18;
Checkpoint of some fairly major isp(4) rototilling.

Reintroduce more of a 'channel' concept in preparation for NP-IV support.
This gets rid of the chanA/chanB concept as the 2400 can have up to 128
virtual channels. Actually, with MID firmware you can also have the 2200
and 2300 support 'channels, but they do it with an FL-Port topology.
Because FC cards can now have 'channels', just about every support
function for fibre channel had to be redone to have a channel index
as well. Rototill isp_ioctl.h for channel stuff as well.

Pick up a lot of work about fabric management (hopefully better) and keep
work in place that will allow for dynamic attachment/detachment of devices
(if I can figure out how to make the midlayer support it).

Merge the target code with external trees. Eventually it might even
be sorted out on NetBSD.

Update some firmware stuff.
 1.31  24-May-2007  mjacob branches: 1.31.8; 1.31.24; 1.31.28;
Major update to isp(4) driver to bring it in line with external sources.

The major changes are:

+ 4Gb (24XX) card support
+ Rewritten fabric and loop evaluation code
+ New f/w sets

The 4Gb changes required major rototilling, which caused a rewrite of
fabric and loop eval code. The latter can now be set up to tune for
dynamic device arrival/departure if the framework is set up for it,
or to be firm about waiting for devices.

Testing has been principally on amd64, i386 and sparc64 and seems to
not have broken things for me.
 1.30  11-Dec-2005  christos branches: 1.30.30; 1.30.32;
merge ktrace-lwp.
 1.29  04-Dec-2003  keihan branches: 1.29.16;
netbsd.org -> NetBSD.org

This was the last commit of this kind to src/sys, which is now totally
"NetBSD.org clean". Thanks for the patiance, and sorry for all the commits.
 1.28  02-Nov-2003  wiz Fix some typos. From Tom Cosgrove via jmc@openbsd.
 1.27  21-Feb-2002  mjacob branches: 1.27.16;
Implement F/W crashdumps for 2200 && 2300 cards (kernel compile option).

Distinguish between 2312 and 2300 cards (they *are* different). Enable
RIO (Reduced Interrupt Operation) for the LVD cards (hey- I've seen
batched completions of the 30 commands at a time with this,....)...

If we get a Port Logout on local loop topologies, we have to force the
f/w to log back in. The easiest way (for us) to do this is to force
a LIP. This also will wake up the disk that probably just had a f/w crash.

Implement mailbox 'continuations'- this allows interrupts to re-drive
a mailbox command if it's one that just essentially repeats the previous
mailbox command (e.g., f/w download). This saves a boatload of sleep/wakeup
twitches.

If we're not a 2300 and we're about to return with a 'bogus interrupt'- check
the semaphore register to be non-zero at all and outgoing mailbox 0- this
seems to be where some of the lost ISP1080 commands came from.
 1.26  01-Sep-2001  mjacob Add support for 2 Gigabit cards (2300/2312). This necessitated a change
in how interrupts are down- the 23XX has not only a different place to check
for an interrupt, but unlike all other QLogic cards, you have to read the
status as a 32 bit word- not 16 bit words. Rather than have device specific
functions as called from the core module (in isp_intr), it makes more sense
to have the platform/bus modules do the gruntwork of splitting out the
isr, semaphore register and the first outgoing mailbox register (if needed)
*prior* to calling isp_intr (if calling isp_intr is necessary at all).
 1.25  12-Feb-2001  mjacob branches: 1.25.2; 1.25.4;
Put in offset definitions for FPM and FBM registers, plus just enough
bits defined so we can reset them.
 1.24  23-Dec-2000  wiz Fix pathnames in comment.
 1.23  14-Aug-2000  mjacob Add a maintenance note
 1.22  01-Aug-2000  mjacob Core version 2.0 (platform version 1.0) rewrite of ISP driver. Some
interace cleanups, some new common functions. The major impact that
will be noticeable right away is that if you boot with not Fibre connected
to the FC cards, you no longer hang indefinitely.
 1.21  05-Jul-2000  mjacob Fix incorrect uint8_t vs. u_int8_t usage. Add in offset macros for outgoing
mailbox regs and a INT_PENDING_MASK macro.
 1.20  13-May-2000  he branches: 1.20.4;
Update from Matthew Jacob:

Correctly account for F-port vs. F-port (no FLOGI_ACC) topologies.
Make sure we get a port database entry for the fabric name server.
Preserve fabric logins if the device didn't change across fabric
or port database changes, or the device has already logged into
us (e.g., for target/initiator dual role devices like Veritas
SANbox). Propagate class 3 service parameter changes where devices
can change roles.

Fix all occurrences of setting a sendmarker so that setting it
for one bus on dual bus cards doesn't wipe a pending sendmarker
for other busses on the same card :-;.

Comments added and clarifications made in some of the target mode code.
 1.19  12-Feb-2000  mjacob add in 12160 (Ultra3) NVRAM definitions
 1.18  16-Dec-1999  mjacob Dual LVD (1280) support.
 1.17  17-Oct-1999  mjacob branches: 1.17.2;
add INT_PENDING macro
 1.16  05-Jul-1999  mjacob branches: 1.16.2;
Change to approved NASA/Ames copyright. Add Fabric support. Fix SCCLUN support.
Add code that tries to track LoopID shifting.
 1.15  12-May-1999  mjacob Do a fairly large internal restructuring to accomodate dual-bus host adapters
(e.g., the 1240). Include the new 1080/1240 NVRAM layout reading code. Some
moderately significant mailbox changes were necessary also to accomodate a
second channel.
 1.14  26-Mar-1999  mjacob branches: 1.14.2; 1.14.4;
add isp1080 support and some basic PDB change stuff
 1.13  17-Mar-1999  mjacob Update the driver with some infrastructure for the 1080. Fix an embarrassing
clock botch bug. Additional infrastructure for PDB change stuff.
 1.12  09-Feb-1999  mjacob fix a couple of NVRAM defines
 1.11  30-Jan-1999  mjacob Implement and use Fast Posting for both parallel && fibre. Redo a bit of
the startup code. Implement a call to outer framework function so that
asynchronous events can be handled (e.g., speed negotiation, target mode).

Roll internal release tags.
 1.10  28-Dec-1998  mjacob clean up headers; move uninit/watch to outer layers
 1.9  05-Dec-1998  mjacob Update BA for new max_lun parameter for SCSIbusses. Clearify maximum luns
for FC HB based upon a SCCLUN define (15 for normal- 255 out of a possible
65535 for SCCLUN). Propagate loopid as adapter_target.

Roll minor platform version. Roll core version number.

Update mailbox definitions with cleaner target mode structure definitions.
Clean up some ENDIAN stuff. Correct botched ISP2100_NVRAM_HARDLOOPID offset.
 1.8  17-Sep-1998  mjacob cleanup header to be just NetBSD
 1.7  08-Sep-1998  mjacob Add more ASYNC event codes here. Add NVRAM definitions.
 1.6  18-Jul-1998  mjacob fix headers
 1.5  15-Jul-1998  mjacob Some major thrashing to handle building for other than NetBSD.

There is one change of note- build a list of completing commands in
ispintr and then say you're done- this avoids some re-entrancy issues
that had surfaced.
 1.4  05-Dec-1997  mjacob new async code defined
 1.3  16-Aug-1997  mjacob branches: 1.3.4;
Differences necessary to support the Qlogic 2100 (Fibre Channel PCI
Card)
 1.2  12-Mar-1997  cgd branches: 1.2.4;
NetBSD RCS ID tweaks, a few comment block tweaks. Also, make copyright
notices consistent (per Matt Jacob).
 1.1  12-Mar-1997  cgd branches: 1.1.1;
Initial revision
 1.1.1.1  12-Mar-1997  cgd ISP 10x0 driver from Matthew Jacob of NASA Ames Research Center.
(March 12, 1997 version).
 1.2.4.1  23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.3.4.1  07-Nov-1998  cgd pull up revs 1.4-1.8 from trunk (mjacob)
 1.14.4.2  02-Aug-1999  thorpej Update from trunk.
 1.14.4.1  21-Jun-1999  thorpej Sync w/ -current.
 1.14.2.2  13-May-2000  he Apply patch (requested by Matthew Jacob via he):
Correctly account for F-port vs. F-port (no FLOGI_ACC) topologies.
Make sure we get a port database entry for the fabric name server.
Preserve fabric logins if the device didn't change across fabric
or port database changes, or the device has already logged into
us (e.g., for target/initiator dual role devices like Veritas
SANbox). Propagate class 3 service parameter changes where devices
can change roles.

Fix all occurrences of setting a sendmarker so that setting it
for one bus on dual bus cards doesn't wipe a pending sendmarker
for other busses on the same card.

Comments added and clarifications made in some of the target mode code.

Add support for > 12 byte CDBs. Split out nvram reading into
per-card functions. Add proper Ultra2/Ultra3 support. Upgrade
firmware.
 1.14.2.1  08-Jan-2000  he Pull up revisions 1.15-1.18 (requested by mjacob):
Untangle Qlogic firmware copyright problems and update firmware.
Untangle some MD support issues for said firmware. Add 1280 (Dual
LVD), 1240 (Dual Ultra), 2200 (2nd Generation Qlogic FC chipset).
Fix some synchronous negotiation problems for parallel SCSI.
Firm up some Fabric Support issues.
 1.16.2.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.17.2.3  12-Mar-2001  bouyer Sync with HEAD.
 1.17.2.2  05-Jan-2001  bouyer Sync with HEAD
 1.17.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.20.4.2  16-Mar-2001  he Pull up revisions 1.24-1.25 (requested by mjacob):
Put in offset definitions for FPM and FBM registers, plus just
enough bits defined so we can reset them. Add maintenance note.
 1.20.4.1  28-Aug-2000  mjacob Complete rewrite of internals for isp core version 2.0.
Pullup to netbsd-1-5 approved by thorpej@netbsd.org.
 1.25.4.2  16-Mar-2002  jdolecek Catch up with -current.
 1.25.4.1  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.25.2.2  28-Feb-2002  nathanw Catch up to -current.
 1.25.2.1  21-Sep-2001  nathanw Catch up to -current.
 1.27.16.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.27.16.2  18-Sep-2004  skrll Sync with HEAD.
 1.27.16.1  03-Aug-2004  skrll Sync with HEAD
 1.29.16.2  17-Mar-2008  yamt sync with head.
 1.29.16.1  03-Sep-2007  yamt sync with head.
 1.30.32.1  11-Jul-2007  mjf Sync with head.
 1.30.30.1  27-May-2007  ad Sync with head.
 1.31.28.1  03-Apr-2008  mjf Sync with HEAD.
 1.31.24.1  24-Mar-2008  keiichi sync with head.
 1.31.8.1  23-Mar-2008  matt sync with HEAD
 1.32.18.1  23-Jul-2009  jym Sync with HEAD.
 1.32.4.2  11-Aug-2010  yamt sync with head.
 1.32.4.1  18-Jul-2009  yamt sync with head.
 1.33.4.1  30-May-2010  rmind sync with head
 1.33.2.1  30-Apr-2010  uebayasi Sync with HEAD.

RSS XML Feed