Deleted Added
full compact
isp.c (237210) isp.c (237537)
1/*-
2 * Copyright (c) 1997-2009 by Matthew Jacob
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *

--- 33 unchanged lines hidden (view full) ---

42 */
43#ifdef __NetBSD__
44#include <sys/cdefs.h>
45__KERNEL_RCSID(0, "$NetBSD$");
46#include <dev/ic/isp_netbsd.h>
47#endif
48#ifdef __FreeBSD__
49#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 1997-2009 by Matthew Jacob
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *

--- 33 unchanged lines hidden (view full) ---

42 */
43#ifdef __NetBSD__
44#include <sys/cdefs.h>
45__KERNEL_RCSID(0, "$NetBSD$");
46#include <dev/ic/isp_netbsd.h>
47#endif
48#ifdef __FreeBSD__
49#include <sys/cdefs.h>
50__FBSDID("$FreeBSD: head/sys/dev/isp/isp.c 237210 2012-06-17 21:39:40Z mjacob $");
50__FBSDID("$FreeBSD: head/sys/dev/isp/isp.c 237537 2012-06-24 17:30:54Z mjacob $");
51#include <dev/isp/isp_freebsd.h>
52#endif
53#ifdef __OpenBSD__
54#include <dev/ic/isp_openbsd.h>
55#endif
56#ifdef __linux__
57#include "isp_linux.h"
58#endif

--- 1024 unchanged lines hidden (view full) ---

