freebsd-dev/sys/dev/isp
Matt Jacob 75c1e828c0 + 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
2002-02-04 21:04:25 +00:00
..
DriverManual.txt Add some somewhat vague documentation for this driver and a list 2001-10-07 18:26:47 +00:00
Hardware.txt Add some somewhat vague documentation for this driver and a list 2001-10-07 18:26:47 +00:00
isp_freebsd.c Implement REDUCED INTERRUPT OPERATION usage form FC cards- this allows the 2002-01-03 20:43:22 +00:00
isp_freebsd.h + A variety of 23XX changes: 2002-02-04 21:04:25 +00:00
isp_inline.h + A variety of 23XX changes: 2002-02-04 21:04:25 +00:00
isp_ioctl.h + A variety of 23XX changes: 2002-02-04 21:04:25 +00:00
isp_pci.c + A variety of 23XX changes: 2002-02-04 21:04:25 +00:00
isp_target.c + A variety of 23XX changes: 2002-02-04 21:04:25 +00:00
isp_target.h + A variety of 23XX changes: 2002-02-04 21:04:25 +00:00
isp_tpublic.h Some patches from Doug for ia64 support- the principle one being the 2001-10-07 18:18:50 +00:00
isp.c + A variety of 23XX changes: 2002-02-04 21:04:25 +00:00
ispmbox.h + A variety of 23XX changes: 2002-02-04 21:04:25 +00:00
ispreg.h + A variety of 23XX changes: 2002-02-04 21:04:25 +00:00
ispvar.h + A variety of 23XX changes: 2002-02-04 21:04:25 +00:00