diff options
author | mjacob <mjacob@FreeBSD.org> | 2002-02-04 21:04:25 +0000 |
---|---|---|
committer | mjacob <mjacob@FreeBSD.org> | 2002-02-04 21:04:25 +0000 |
commit | 6d2dbc994419de3783c034893bc621f5c5adb66f (patch) | |
tree | 6bc5ce3afd87000d0d3bd51b3708bd7ccb43fbc6 /sys/dev/isp/isp_target.h | |
parent | 451f832b15e0cbdcd136f1c8cbea2496ca4fa965 (diff) | |
download | FreeBSD-src-6d2dbc994419de3783c034893bc621f5c5adb66f.zip FreeBSD-src-6d2dbc994419de3783c034893bc621f5c5adb66f.tar.gz |
+ A variety of 23XX changes:
disable MWI on 2300
based on function code, set an 'isp_port' for the 2312- it's a
separate instance, but the NVRAM is shared, and the second port's
NVRAM is at offset 256.
+ Enable RIO operation for LVD SCSI cards. This makes a *big* difference
as even under reasonable load we get batched completions of about 30
commands at a time on, say, an ISP1080.
+ Do 'continuation' mailbox commands- this allows us to specify a work
area within the softc and 'continue' repeated mailbox commands. This is
more or less on an ad hoc basis and is currently only used for firmware
loading (which f/w now loads substantially faster becuase the calling
thread is only woken when all the f/w words are loaded- not for each
one of the 40000 f/w words that gets loaded).
+ If we're about to return from isp_intr with a 'bogus interrupt' indication,
and we're not a 23XX card, check to see whether the semaphore register is
currently *2* (not *1* as it should be) and whether there's an async completion
sitting in outgoing mailbox0. This seems to capture cases of lost fast posting
and RIO interrupts that the 12160 && 1080 have been known to pump out under
extreme load (extreme, as in > 250 active commands).
+ FC_SCRATCH_ACQUIRE/FC_SCRATCH_RELEASE macros.
+ Endian correct swizzle/unswizzle of an ATIO2 that has a WWPN in it.
MFC after: 1 week
Diffstat (limited to 'sys/dev/isp/isp_target.h')
-rw-r--r-- | sys/dev/isp/isp_target.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/isp/isp_target.h b/sys/dev/isp/isp_target.h index f714f1e..f911a17 100644 --- a/sys/dev/isp/isp_target.h +++ b/sys/dev/isp/isp_target.h @@ -280,8 +280,9 @@ typedef struct { u_int8_t at_execodes; u_int8_t at_cdb[ATIO2_CDBLEN]; /* received CDB */ u_int32_t at_datalen; /* allocated data len */ - u_int16_t at_scclun; /* SCC Lun or reserved */ - u_int16_t at_reserved2[10]; + u_int16_t at_scclun; /* SCC Lun or reserved */ + u_int16_t at_wwpn[4]; /* WWPN of initiator */ + u_int16_t at_reserved2[6]; u_int16_t at_oxid; } at2_entry_t; |