1083 isp->isp_fwattr = ISP_FW_ATTR_SCCLUN;
1084#else
1085 isp->isp_fwattr = 0;
1086#endif
1087 } else {
1088 isp->isp_fwattr = mbs.param[6];
1089 }
1090 if (IS_24XX(isp) && (isp->isp_fwattr & ISP2400_FW_ATTR_EXTNDED)) {
51#include <dev/isp/isp_freebsd.h>
52#endif
53#ifdef __OpenBSD__
54#include <dev/ic/isp_openbsd.h>
55#endif
56#ifdef __linux__
57#include "isp_linux.h"
58#endif

--- 1024 unchanged lines hidden (view full) ---

1083 isp->isp_fwattr = ISP_FW_ATTR_SCCLUN;
1084#else
1085 isp->isp_fwattr = 0;
1086#endif
1087 } else {
1088 isp->isp_fwattr = mbs.param[6];
1089 }
1090 if (IS_24XX(isp) && (isp->isp_fwattr & ISP2400_FW_ATTR_EXTNDED)) {
1091 isp->isp_fwattr ^= ISP2400_FW_ATTR_EXTNDED;
1092 isp->isp_fwattr |= (((uint64_t) mbs.param[15]) << 16) | (((uint64_t) mbs.param[16]) << 32) | (((uint64_t) mbs.param[17]) << 48);
1093 }
1094 } else if (IS_SCSI(isp)) {
1095#ifndef ISP_TARGET_MODE
1096 isp->isp_fwattr = ISP_FW_ATTR_TMODE;
1097#else
1098 isp->isp_fwattr = 0;
1099#endif

--- 35 unchanged lines hidden (view full) ---

1135 ISP_SNPRINTF(buf, ISP_FC_SCRLEN - strlen(buf), "%s VP0_Decoupling", buf);
1136 }
1137 if (fwt & ISP2400_FW_ATTR_EXPFW) {
1138 fwt ^= ISP2400_FW_ATTR_EXPFW;
1139 ISP_SNPRINTF(buf, ISP_FC_SCRLEN - strlen(buf), "%s (Experimental)", buf);
1140 }
1141 fwt &= ~ISP2400_FW_ATTR_EXTNDED;
1142 if (fwt) {
1091 isp->isp_fwattr |= (((uint64_t) mbs.param[15]) << 16) | (((uint64_t) mbs.param[16]) << 32) | (((uint64_t) mbs.param[17]) << 48);
1092 }
1093 } else if (IS_SCSI(isp)) {
1094#ifndef ISP_TARGET_MODE
1095 isp->isp_fwattr = ISP_FW_ATTR_TMODE;
1096#else
1097 isp->isp_fwattr = 0;
1098#endif

--- 35 unchanged lines hidden (view full) ---

1134 ISP_SNPRINTF(buf, ISP_FC_SCRLEN - strlen(buf), "%s VP0_Decoupling", buf);
1135 }
1136 if (fwt & ISP2400_FW_ATTR_EXPFW) {
1137 fwt ^= ISP2400_FW_ATTR_EXPFW;
1138 ISP_SNPRINTF(buf, ISP_FC_SCRLEN - strlen(buf), "%s (Experimental)", buf);
1139 }
1140 fwt &= ~ISP2400_FW_ATTR_EXTNDED;
1141 if (fwt) {
1143 ISP_SNPRINTF(buf, ISP_FC_SCRLEN - strlen(buf), "%s (unknown 0x%jx)", buf, (uintmax_t)fwt);
1142 ISP_SNPRINTF(buf, ISP_FC_SCRLEN - strlen(buf), "%s (unknown 0x%08x%08x)", buf,
1143 (uint32_t) (fwt >> 32), (uint32_t) fwt);
1144 }
1145 isp_prt(isp, ISP_LOGCONFIG, "%s", buf);
1146 } else if (IS_FC(isp)) {
1147 buf = FCPARAM(isp, 0)->isp_scratch;
1148 ISP_SNPRINTF(buf, ISP_FC_SCRLEN, "Attributes:");
1149 if (fwt & ISP_FW_ATTR_TMODE) {
1150 fwt ^=ISP_FW_ATTR_TMODE;
1151 ISP_SNPRINTF(buf, ISP_FC_SCRLEN - strlen(buf), "%s TargetMode", buf);

--- 26 unchanged lines hidden (view full) ---

1178 fwt ^=ISP_FW_ATTR_VI_SOLARIS;
1179 ISP_SNPRINTF(buf, ISP_FC_SCRLEN - strlen(buf), "%s VI_SOLARIS", buf);
1180 }
1181 if (fwt & ISP_FW_ATTR_2KLOGINS) {
1182 fwt ^=ISP_FW_ATTR_2KLOGINS;
1183 ISP_SNPRINTF(buf, ISP_FC_SCRLEN - strlen(buf), "%s 2K-Login", buf);
1184 }
1185 if (fwt != 0) {
1144 }
1145 isp_prt(isp, ISP_LOGCONFIG, "%s", buf);
1146 } else if (IS_FC(isp)) {
1147 buf = FCPARAM(isp, 0)->isp_scratch;
1148 ISP_SNPRINTF(buf, ISP_FC_SCRLEN, "Attributes:");
1149 if (fwt & ISP_FW_ATTR_TMODE) {
1150 fwt ^=ISP_FW_ATTR_TMODE;
1151 ISP_SNPRINTF(buf, ISP_FC_SCRLEN - strlen(buf), "%s TargetMode", buf);

--- 26 unchanged lines hidden (view full) ---

1178 fwt ^=ISP_FW_ATTR_VI_SOLARIS;
1179 ISP_SNPRINTF(buf, ISP_FC_SCRLEN - strlen(buf), "%s VI_SOLARIS", buf);
1180 }
1181 if (fwt & ISP_FW_ATTR_2KLOGINS) {
1182 fwt ^=ISP_FW_ATTR_2KLOGINS;
1183 ISP_SNPRINTF(buf, ISP_FC_SCRLEN - strlen(buf), "%s 2K-Login", buf);
1184 }
1185 if (fwt != 0) {
1186 ISP_SNPRINTF(buf, ISP_FC_SCRLEN - strlen(buf), "%s (unknown 0x%jx)", buf, (uintmax_t)fwt);
1186 ISP_SNPRINTF(buf, ISP_FC_SCRLEN - strlen(buf), "%s (unknown 0x%08x%08x)", buf,
1187 (uint32_t) (fwt >> 32), (uint32_t) fwt);
1187 }
1188 isp_prt(isp, ISP_LOGCONFIG, "%s", buf);
1189 }
1190
1188 }
1189 isp_prt(isp, ISP_LOGCONFIG, "%s", buf);
1190 }
1191
1191 if (!IS_24XX(isp)) {
1192 if (IS_24XX(isp)) {
1193 MBSINIT(&mbs, MBOX_GET_RESOURCE_COUNT, MBLOGALL, 0);
1194 isp_mboxcmd(isp, &mbs);
1195 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) {
1196 ISP_RESET0(isp);
1197 return;
1198 }
1199 if (isp->isp_maxcmds >= mbs.param[3]) {
1200 isp->isp_maxcmds = mbs.param[3];
1201 }
1202 } else {
1192 MBSINIT(&mbs, MBOX_GET_FIRMWARE_STATUS, MBLOGALL, 0);
1193 isp_mboxcmd(isp, &mbs);
1194 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) {
1195 ISP_RESET0(isp);
1196 return;
1197 }
1198 if (isp->isp_maxcmds >= mbs.param[2]) {
1199 isp->isp_maxcmds = mbs.param[2];
1200 }
1201 }
1202 isp_prt(isp, ISP_LOGCONFIG, "%d max I/O command limit set", isp->isp_maxcmds);
1203
1204 /*
1205 * If we don't have Multi-ID f/w loaded, we need to restrict channels to one.
1206 * Only make this check for non-SCSI cards (I'm not sure firmware attributes
1207 * work for them).
1208 */
1203 MBSINIT(&mbs, MBOX_GET_FIRMWARE_STATUS, MBLOGALL, 0);
1204 isp_mboxcmd(isp, &mbs);
1205 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) {
1206 ISP_RESET0(isp);
1207 return;
1208 }
1209 if (isp->isp_maxcmds >= mbs.param[2]) {
1210 isp->isp_maxcmds = mbs.param[2];
1211 }
1212 }
1213 isp_prt(isp, ISP_LOGCONFIG, "%d max I/O command limit set", isp->isp_maxcmds);
1214
1215 /*
1216 * If we don't have Multi-ID f/w loaded, we need to restrict channels to one.
1217 * Only make this check for non-SCSI cards (I'm not sure firmware attributes
1218 * work for them).
1219 */
1209 if (IS_FC(isp) && ISP_CAP_MULTI_ID(isp) == 0 && isp->isp_nchan > 1) {
1210 isp_prt(isp, ISP_LOGWARN, "non-MULTIID f/w loaded, only can enable 1 of %d channels", isp->isp_nchan);
1211 isp->isp_nchan = 1;
1220 if (IS_FC(isp) && isp->isp_nchan > 1) {
1221 if (!IS_24XX(isp) || (fwt & ISP2400_FW_ATTR_MULTIID) == 0) {
1222 isp_prt(isp, ISP_LOGWARN, "non-MULTIID f/w loaded, only can enable 1 of %d channels", isp->isp_nchan);
1223 isp->isp_nchan = 1;
1224 }
1212 }
1225 }
1213
1214 for (i = 0; i < isp->isp_nchan; i++) {
1215 isp_fw_state(isp, i);
1216 }
1217 if (isp->isp_dead) {
1218 isp_shutdown(isp);
1219 ISP_DISABLE_INTS(isp);
1220 return;
1221 }

