Major update to isp(4) driver to bring it in line with external sources.

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.
This commit is contained in:
mjacob 2007-05-24 22:12:02 +00:00
parent f0b57d5f54
commit 8e237f7550
9 changed files with 34374 additions and 10444 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: asm_1040.h,v 1.4 2005/12/11 12:22:27 christos Exp $ */
/* $NetBSD: asm_1040.h,v 1.5 2007/05/24 22:12:02 mjacob Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 Qlogic, Inc.
* All rights reserved.
@ -23,7 +23,7 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
*/
/************************************************************************
* *
@ -35,7 +35,7 @@
/*
* Firmware Version 4.66.00 (14:49 Sep 05, 2000)
*/
static const u_int16_t isp_1040_risc_code[] = {
static const uint16_t isp_1040_risc_code[] = {
0x0078, 0x1041, 0x0000, 0x2cd0, 0x0000, 0x2043, 0x4f50, 0x5952,
0x4947, 0x4854, 0x2031, 0x3939, 0x312c, 0x3139, 0x3932, 0x2c31,
0x3939, 0x332c, 0x3139, 0x3934, 0x2051, 0x4c4f, 0x4749, 0x4320,
@ -1481,7 +1481,7 @@ static const u_int16_t isp_1040_risc_code[] = {
/*
* Firmware Version 7.65.00 (14:17 Jul 20, 1999)
*/
static const u_int16_t isp_1040_risc_code[] = {
static const uint16_t isp_1040_risc_code[] = {
0x0078, 0x103a, 0x0000, 0x4057, 0x0000, 0x2043, 0x4f50, 0x5952,
0x4947, 0x4854, 0x2031, 0x3939, 0x3520, 0x514c, 0x4f47, 0x4943,
0x2043, 0x4f52, 0x504f, 0x5241, 0x5449, 0x4f4e, 0x2049, 0x5350,

View File

@ -1,4 +1,4 @@
/* $NetBSD: asm_1080.h,v 1.4 2005/12/11 12:22:27 christos Exp $ */
/* $NetBSD: asm_1080.h,v 1.5 2007/05/24 22:12:02 mjacob Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 Qlogic, Inc.
* All rights reserved.
@ -23,7 +23,7 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
*/
#ifndef ISP_TARGET_MODE
/************************************************************************
@ -35,7 +35,7 @@
/*
* Firmware Version 8.15.00 (14:35 Aug 22, 2000)
*/
static const u_int16_t isp_1080_risc_code[] = {
static const uint16_t isp_1080_risc_code[] = {
0x0078, 0x1041, 0x0000, 0x3d3b, 0x0000, 0x2043, 0x4f50, 0x5952,
0x4947, 0x4854, 0x2031, 0x3939, 0x312c, 0x3139, 0x3932, 0x2c31,
0x3939, 0x332c, 0x3139, 0x3934, 0x2051, 0x4c4f, 0x4749, 0x4320,
@ -2008,7 +2008,7 @@ static const u_int16_t isp_1080_risc_code[] = {
* Firmware Version 9.11.01 (15:46 May 23, 2000)
*/
static const u_int16_t isp_1080_risc_code[] = {
static const uint16_t isp_1080_risc_code[] = {
0x0078, 0x103a, 0x0000, 0x4f62, 0x0000, 0x2043, 0x4f50, 0x5952,
0x4947, 0x4854, 0x2031, 0x3939, 0x3520, 0x514c, 0x4f47, 0x4943,
0x2043, 0x4f52, 0x504f, 0x5241, 0x5449, 0x4f4e, 0x2049, 0x5350,

View File

@ -1,5 +1,4 @@
/* $NetBSD: asm_12160.h,v 1.6 2005/12/11 12:22:27 christos Exp $ */
/* @(#)asm_12160.h 1.4 */
/* $NetBSD: asm_12160.h,v 1.7 2007/05/24 22:12:03 mjacob Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 Qlogic, Inc.
* All rights reserved.
@ -24,7 +23,7 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
*/
/************************************************************************
* *
@ -36,7 +35,7 @@
/*
* Firmware Version 10.04.41 (10:30 Mar 21, 2003)
*/
static const u_int16_t isp_12160_risc_code[] = {
static const uint16_t isp_12160_risc_code[] = {
0x0804, 0x1041, 0x0000, 0x36c9, 0x0000, 0x2043, 0x4f50, 0x5952,
0x4947, 0x4854, 0x2031, 0x3939, 0x312c, 0x3139, 0x3932, 0x2c31,
0x3939, 0x332c, 0x3139, 0x3934, 0x2051, 0x4c4f, 0x4749, 0x4320,
@ -1796,7 +1795,7 @@ static const u_int16_t isp_12160_risc_code[] = {
/*
* Firmware Version 11.12.19 (17:10 Oct 25, 2001)
*/
static const u_int16_t isp_12160_risc_code[] = {
static const uint16_t isp_12160_risc_code[] = {
0x0804, 0x103a, 0x0000, 0x4f4e, 0x0000, 0x2043, 0x4f50, 0x5952,
0x4947, 0x4854, 0x2031, 0x3939, 0x3520, 0x514c, 0x4f47, 0x4943,
0x2043, 0x4f52, 0x504f, 0x5241, 0x5449, 0x4f4e, 0x2049, 0x5350,

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,4 @@
/* $NetBSD: asm_2200.h,v 1.7 2005/12/11 12:22:27 christos Exp $ */
/* @(#)asm_2200.h 1.6 */
/* $NetBSD: asm_2200.h,v 1.8 2007/05/24 22:12:04 mjacob Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 by Qlogic, Inc.
* All rights reserved.
@ -24,7 +23,7 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
*/
/************************************************************************
* *
@ -36,7 +35,7 @@
/*
* Firmware Version 2.02.06 (08:39 Jun 26, 2003)
*/
static const u_int16_t isp_2200_risc_code[] = {
static const uint16_t isp_2200_risc_code[] = {
0x0470, 0x0000, 0x0000, 0x96cf, 0x0000, 0x0002, 0x0002, 0x0006,
0x0007, 0x2043, 0x4f50, 0x5952, 0x4947, 0x4854, 0x2032, 0x3030,
0x3120, 0x514c, 0x4f47, 0x4943, 0x2043, 0x4f52, 0x504f, 0x5241,

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
/* $NetBSD: asm_sbus.h,v 1.20 2005/12/11 12:22:28 christos Exp $ */
/* $NetBSD: asm_sbus.h,v 1.21 2007/05/24 22:12:06 mjacob Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, 1998, 1999 Qlogic, Inc.
* All rights reserved.
@ -24,14 +24,13 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#define ISP_1000_RISC_CODE isp_1000_risc_code
#define ISP_1000_RISC_CODE (const uint16_t *) isp_1000_risc_code
#if defined(ISP_COMPILE_FW) || defined(ISP_COMPILE_1000_FW)
#ifndef ISP_TARGET_MODE
/*
* Firmware Version 1.37.00 (11:28 Aug 28, 2000)
*/
static const u_int16_t isp_1000_risc_code[] = {
static const uint16_t isp_1000_risc_code[] = {
0x0078, 0x1041, 0x0000, 0x2757, 0x0000, 0x12ff, 0x2043, 0x4f50,
0x5952, 0x4947, 0x4854, 0x2031, 0x3939, 0x312c, 0x3139, 0x3932,
0x2c31, 0x3939, 0x332c, 0x3139, 0x3934, 0x2051, 0x4c4f, 0x4749,
@ -1297,7 +1296,7 @@ static const u_int16_t isp_1000_risc_code[] = {
* Flakey, not quite functional, target mode code for ISP1000
* hacked out of PCI 7.55 initiator/target mode code.
*/
static const u_int16_t isp_1000_risc_code[] = {
static const uint16_t isp_1000_risc_code[] = {
0x0078, 0x103a, 0x0000, 0x3c1f, 0x0000, 0x2043, 0x4f50, 0x5952,
0x4947, 0x4854, 0x2031, 0x3939, 0x3520, 0x514c, 0x4f47, 0x4943,
0x2043, 0x4f52, 0x504f, 0x5241, 0x5449, 0x4f4e, 0x2049, 0x5350,
@ -3224,4 +3223,3 @@ static const u_int16_t isp_1000_risc_code[] = {
0x300c, 0x817e, 0x872b, 0x8772, 0xa8af, 0x0000, 0xd66f
};
#endif
#endif