Reintroduce more of a 'channel' concept in preparation for NP-IV support.
This gets rid of the chanA/chanB concept as the 2400 can have up to 128
virtual channels. Actually, with MID firmware you can also have the 2200
and 2300 support 'channels, but they do it with an FL-Port topology.
Because FC cards can now have 'channels', just about every support
function for fibre channel had to be redone to have a channel index
as well. Rototill isp_ioctl.h for channel stuff as well.
Pick up a lot of work about fabric management (hopefully better) and keep
work in place that will allow for dynamic attachment/detachment of devices
(if I can figure out how to make the midlayer support it).
Merge the target code with external trees. Eventually it might even
be sorted out on NetBSD.
Update some firmware stuff.
The major changes are:
+ 4Gb (24XX) card support
+ Rewritten fabric and loop evaluation code
+ New f/w sets
The 4Gb changes required major rototilling, which caused a rewrite of
fabric and loop eval code. The latter can now be set up to tune for
dynamic device arrival/departure if the framework is set up for it,
or to be firm about waiting for devices.
Testing has been principally on amd64, i386 and sparc64 and seems to
not have broken things for me.
Broadcom bcm5703/bcm5704, and bcm5705, respectively.
Taken verbatim from the Linux-2.6.12.3 tg3 driver, where the firmware
is explictly marked as non-GPLed (hex-encoded binary blobs are not in
source form, and therefore violate the terms of the GPL), along with
the Boradcom non-GPL copyright allowing distribution of this
hex-encoded firmware.
message. In such case we would not update resid with the proper value
(eventually resid would not be updated at all if there was only one data
phase). To fix this, have the script save the offset in the data tables at
disconnect time if there was a transfer, and use this to compute the resid
if the current offset is 0.
Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi.
Fix kern/31990 by YAMAMOTO Takashi.
real save data pointers when we get the message (or rather, at disconnect
time following the message).
Factor out code to do this, and to deal with xs->resid, in siop_common.c.
with NetBSD 1.5). With all newer versions available to us, we have seen
some adapters crash -- and fail to respond to reset -- under certain heavy
load conditions. This version appears stable under heavy load with the
current driver on multiple systems on which we can reproduce the failure
with newer versions.
12160 Firmware Version 10.04.41 (10:30 Mar 21, 2003)
2200 Firmware Version 2.02.06 (08:39 Jun 26, 2003)
2300 Firmware Version 3.02.15 (08:26 Jul 21, 2003)
Matt's done some testing with it, and I've also tested on a very basic
setup with a QLA 2310 and a tower of 4 FC drives.
Unfortunately, there doesn't seem to be any change log for the firmware.