Author: mav
Date: Wed Mar 14 00:27:25 2018
New Revision: 330888
URL: https://svnweb.freebsd.org/changeset/base/330888

Log:
  MFC r330121:
  Add support for Enhanced Gen 5 (16Gb) and Gen 6 (32Gb) QLogic FC HBAs.
  
  Sponsored by: iXsystems, Inc.

Modified:
  stable/11/share/man/man4/isp.4
  stable/11/sys/dev/isp/isp.c
  stable/11/sys/dev/isp/isp_pci.c
  stable/11/sys/dev/isp/ispmbox.h
  stable/11/sys/dev/isp/ispvar.h
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/share/man/man4/isp.4
==============================================================================
--- stable/11/share/man/man4/isp.4      Wed Mar 14 00:04:58 2018        
(r330887)
+++ stable/11/share/man/man4/isp.4      Wed Mar 14 00:27:25 2018        
(r330888)
@@ -1,4 +1,4 @@
-.\" Copyright (c) 2009-2017 Alexander Motin <m...@freebsd.org>
+.\" Copyright (c) 2009-2018 Alexander Motin <m...@freebsd.org>
 .\" Copyright (c) 2006 Marcus Alves Grando
 .\" Copyright (c) 1998-2001 Matthew Jacob, for NASA/Ames Research Center
 .\"
@@ -26,7 +26,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 3, 2017
+.Dd February 27, 2018
 .Dt ISP 4
 .Os
 .Sh NAME
@@ -139,6 +139,10 @@ Optical 4Gb Fibre Channel PCIe cards.
 Optical 8Gb Fibre Channel PCIe cards.
 .It Qlogic 267x/836x (aka 2031/8031)
 Optical 16Gb FC/FCoE PCIe cards.
+.It Qlogic 2690/2692/2694 (aka 2684/2692)
+Optical 16Gb Fibre Channel PCIe cards.
+.It Qlogic 2740/2742/2764 (aka 2722/2714)
+Optical 32Gb Fibre Channel PCIe cards.
 .El
 .Sh CONFIGURATION OPTIONS
 Target mode support for Fibre Channel adapters may be enabled with the

