freebsd-dev/sys/dev/isp
Matt Jacob 443e752d97 Revamp the pieces of some of the stuff I forgot to do when shifting to
32 bit handles. The RIO (reduced interrupt operation) and fast posting
for the parallel SCSI cards were all 16 bit handles. Furthermore,
target mode parallel SCSI only can have 16 bit handles.

Use part of a supplied patch to switch over to using 32 bit handles.
Be a bit more conservative here and only do this for parallel SCSI
for the 12160 (Ultra3) cards. There were a lot of marginal Ultra2
cards, and, frankly, few are findable now for testing.

Fix the target handle routine to only do 16 bit handles for parallel
SCSI cards. This is okay because the upper sixteen bits of the new
32 bit handles is a sequence number to help protect against duplicate
completions. This would be very unlikely to happen with parallel
SCSI target mode, and wasn't present before, so we're no worse off
than we used to be.

While we're at it, finally split the async mailbox completion handlers
into FC and parallel SCSI functions. This makes it much cleaner and
easier to figure out what is or isn't a legal async mailbox completion
code for different card classes.

PR:		kern/144250
Submitted partially by:	Charles D
MFC after:	1 week
2010-02-27 05:41:23 +00:00
..
DriverManual.txt
Hardware.txt
isp_freebsd.c Revamp the pieces of some of the stuff I forgot to do when shifting to 2010-02-27 05:41:23 +00:00
isp_freebsd.h Fix cases where we've managed to get a Loop UP event prior to initializing 2009-12-04 03:34:12 +00:00
isp_ioctl.h Add 8Gb support (isp_2500). Fix a fair number of configuration and 2009-08-01 01:04:26 +00:00
isp_library.c Revamp the pieces of some of the stuff I forgot to do when shifting to 2010-02-27 05:41:23 +00:00
isp_library.h Revamp the pieces of some of the stuff I forgot to do when shifting to 2010-02-27 05:41:23 +00:00
isp_pci.c Revamp the pieces of some of the stuff I forgot to do when shifting to 2010-02-27 05:41:23 +00:00
isp_sbus.c Redo how commands handles are created and managed and implement sequence 2010-02-03 21:09:32 +00:00
isp_stds.h (semiforced commit to add comment missed in last delta) 2009-09-21 01:41:19 +00:00
isp_target.c Revamp the pieces of some of the stuff I forgot to do when shifting to 2010-02-27 05:41:23 +00:00
isp_target.h Add 8Gb support (isp_2500). Fix a fair number of configuration and 2009-08-01 01:04:26 +00:00
isp.c Revamp the pieces of some of the stuff I forgot to do when shifting to 2010-02-27 05:41:23 +00:00
ispmbox.h Revamp the pieces of some of the stuff I forgot to do when shifting to 2010-02-27 05:41:23 +00:00
ispreg.h Revamp the pieces of some of the stuff I forgot to do when shifting to 2010-02-27 05:41:23 +00:00
ispvar.h Redo how commands handles are created and managed and implement sequence 2010-02-03 21:09:32 +00:00