]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
When resetting the Qlogic 2X00 units, reset the FPM (Fibre Protocol
authormjacob <mjacob@FreeBSD.org>
Mon, 15 Jan 2001 18:33:08 +0000 (18:33 +0000)
committermjacob <mjacob@FreeBSD.org>
Mon, 15 Jan 2001 18:33:08 +0000 (18:33 +0000)
commit5d01ba1194e2749b8b30cf0685f674a5163e7b07
tree97f086d7b1771437e80113ea61e6f76a58ffa20d
parent5cc8ff22fa0677114bfd33f769881dabb84ca4db
When resetting the Qlogic 2X00 units, reset the FPM (Fibre Protocol
Module) and FBM (Fibre Buffer Modules). Also remember to clear the
semaphore registers. Tell the RISC processor to not halt on FPM
parity errors.

Throw out the ISP_CFG_NOINIT silliness and instead go to the use of
adapter 'roles' to see whether one completes initialization or not
(mostly for Fibre Channel). The ultimate intent, btw, of all of this
is to have a warm standby adapter for failover reasons.  Because
we do roles now, setting of Target Capable Class 3 service parameters
in the ICB for the 2x00 cards reflects from role. Also, in isp_start,
if we're not supporting an initiator role, we bounce outgoing commands
with a Selection Timeout error. Also clean out the TOGGLE_TMODE
goop for FC- there is no toggling of target mode like there is
for parallel SCSI cards.

Do more cleanup with respect to using target ids 0..125 in F-port
topologies. Also keep track of things which *were* fabric devices
so that when you rescan the fabric you can notify the outer layers
when fabric devices go away.

Only force a LOGOUT for fabric devices if they're still logged in
(i.e., you cat their Port Database entry. Clean up the Get All Next
scanning.

Finally, use a new tag in the softc to store the opcode for the
last mailbox command used so we can report which opcode timed
out.
sys/dev/isp/isp.c