Modified: stable/11/sys/dev/isp/isp.c
==============================================================================
--- stable/11/sys/dev/isp/isp.c Wed Mar 14 00:04:58 2018        (r330887)
+++ stable/11/sys/dev/isp/isp.c Wed Mar 14 00:27:25 2018        (r330888)
@@ -1,5 +1,5 @@
 /*-
- *  Copyright (c) 2009-2017 Alexander Motin <m...@freebsd.org>
+ *  Copyright (c) 2009-2018 Alexander Motin <m...@freebsd.org>
  *  Copyright (c) 1997-2009 by Matthew Jacob
  *  All rights reserved.
  *
@@ -224,8 +224,11 @@ isp_reset(ispsoftc_t *isp, int do_load_defaults)
                        btype = "2532";
                        break;
                case ISP_HA_FC_2600:
-                       btype = "2031";
+                       btype = "2600";
                        break;
+               case ISP_HA_FC_2700:
+                       btype = "2700";
+                       break;
                default:
                        break;
                }
@@ -2018,7 +2021,7 @@ isp_fibre_init_2400(ispsoftc_t *isp)
        }
 
        icbp->icb_execthrottle = DEFAULT_EXEC_THROTTLE(isp);
-       if (icbp->icb_execthrottle < 1) {
+       if (icbp->icb_execthrottle < 1 && !IS_26XX(isp)) {
                isp_prt(isp, ISP_LOGERR, "bad execution throttle of %d- using 
%d", DEFAULT_EXEC_THROTTLE(isp), ICB_DFLT_THROTTLE);
                icbp->icb_execthrottle = ICB_DFLT_THROTTLE;
        }
@@ -2123,11 +2126,15 @@ isp_fibre_init_2400(ispsoftc_t *isp)
        } else if (isp->isp_confopts & ISP_CFG_16GB) {
                icbp->icb_fwoptions3 &= ~ICB2400_OPT3_RATE_MASK;
                icbp->icb_fwoptions3 |= ICB2400_OPT3_RATE_16GB;
+       } else if (isp->isp_confopts & ISP_CFG_32GB) {
+               icbp->icb_fwoptions3 &= ~ICB2400_OPT3_RATE_MASK;
+               icbp->icb_fwoptions3 |= ICB2400_OPT3_RATE_32GB;
        } else {
                switch (icbp->icb_fwoptions3 & ICB2400_OPT3_RATE_MASK) {
                case ICB2400_OPT3_RATE_4GB:
                case ICB2400_OPT3_RATE_8GB:
                case ICB2400_OPT3_RATE_16GB:
+               case ICB2400_OPT3_RATE_32GB:
                case ICB2400_OPT3_RATE_AUTO:
                        break;
                case ICB2400_OPT3_RATE_2GB:
@@ -3092,6 +3099,8 @@ not_on_fabric:
                if (mbs.param[0] == MBOX_COMMAND_COMPLETE) {
                        if (mbs.param[1] == MBGSD_10GB)
                                fcp->isp_gbspeed = 10;
+                       else if (mbs.param[1] == MBGSD_32GB)
+                               fcp->isp_gbspeed = 32;
                        else if (mbs.param[1] == MBGSD_16GB)
                                fcp->isp_gbspeed = 16;
                        else if (mbs.param[1] == MBGSD_8GB)
@@ -5900,6 +5909,13 @@ isp_parse_async_fc(ispsoftc_t *isp, uint16_t mbox)
                isp_prt(isp, ISP_LOGERR, "Temperature alert (subcode 0x%x)",
                    ISP_READ(isp, OUTMAILBOX1));
                break;
+       case ASYNC_TRANSCEIVER_INSERTION:
+               isp_prt(isp, ISP_LOGDEBUG0, "Transceiver insertion (0x%x)",
+                   ISP_READ(isp, OUTMAILBOX1));
+               break;
+       case ASYNC_TRANSCEIVER_REMOVAL:
+               isp_prt(isp, ISP_LOGDEBUG0, "Transceiver removal");
+               break;
        case ASYNC_AUTOLOAD_FW_COMPLETE:
                isp_prt(isp, ISP_LOGDEBUG0, "Autoload FW init complete");
                break;
@@ -6824,7 +6840,7 @@ static const uint32_t mbpfc[] = {
        ISP_FC_OPMAP(0x07, 0x01),       /* 0x66: MBOX_TARGET_RESET */
        ISP_FC_OPMAP(0x07, 0x01),       /* 0x67: MBOX_CLEAR_TASK_SET */
        ISP_FC_OPMAP(0x07, 0x01),       /* 0x68: MBOX_ABORT_TASK_SET */
-       ISP_FC_OPMAP(0x01, 0x07),       /* 0x69: MBOX_GET_FW_STATE */
+       ISP_FC_OPMAP_HALF(0x00, 0x01, 0x0f, 0x1f),      /* 0x69: 
MBOX_GET_FW_STATE */
        ISP_FC_OPMAP_HALF(0x6, 0x03, 0x0, 0xcf),        /* 0x6a: 
MBOX_GET_PORT_NAME */
        ISP_FC_OPMAP(0xcf, 0x01),       /* 0x6b: MBOX_GET_LINK_STATUS */
        ISP_FC_OPMAP(0x0f, 0x01),       /* 0x6c: MBOX_INIT_LIP_RESET */

