Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email firstname.lastname@example.org
From: Matthew Jacob (mjacob_at_cvs.openbsd.org)
Date: Sat Aug 17 2002 - 12:48:46 CDT
Module name: src
Changes by: mjacobcvs.openbsd.org 2002/08/17 11:48:46
sys/dev/ic : isp.c
If the HBA is already 'touched', still set maxluns.
Don't whine if the name server returns "no such registered type"
when we ask it for all FC-SCSI objects.
Fix a few typos.
If we get a f/w crash, if ISP_FW_CRASH_DUMP is *not* defined, do
the isp_reinit inline, otherwise, let the platform isp_async
drive things. This is because, typically, the platform isp_async
will freeze things and wake up a thread to do the actual f/w
crash dump (really *can't* be done on the interrupt stack- the
23XX has one move on the order of 500KBytes of crash dump data).
Set up to handle default framsize && exec_throttle and iid/loopid
If we're using ancient (pre 1.17.0) 2100 f/w (for the cards that cannot
load f/w images > 0x7fff words), set ISP_FW_ATTR_SCCLUN. We explicitly
don't believe we can find attributes if f/w is < 1.17.0, so we have to
set SCCLUN for the 1.15.37 f/w we're using manually- otherwise every
target will replicate itself across all 16 supported luns for non-SCCLUN
Correctly set things up for 23XX and either fast posting or ZIO. The
23XX, it turns out, does not support RIO. If you put a non-zero value
in xfwoptions, this will disable fast posting. If you put ICBXOPT_ZIO
in xfwoptions, then the 23XX will do interrupt delays but post to the
response queue- apparently QLogic *now* believes that reading multiple
handles from registers is less of a win than writing (and delaying)
multiple 64 byte responses to the response queue.
At the end of taking a a good f/w crash dump, send the ISPASYNC_FW_DUMPED
event to the outer layers (who can then do things like wake a user
daemon to *fetch* the crash image, etc.).