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 --- |