Modified: stable/11/sys/dev/isp/isp_pci.c
==============================================================================
--- stable/11/sys/dev/isp/isp_pci.c     Wed Mar 14 00:04:58 2018        
(r330887)
+++ stable/11/sys/dev/isp/isp_pci.c     Wed Mar 14 00:27:25 2018        
(r330888)
@@ -1,4 +1,5 @@
 /*-
+ * Copyright (c) 2009-2018 Alexander Motin <m...@freebsd.org>
  * Copyright (c) 1997-2008 by Matthew Jacob
  * All rights reserved.
  *
@@ -175,6 +176,17 @@ static struct ispmdvec mdvec_2600 = {
        NULL
 };
 
+static struct ispmdvec mdvec_2700 = {
+       isp_pci_run_isr_2400,
+       isp_pci_rd_reg_2600,
+       isp_pci_wr_reg_2600,
+       isp_pci_mbxdma,
+       isp_pci_dmasetup,
+       isp_common_dmateardown,
+       isp_pci_irqsetup,
+       NULL
+};
+
 #ifndef        PCIM_CMD_INVEN
 #define        PCIM_CMD_INVEN                  0x10
 #endif
@@ -207,142 +219,80 @@ static struct ispmdvec mdvec_2600 = {
 #define        PCIR_ROMADDR                    0x30
 #endif
 
-#ifndef        PCI_VENDOR_QLOGIC
 #define        PCI_VENDOR_QLOGIC               0x1077
-#endif
 
-#ifndef        PCI_PRODUCT_QLOGIC_ISP1020
 #define        PCI_PRODUCT_QLOGIC_ISP1020      0x1020
-#endif
-
-#ifndef        PCI_PRODUCT_QLOGIC_ISP1080
 #define        PCI_PRODUCT_QLOGIC_ISP1080      0x1080
-#endif
-
-#ifndef        PCI_PRODUCT_QLOGIC_ISP10160
 #define        PCI_PRODUCT_QLOGIC_ISP10160     0x1016
-#endif
-
-#ifndef        PCI_PRODUCT_QLOGIC_ISP12160
 #define        PCI_PRODUCT_QLOGIC_ISP12160     0x1216
-#endif
-
-#ifndef        PCI_PRODUCT_QLOGIC_ISP1240
 #define        PCI_PRODUCT_QLOGIC_ISP1240      0x1240
-#endif
-
-#ifndef        PCI_PRODUCT_QLOGIC_ISP1280
 #define        PCI_PRODUCT_QLOGIC_ISP1280      0x1280
-#endif
 
-#ifndef        PCI_PRODUCT_QLOGIC_ISP2100
 #define        PCI_PRODUCT_QLOGIC_ISP2100      0x2100
-#endif
-
-#ifndef        PCI_PRODUCT_QLOGIC_ISP2200
 #define        PCI_PRODUCT_QLOGIC_ISP2200      0x2200
-#endif
-
-#ifndef        PCI_PRODUCT_QLOGIC_ISP2300
 #define        PCI_PRODUCT_QLOGIC_ISP2300      0x2300
-#endif
-
-#ifndef        PCI_PRODUCT_QLOGIC_ISP2312
 #define        PCI_PRODUCT_QLOGIC_ISP2312      0x2312
-#endif
-
-#ifndef        PCI_PRODUCT_QLOGIC_ISP2322
 #define        PCI_PRODUCT_QLOGIC_ISP2322      0x2322
-#endif
-
-#ifndef        PCI_PRODUCT_QLOGIC_ISP2422
 #define        PCI_PRODUCT_QLOGIC_ISP2422      0x2422
-#endif
-
-#ifndef        PCI_PRODUCT_QLOGIC_ISP2432
 #define        PCI_PRODUCT_QLOGIC_ISP2432      0x2432
-#endif
-
-#ifndef        PCI_PRODUCT_QLOGIC_ISP2532
 #define        PCI_PRODUCT_QLOGIC_ISP2532      0x2532
-#endif
-
-#ifndef        PCI_PRODUCT_QLOGIC_ISP6312
+#define        PCI_PRODUCT_QLOGIC_ISP5432      0x5432
 #define        PCI_PRODUCT_QLOGIC_ISP6312      0x6312
-#endif
-
-#ifndef        PCI_PRODUCT_QLOGIC_ISP6322
 #define        PCI_PRODUCT_QLOGIC_ISP6322      0x6322
-#endif
-
-#ifndef        PCI_PRODUCT_QLOGIC_ISP5432
-#define        PCI_PRODUCT_QLOGIC_ISP5432      0x5432
-#endif
-
-#ifndef        PCI_PRODUCT_QLOGIC_ISP2031
 #define        PCI_PRODUCT_QLOGIC_ISP2031      0x2031
-#endif
-
-#ifndef        PCI_PRODUCT_QLOGIC_ISP8031
 #define        PCI_PRODUCT_QLOGIC_ISP8031      0x8031
-#endif
+#define        PCI_PRODUCT_QLOGIC_ISP2684      0x2171
+#define        PCI_PRODUCT_QLOGIC_ISP2692      0x2b61
+#define        PCI_PRODUCT_QLOGIC_ISP2714      0x2071
+#define        PCI_PRODUCT_QLOGIC_ISP2722      0x2261
 
-#define        PCI_QLOGIC_ISP5432      \
-       ((PCI_PRODUCT_QLOGIC_ISP5432 << 16) | PCI_VENDOR_QLOGIC)
-
 #define        PCI_QLOGIC_ISP1020      \
        ((PCI_PRODUCT_QLOGIC_ISP1020 << 16) | PCI_VENDOR_QLOGIC)
-
 #define        PCI_QLOGIC_ISP1080      \
        ((PCI_PRODUCT_QLOGIC_ISP1080 << 16) | PCI_VENDOR_QLOGIC)
-
 #define        PCI_QLOGIC_ISP10160     \
        ((PCI_PRODUCT_QLOGIC_ISP10160 << 16) | PCI_VENDOR_QLOGIC)
-
 #define        PCI_QLOGIC_ISP12160     \
        ((PCI_PRODUCT_QLOGIC_ISP12160 << 16) | PCI_VENDOR_QLOGIC)
-
 #define        PCI_QLOGIC_ISP1240      \
        ((PCI_PRODUCT_QLOGIC_ISP1240 << 16) | PCI_VENDOR_QLOGIC)
-
 #define        PCI_QLOGIC_ISP1280      \
        ((PCI_PRODUCT_QLOGIC_ISP1280 << 16) | PCI_VENDOR_QLOGIC)
 
 #define        PCI_QLOGIC_ISP2100      \
        ((PCI_PRODUCT_QLOGIC_ISP2100 << 16) | PCI_VENDOR_QLOGIC)
-
 #define        PCI_QLOGIC_ISP2200      \
        ((PCI_PRODUCT_QLOGIC_ISP2200 << 16) | PCI_VENDOR_QLOGIC)
-
 #define        PCI_QLOGIC_ISP2300      \
        ((PCI_PRODUCT_QLOGIC_ISP2300 << 16) | PCI_VENDOR_QLOGIC)
-
 #define        PCI_QLOGIC_ISP2312      \
        ((PCI_PRODUCT_QLOGIC_ISP2312 << 16) | PCI_VENDOR_QLOGIC)
-
 #define        PCI_QLOGIC_ISP2322      \
        ((PCI_PRODUCT_QLOGIC_ISP2322 << 16) | PCI_VENDOR_QLOGIC)
-
 #define        PCI_QLOGIC_ISP2422      \
        ((PCI_PRODUCT_QLOGIC_ISP2422 << 16) | PCI_VENDOR_QLOGIC)
-
 #define        PCI_QLOGIC_ISP2432      \
        ((PCI_PRODUCT_QLOGIC_ISP2432 << 16) | PCI_VENDOR_QLOGIC)
-
 #define        PCI_QLOGIC_ISP2532      \
        ((PCI_PRODUCT_QLOGIC_ISP2532 << 16) | PCI_VENDOR_QLOGIC)
-
+#define        PCI_QLOGIC_ISP5432      \
+       ((PCI_PRODUCT_QLOGIC_ISP5432 << 16) | PCI_VENDOR_QLOGIC)
 #define        PCI_QLOGIC_ISP6312      \
        ((PCI_PRODUCT_QLOGIC_ISP6312 << 16) | PCI_VENDOR_QLOGIC)
-
 #define        PCI_QLOGIC_ISP6322      \
        ((PCI_PRODUCT_QLOGIC_ISP6322 << 16) | PCI_VENDOR_QLOGIC)
-
 #define        PCI_QLOGIC_ISP2031      \
        ((PCI_PRODUCT_QLOGIC_ISP2031 << 16) | PCI_VENDOR_QLOGIC)
-
 #define        PCI_QLOGIC_ISP8031      \
        ((PCI_PRODUCT_QLOGIC_ISP8031 << 16) | PCI_VENDOR_QLOGIC)
+#define        PCI_QLOGIC_ISP2684      \
+       ((PCI_PRODUCT_QLOGIC_ISP2684 << 16) | PCI_VENDOR_QLOGIC)
+#define        PCI_QLOGIC_ISP2692      \
+       ((PCI_PRODUCT_QLOGIC_ISP2692 << 16) | PCI_VENDOR_QLOGIC)
+#define        PCI_QLOGIC_ISP2714      \
+       ((PCI_PRODUCT_QLOGIC_ISP2714 << 16) | PCI_VENDOR_QLOGIC)
+#define        PCI_QLOGIC_ISP2722      \
+       ((PCI_PRODUCT_QLOGIC_ISP2722 << 16) | PCI_VENDOR_QLOGIC)
 
 /*
  * Odd case for some AMI raid cards... We need to *not* attach to this.
@@ -462,6 +412,18 @@ isp_pci_probe(device_t dev)
        case PCI_QLOGIC_ISP8031:
                device_set_desc(dev, "Qlogic ISP 8031 PCI FCoE Adapter");
                break;
+       case PCI_QLOGIC_ISP2684:
+               device_set_desc(dev, "Qlogic ISP 2684 PCI FC Adapter");
+               break;
+       case PCI_QLOGIC_ISP2692:
+               device_set_desc(dev, "Qlogic ISP 2692 PCI FC Adapter");
+               break;
+       case PCI_QLOGIC_ISP2714:
+               device_set_desc(dev, "Qlogic ISP 2714 PCI FC Adapter");
+               break;
+       case PCI_QLOGIC_ISP2722:
+               device_set_desc(dev, "Qlogic ISP 2722 PCI FC Adapter");
+               break;
        default:
                return (ENXIO);
        }
@@ -807,6 +769,16 @@ isp_pci_attach(device_t dev)
                isp->isp_nchan += isp_nvports;
                isp->isp_mdvec = &mdvec_2600;
                isp->isp_type = ISP_HA_FC_2600;
+               pcs->pci_poff[MBOX_BLOCK >> _BLK_REG_SHFT] = 
PCI_MBOX_REGS2400_OFF;
+               break;
+       case PCI_QLOGIC_ISP2684:
+       case PCI_QLOGIC_ISP2692:
+       case PCI_QLOGIC_ISP2714:
+       case PCI_QLOGIC_ISP2722:
+               did = 0x2700;
+               isp->isp_nchan += isp_nvports;
+               isp->isp_mdvec = &mdvec_2700;
+               isp->isp_type = ISP_HA_FC_2700;
                pcs->pci_poff[MBOX_BLOCK >> _BLK_REG_SHFT] = 
PCI_MBOX_REGS2400_OFF;
                break;
        default:

Modified: stable/11/sys/dev/isp/ispmbox.h
==============================================================================
--- stable/11/sys/dev/isp/ispmbox.h     Wed Mar 14 00:04:58 2018        
(r330887)
+++ stable/11/sys/dev/isp/ispmbox.h     Wed Mar 14 00:27:25 2018        
(r330888)
@@ -1,6 +1,6 @@
 /* $FreeBSD$ */
 /*-
- *  Copyright (c) 2009-2017 Alexander Motin <m...@freebsd.org>
+ *  Copyright (c) 2009-2018 Alexander Motin <m...@freebsd.org>
  *  Copyright (c) 1997-2009 by Matthew Jacob
  *  All rights reserved.
  * 
@@ -176,6 +176,7 @@
 #define                MBGSD_4GB       0x03            /* 24XX only */
 #define                MBGSD_8GB       0x04            /* 25XX only */
 #define                MBGSD_16GB      0x05            /* 26XX only */