--- 470 unchanged lines hidden (view full) ---

1692 /*
1693 * Right now we just set extended options to prefer point-to-point
1694 * over loop based upon some soft config options.
1695 *
1696 * NB: for the 2300, ICBOPT_EXTENDED is required.
1697 */
1698 if (IS_2200(isp) || IS_23XX(isp)) {
1699 icbp->icb_fwoptions |= ICBOPT_EXTENDED;
1226 for (i = 0; i < isp->isp_nchan; i++) {
1227 isp_fw_state(isp, i);
1228 }
1229 if (isp->isp_dead) {
1230 isp_shutdown(isp);
1231 ISP_DISABLE_INTS(isp);
1232 return;
1233 }

--- 470 unchanged lines hidden (view full) ---

1704 /*
1705 * Right now we just set extended options to prefer point-to-point
1706 * over loop based upon some soft config options.
1707 *
1708 * NB: for the 2300, ICBOPT_EXTENDED is required.
1709 */
1710 if (IS_2200(isp) || IS_23XX(isp)) {
1711 icbp->icb_fwoptions |= ICBOPT_EXTENDED;
1712
1713 icbp->icb_xfwoptions = fcp->isp_xfwoptions;
1714
1700 /*
1701 * Prefer or force Point-To-Point instead Loop?
1702 */
1703 switch (isp->isp_confopts & ISP_CFG_PORT_PREF) {
1704 case ISP_CFG_NPORT:
1715 /*
1716 * Prefer or force Point-To-Point instead Loop?
1717 */
1718 switch (isp->isp_confopts & ISP_CFG_PORT_PREF) {
1719 case ISP_CFG_NPORT:
1720 icbp->icb_xfwoptions &= ~ICBXOPT_TOPO_MASK;
1705 icbp->icb_xfwoptions |= ICBXOPT_PTP_2_LOOP;
1706 break;
1707 case ISP_CFG_NPORT_ONLY:
1721 icbp->icb_xfwoptions |= ICBXOPT_PTP_2_LOOP;
1722 break;
1723 case ISP_CFG_NPORT_ONLY:
1724 icbp->icb_xfwoptions &= ~ICBXOPT_TOPO_MASK;
1708 icbp->icb_xfwoptions |= ICBXOPT_PTP_ONLY;
1709 break;
1710 case ISP_CFG_LPORT_ONLY:
1725 icbp->icb_xfwoptions |= ICBXOPT_PTP_ONLY;
1726 break;
1727 case ISP_CFG_LPORT_ONLY:
1728 icbp->icb_xfwoptions &= ~ICBXOPT_TOPO_MASK;
1711 icbp->icb_xfwoptions |= ICBXOPT_LOOP_ONLY;
1712 break;
1713 default:
1729 icbp->icb_xfwoptions |= ICBXOPT_LOOP_ONLY;
1730 break;
1731 default:
1714 icbp->icb_xfwoptions |= ICBXOPT_LOOP_2_PTP;
1732 /*
1733 * Let NVRAM settings define it if they are sane
1734 */
1735 switch (icbp->icb_xfwoptions & ICBXOPT_TOPO_MASK) {
1736 case ICBXOPT_PTP_2_LOOP:
1737 case ICBXOPT_PTP_ONLY:
1738 case ICBXOPT_LOOP_ONLY:
1739 case ICBXOPT_LOOP_2_PTP:
1740 break;
1741 default:
1742 icbp->icb_xfwoptions &= ~ICBXOPT_TOPO_MASK;
1743 icbp->icb_xfwoptions |= ICBXOPT_LOOP_2_PTP;
1744 }
1715 break;
1716 }
1717 if (IS_2200(isp)) {
1718 /*
1719 * We can't have Fast Posting any more- we now
1720 * have 32 bit handles.
1721 *
1722 * RIO seemed to have to much breakage.

--- 9 unchanged lines hidden (view full) ---

1732 * to write response queue entries and interrupt
1733 * after a delay (ZIO).
1734 */
1735 icbp->icb_fwoptions &= ~ICBOPT_FAST_POST;
1736 if ((fcp->isp_xfwoptions & ICBXOPT_TIMER_MASK) == ICBXOPT_ZIO) {
1737 icbp->icb_xfwoptions |= ICBXOPT_ZIO;
1738 icbp->icb_idelaytimer = 10;
1739 }
1745 break;
1746 }
1747 if (IS_2200(isp)) {
1748 /*
1749 * We can't have Fast Posting any more- we now
1750 * have 32 bit handles.
1751 *
1752 * RIO seemed to have to much breakage.

--- 9 unchanged lines hidden (view full) ---

1762 * to write response queue entries and interrupt
1763 * after a delay (ZIO).
1764 */
1765 icbp->icb_fwoptions &= ~ICBOPT_FAST_POST;
1766 if ((fcp->isp_xfwoptions & ICBXOPT_TIMER_MASK) == ICBXOPT_ZIO) {
1767 icbp->icb_xfwoptions |= ICBXOPT_ZIO;
1768 icbp->icb_idelaytimer = 10;
1769 }
1770 icbp->icb_zfwoptions = fcp->isp_zfwoptions;
1740 if (isp->isp_confopts & ISP_CFG_ONEGB) {
1771 if (isp->isp_confopts & ISP_CFG_ONEGB) {
1772 icbp->icb_zfwoptions &= ~ICBZOPT_RATE_MASK;
1741 icbp->icb_zfwoptions |= ICBZOPT_RATE_ONEGB;
1742 } else if (isp->isp_confopts & ISP_CFG_TWOGB) {
1773 icbp->icb_zfwoptions |= ICBZOPT_RATE_ONEGB;
1774 } else if (isp->isp_confopts & ISP_CFG_TWOGB) {
1775 icbp->icb_zfwoptions &= ~ICBZOPT_RATE_MASK;
1743 icbp->icb_zfwoptions |= ICBZOPT_RATE_TWOGB;
1744 } else {
1776 icbp->icb_zfwoptions |= ICBZOPT_RATE_TWOGB;
1777 } else {
1745 icbp->icb_zfwoptions |= ICBZOPT_RATE_AUTO;
1778 switch (icbp->icb_zfwoptions & ICBZOPT_RATE_MASK) {
1779 case ICBZOPT_RATE_ONEGB:
1780 case ICBZOPT_RATE_TWOGB:
1781 case ICBZOPT_RATE_AUTO:
1782 break;
1783 default:
1784 icbp->icb_zfwoptions &= ~ICBZOPT_RATE_MASK;
1785 icbp->icb_zfwoptions |= ICBZOPT_RATE_AUTO;
1786 break;
1787 }
1746 }
1788 }
1747 if (fcp->isp_zfwoptions & ICBZOPT_50_OHM) {
1748 icbp->icb_zfwoptions |= ICBZOPT_50_OHM;
1749 }
1750 }
1751 }
1752
1753
1754 /*
1755 * For 22XX > 2.1.26 && 23XX, set some options.
1756 */
1757 if (ISP_FW_NEWER_THAN(isp, 2, 26, 0)) {

--- 152 unchanged lines hidden (view full) ---

1910 }
1911
1912 icbp->icb_execthrottle = DEFAULT_EXEC_THROTTLE(isp);
1913 if (icbp->icb_execthrottle < 1) {
1914 isp_prt(isp, ISP_LOGERR, "bad execution throttle of %d- using %d", DEFAULT_EXEC_THROTTLE(isp), ICB_DFLT_THROTTLE);
1915 icbp->icb_execthrottle = ICB_DFLT_THROTTLE;
1916 }
1917
1789 }
1790 }
1791
1792
1793 /*
1794 * For 22XX > 2.1.26 && 23XX, set some options.
1795 */
1796 if (ISP_FW_NEWER_THAN(isp, 2, 26, 0)) {

--- 152 unchanged lines hidden (view full) ---

1949 }
1950
1951 icbp->icb_execthrottle = DEFAULT_EXEC_THROTTLE(isp);
1952 if (icbp->icb_execthrottle < 1) {
1953 isp_prt(isp, ISP_LOGERR, "bad execution throttle of %d- using %d", DEFAULT_EXEC_THROTTLE(isp), ICB_DFLT_THROTTLE);
1954 icbp->icb_execthrottle = ICB_DFLT_THROTTLE;
1955 }
1956
1957 /*
1958 * Set target exchange count. Take half if we are supporting both roles.
1959 */
1918 if (icbp->icb_fwoptions1 & ICB2400_OPT1_TGT_ENABLE) {
1960 if (icbp->icb_fwoptions1 & ICB2400_OPT1_TGT_ENABLE) {
1919 /*
1920 * Get current resource count
1921 */
1922 MBSINIT(&mbs, MBOX_GET_RESOURCE_COUNT, MBLOGALL, 0);
1923 isp_mboxcmd(isp, &mbs);
1924 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) {
1925 return;
1926 }
1927 icbp->icb_xchgcnt = mbs.param[3];
1961 icbp->icb_xchgcnt = isp->isp_maxcmds;
1962 if ((icbp->icb_fwoptions1 & ICB2400_OPT1_INI_DISABLE) == 0)
1963 icbp->icb_xchgcnt >>= 1;
1928 }
1929
1930
1931 ownloopid = (isp->isp_confopts & ISP_CFG_OWNLOOPID) != 0;
1932 icbp->icb_hardaddr = fcp->isp_loopid;
1933 if (icbp->icb_hardaddr >= LOCAL_LOOP_LIM) {
1934 icbp->icb_hardaddr = 0;
1935 ownloopid = 0;

--- 570 unchanged lines hidden (view full) ---

2506
2507 if (fcp->isp_fwstate < FW_READY ||
2508 fcp->isp_loopstate < LOOP_PDB_RCVD) {
2509 return (wwn);
2510 }
2511 MBSINIT(&mbs, MBOX_GET_PORT_NAME, MBLOGALL & ~MBOX_COMMAND_PARAM_ERROR, 500000);
2512 if (ISP_CAP_2KLOGIN(isp)) {
2513 mbs.param[1] = loopid;
1964 }
1965
1966
1967 ownloopid = (isp->isp_confopts & ISP_CFG_OWNLOOPID) != 0;
1968 icbp->icb_hardaddr = fcp->isp_loopid;
1969 if (icbp->icb_hardaddr >= LOCAL_LOOP_LIM) {
1970 icbp->icb_hardaddr = 0;
1971 ownloopid = 0;

--- 570 unchanged lines hidden (view full) ---

2542
2543 if (fcp->isp_fwstate < FW_READY ||
2544 fcp->isp_loopstate < LOOP_PDB_RCVD) {
2545 return (wwn);
2546 }
2547 MBSINIT(&mbs, MBOX_GET_PORT_NAME, MBLOGALL & ~MBOX_COMMAND_PARAM_ERROR, 500000);
2548 if (ISP_CAP_2KLOGIN(isp)) {
2549 mbs.param[1] = loopid;
2514 mbs.ibits = (1 << 10);
2515 if (nodename) {
2516 mbs.param[10] = 1;
2517 }
2550 if (nodename) {
2551 mbs.param[10] = 1;
2552 }
2518 if (ISP_CAP_MULTI_ID(isp)) {
2519 mbs.ibits |= (1 << 9);
2520 mbs.param[9] = chan;
2521 }
2553 mbs.param[9] = chan;
2522 } else {
2554 } else {
2555 mbs.ibits = 3;
2523 mbs.param[1] = loopid << 8;
2524 if (nodename) {
2525 mbs.param[1] |= 1;
2526 }
2527 }
2528 isp_mboxcmd(isp, &mbs);
2529 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) {
2530 return (wwn);

--- 4477 unchanged lines hidden (view full) ---

7008 ISP_FC_OPMAP(0x00, 0x00), /* 0x3a: */
7009 ISP_FC_OPMAP(0x00, 0x00), /* 0x3b: */
7010 ISP_FC_OPMAP(0x00, 0x00), /* 0x3c: */
7011 ISP_FC_OPMAP(0x00, 0x00), /* 0x3d: */
7012 ISP_FC_OPMAP(0x00, 0x00), /* 0x3e: */
7013 ISP_FC_OPMAP(0x00, 0x00), /* 0x3f: */
7014 ISP_FC_OPMAP(0x03, 0x01), /* 0x40: MBOX_LOOP_PORT_BYPASS */
7015 ISP_FC_OPMAP(0x03, 0x01), /* 0x41: MBOX_LOOP_PORT_ENABLE */
2556 mbs.param[1] = loopid << 8;
2557 if (nodename) {
2558 mbs.param[1] |= 1;
2559 }
2560 }
2561 isp_mboxcmd(isp, &mbs);
2562 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) {
2563 return (wwn);

--- 4477 unchanged lines hidden (view full) ---

7041 ISP_FC_OPMAP(0x00, 0x00), /* 0x3a: */
7042 ISP_FC_OPMAP(0x00, 0x00), /* 0x3b: */
7043 ISP_FC_OPMAP(0x00, 0x00), /* 0x3c: */
7044 ISP_FC_OPMAP(0x00, 0x00), /* 0x3d: */
7045 ISP_FC_OPMAP(0x00, 0x00), /* 0x3e: */
7046 ISP_FC_OPMAP(0x00, 0x00), /* 0x3f: */
7047 ISP_FC_OPMAP(0x03, 0x01), /* 0x40: MBOX_LOOP_PORT_BYPASS */
7048 ISP_FC_OPMAP(0x03, 0x01), /* 0x41: MBOX_LOOP_PORT_ENABLE */
7016 ISP_FC_OPMAP_HALF(0x3, 0xcf, 0x0, 0x07), /* 0x42: MBOX_GET_RESOURCE_COUNT */
7049 ISP_FC_OPMAP_HALF(0x0, 0x01, 0x3, 0xcf), /* 0x42: MBOX_GET_RESOURCE_COUNT */
7017 ISP_FC_OPMAP(0x01, 0x01), /* 0x43: MBOX_REQUEST_OFFLINE_MODE */
7018 ISP_FC_OPMAP(0x00, 0x00), /* 0x44: */
7019 ISP_FC_OPMAP(0x00, 0x00), /* 0x45: */
7020 ISP_FC_OPMAP(0x00, 0x00), /* 0x46: */
7021 ISP_FC_OPMAP(0xcf, 0x03), /* 0x47: GET PORT_DATABASE ENHANCED */
7022 ISP_FC_OPMAP(0xcd, 0x01), /* 0x48: MBOX_INIT_FIRMWARE_MULTI_ID */
7023 ISP_FC_OPMAP(0xcd, 0x01), /* 0x49: MBOX_GET_VP_DATABASE */
7024 ISP_FC_OPMAP_HALF(0x2, 0xcd, 0x0, 0x01), /* 0x4a: MBOX_GET_VP_DATABASE_ENTRY */

--- 23 unchanged lines hidden (view full) ---

7048 ISP_FC_OPMAP(0x01, 0x01), /* 0x62: MBOX_INIT_LIP */
7049 ISP_FC_OPMAP(0xcd, 0x03), /* 0x63: MBOX_GET_FC_AL_POSITION_MAP */
7050 ISP_FC_OPMAP(0xcf, 0x01), /* 0x64: MBOX_GET_PORT_DB */
7051 ISP_FC_OPMAP(0x07, 0x01), /* 0x65: MBOX_CLEAR_ACA */
7052 ISP_FC_OPMAP(0x07, 0x01), /* 0x66: MBOX_TARGET_RESET */
7053 ISP_FC_OPMAP(0x07, 0x01), /* 0x67: MBOX_CLEAR_TASK_SET */
7054 ISP_FC_OPMAP(0x07, 0x01), /* 0x68: MBOX_ABORT_TASK_SET */
7055 ISP_FC_OPMAP(0x01, 0x07), /* 0x69: MBOX_GET_FW_STATE */
7050 ISP_FC_OPMAP(0x01, 0x01), /* 0x43: MBOX_REQUEST_OFFLINE_MODE */
7051 ISP_FC_OPMAP(0x00, 0x00), /* 0x44: */
7052 ISP_FC_OPMAP(0x00, 0x00), /* 0x45: */
7053 ISP_FC_OPMAP(0x00, 0x00), /* 0x46: */
7054 ISP_FC_OPMAP(0xcf, 0x03), /* 0x47: GET PORT_DATABASE ENHANCED */
7055 ISP_FC_OPMAP(0xcd, 0x01), /* 0x48: MBOX_INIT_FIRMWARE_MULTI_ID */
7056 ISP_FC_OPMAP(0xcd, 0x01), /* 0x49: MBOX_GET_VP_DATABASE */
7057 ISP_FC_OPMAP_HALF(0x2, 0xcd, 0x0, 0x01), /* 0x4a: MBOX_GET_VP_DATABASE_ENTRY */

--- 23 unchanged lines hidden (view full) ---

7081 ISP_FC_OPMAP(0x01, 0x01), /* 0x62: MBOX_INIT_LIP */
7082 ISP_FC_OPMAP(0xcd, 0x03), /* 0x63: MBOX_GET_FC_AL_POSITION_MAP */
7083 ISP_FC_OPMAP(0xcf, 0x01), /* 0x64: MBOX_GET_PORT_DB */
7084 ISP_FC_OPMAP(0x07, 0x01), /* 0x65: MBOX_CLEAR_ACA */
7085 ISP_FC_OPMAP(0x07, 0x01), /* 0x66: MBOX_TARGET_RESET */
7086 ISP_FC_OPMAP(0x07, 0x01), /* 0x67: MBOX_CLEAR_TASK_SET */
7087 ISP_FC_OPMAP(0x07, 0x01), /* 0x68: MBOX_ABORT_TASK_SET */
7088 ISP_FC_OPMAP(0x01, 0x07), /* 0x69: MBOX_GET_FW_STATE */
7056 ISP_FC_OPMAP(0x03, 0xcf), /* 0x6a: MBOX_GET_PORT_NAME */
7089 ISP_FC_OPMAP_HALF(0x6, 0x03, 0x0, 0xcf), /* 0x6a: MBOX_GET_PORT_NAME */
7057 ISP_FC_OPMAP(0xcf, 0x01), /* 0x6b: MBOX_GET_LINK_STATUS */
7058 ISP_FC_OPMAP(0x0f, 0x01), /* 0x6c: MBOX_INIT_LIP_RESET */
7059 ISP_FC_OPMAP(0x00, 0x00), /* 0x6d: */
7060 ISP_FC_OPMAP(0xcf, 0x03), /* 0x6e: MBOX_SEND_SNS */
7061 ISP_FC_OPMAP(0x0f, 0x07), /* 0x6f: MBOX_FABRIC_LOGIN */
7062 ISP_FC_OPMAP(0x03, 0x01), /* 0x70: MBOX_SEND_CHANGE_REQUEST */
7063 ISP_FC_OPMAP(0x03, 0x03), /* 0x71: MBOX_FABRIC_LOGOUT */
7064 ISP_FC_OPMAP(0x0f, 0x0f), /* 0x72: MBOX_INIT_LIP_LOGIN */

--- 1369 unchanged lines hidden ---
7090 ISP_FC_OPMAP(0xcf, 0x01), /* 0x6b: MBOX_GET_LINK_STATUS */
7091 ISP_FC_OPMAP(0x0f, 0x01), /* 0x6c: MBOX_INIT_LIP_RESET */
7092 ISP_FC_OPMAP(0x00, 0x00), /* 0x6d: */
7093 ISP_FC_OPMAP(0xcf, 0x03), /* 0x6e: MBOX_SEND_SNS */
7094 ISP_FC_OPMAP(0x0f, 0x07), /* 0x6f: MBOX_FABRIC_LOGIN */
7095 ISP_FC_OPMAP(0x03, 0x01), /* 0x70: MBOX_SEND_CHANGE_REQUEST */
7096 ISP_FC_OPMAP(0x03, 0x03), /* 0x71: MBOX_FABRIC_LOGOUT */
7097 ISP_FC_OPMAP(0x0f, 0x0f), /* 0x72: MBOX_INIT_LIP_LOGIN */

--- 1369 unchanged lines hidden ---