+#define                MBGSD_32GB      0x06            /* 27XX only */
 #define                MBGSD_10GB      0x13            /* 26XX only */
 #define        MBOX_SEND_RNFT                  0x005e
 #define        MBOX_INIT_FIRMWARE              0x0060
@@ -297,6 +298,8 @@
 #define        ASYNC_INTER_DRIVER_COMP         0x8100  /* FCoE only */
 #define        ASYNC_INTER_DRIVER_NOTIFY       0x8101  /* FCoE only */
 #define        ASYNC_INTER_DRIVER_TIME_EXT     0x8102  /* FCoE only */
+#define        ASYNC_TRANSCEIVER_INSERTION     0x8130
+#define        ASYNC_TRANSCEIVER_REMOVAL       0x8131
 #define        ASYNC_NIC_FW_STATE_CHANGE       0x8200  /* FCoE only */
 #define        ASYNC_AUTOLOAD_FW_COMPLETE      0x8400
 #define        ASYNC_AUTOLOAD_FW_FAILURE       0x8401
@@ -1070,6 +1073,7 @@ typedef struct {
 #define        ICB2400_OPT3_RATE_4GB           0x00006000
 #define        ICB2400_OPT3_RATE_8GB           0x00008000
 #define        ICB2400_OPT3_RATE_16GB          0x0000A000
+#define        ICB2400_OPT3_RATE_32GB          0x0000C000
 #define        ICB2400_OPT3_ENA_OOF_XFRDY      0x00000200
 #define        ICB2400_OPT3_NO_N2N_LOGI        0x00000100
 #define        ICB2400_OPT3_NO_LOCAL_PLOGI     0x00000080

Modified: stable/11/sys/dev/isp/ispvar.h
==============================================================================
--- stable/11/sys/dev/isp/ispvar.h      Wed Mar 14 00:04:58 2018        
(r330887)
+++ stable/11/sys/dev/isp/ispvar.h      Wed Mar 14 00:27:25 2018        
(r330888)
@@ -1,6 +1,6 @@
 /* $FreeBSD$ */
 /*-
- *  Copyright (c) 2009-2017 Alexander Motin <m...@freebsd.org>
+ *  Copyright (c) 2009-2018 Alexander Motin <m...@freebsd.org>
  *  Copyright (c) 1997-2009 by Matthew Jacob
  *  All rights reserved.
  *
@@ -631,8 +631,8 @@ struct ispsoftc {
 #define        ISP_CFG_NPORT_ONLY      0x04    /* insist on {N/F}-Port 
connection */
 #define        ISP_CFG_LPORT           0x06    /* prefer {N/F}L-Port 
connection */
 #define        ISP_CFG_NPORT           0x08    /* prefer {N/F}-Port connection 
*/
-#define        ISP_CFG_1GB             0x10    /* force 1GB connection (23XX 
only) */
-#define        ISP_CFG_2GB             0x20    /* force 2GB connection (23XX 
only) */
+#define        ISP_CFG_1GB             0x10    /* force 1Gb connection (23XX 
only) */
+#define        ISP_CFG_2GB             0x20    /* force 2Gb connection (23XX 
only) */
 #define        ISP_CFG_NORELOAD        0x80    /* don't download f/w */
 #define        ISP_CFG_NONVRAM         0x40    /* ignore NVRAM */
 #define        ISP_CFG_NOFCTAPE        0x100   /* disable FC-Tape */
@@ -640,9 +640,10 @@ struct ispsoftc {
 #define        ISP_CFG_OWNFSZ          0x400   /* override NVRAM frame size */
 #define        ISP_CFG_OWNLOOPID       0x800   /* override NVRAM loopid */
 #define        ISP_CFG_OWNEXCTHROTTLE  0x1000  /* override NVRAM execution 
throttle */
-#define        ISP_CFG_4GB             0x2000  /* force 4GB connection (24XX 
only) */
-#define        ISP_CFG_8GB             0x4000  /* force 8GB connection (25XX 
only) */
-#define        ISP_CFG_16GB            0x8000  /* force 16GB connection (82XX 
only) */
+#define        ISP_CFG_4GB             0x2000  /* force 4Gb connection (24XX 
only) */
+#define        ISP_CFG_8GB             0x4000  /* force 8Gb connection (25XX 
only) */
+#define        ISP_CFG_16GB            0x8000  /* force 16Gb connection (26XX 
only) */
+#define        ISP_CFG_32GB            0x10000 /* force 32Gb connection (27XX 
only) */
 
 /*
  * For each channel, the outer layers should know what role that channel
@@ -743,6 +744,7 @@ struct ispsoftc {
 #define        ISP_HA_FC_2400          0x60
 #define        ISP_HA_FC_2500          0x70
 #define        ISP_HA_FC_2600          0x80
+#define        ISP_HA_FC_2700          0x90
 
 #define        IS_SCSI(isp)    (isp->isp_type & ISP_HA_SCSI)
 #define        IS_1020(isp)    (isp->isp_type < ISP_HA_SCSI_1240)
@@ -769,6 +771,7 @@ struct ispsoftc {
 #define        IS_24XX(isp)    ((isp)->isp_type >= ISP_HA_FC_2400)
 #define        IS_25XX(isp)    ((isp)->isp_type >= ISP_HA_FC_2500)
 #define        IS_26XX(isp)    ((isp)->isp_type >= ISP_HA_FC_2600)
+#define        IS_27XX(isp)    ((isp)->isp_type >= ISP_HA_FC_2700)
 
 /*
  * DMA related macros
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to