Print this page
MFV: illumos-omnios@aea0472ecb9ee91fa70556d6f6a941c10c989f1d
Add support for Emulex Corporation Lancer Gen6: LPe32000 FC Host Adapter
Author: Andy Fiddaman <omnios@citrus-it.co.uk>
NEX-1878 update emlxs from source provided by Emulex


   5  * Common Development and Distribution License (the "License").
   6  * You may not use this file except in compliance with the License.
   7  *
   8  * You can obtain a copy of the license at
   9  * http://www.opensource.org/licenses/cddl1.txt.
  10  * See the License for the specific language governing permissions
  11  * and limitations under the License.
  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 
  22 /*
  23  * Copyright (c) 2004-2012 Emulex. All rights reserved.
  24  * Use is subject to license terms.

  25  */
  26 
  27 #ifndef _EMLXS_FCF_H
  28 #define _EMLXS_FCF_H
  29 
  30 #ifdef  __cplusplus
  31 extern "C" {
  32 #endif
  33 
  34 #define FCFTAB_MAX_FCFI_COUNT           1
  35 #define FCFI_MAX_VFI_COUNT              1
  36 
  37 /* Internal generic events */
  38 #define FCF_EVENT_STATE_ENTER           0
  39 
  40 /* External async fabric events */
  41 #define FCF_EVENT_SHUTDOWN              1
  42 #define FCF_EVENT_LINKUP                2
  43 #define FCF_EVENT_LINKDOWN              3
  44 #define FCF_EVENT_CVL                   4


  83 #define FCF_REASON_ONLINE_FAILED        11
  84 #define FCF_REASON_OFFLINE_FAILED       12
  85 #define FCF_REASON_OP_FAILED            13 /* attempts */
  86 #define FCF_REASON_NO_PKT               14
  87 #define FCF_REASON_NO_NODE              15
  88 #define FCF_REASON_NOT_ALLOWED          16
  89 #define FCF_REASON_UNUSED               17
  90 #define FCF_REASON_INVALID              18
  91 
  92 typedef struct XRIobj
  93 {
  94         struct XRIobj   *_f;
  95         struct XRIobj   *_b;
  96         uint16_t        XRI;
  97         uint16_t        state;
  98 #define XRI_STATE_FREE                  0
  99 #define XRI_STATE_ALLOCATED             1
 100 
 101         uint16_t        sge_count;
 102         uint16_t        iotag;
 103         MBUF_INFO       SGList;

 104         struct RPIobj   *rpip;
 105         struct RPIobj   *reserved_rpip;
 106         emlxs_buf_t     *sbp;
 107         uint32_t        rx_id; /* Used for unsol exchanges */
 108         uint32_t        flag;
 109 #define EMLXS_XRI_RESERVED              0x00000001
 110 #define EMLXS_XRI_PENDING_IO            0x00000002
 111 #define EMLXS_XRI_BUSY                  0x00000004
 112 
 113         uint32_t        type;
 114 #define EMLXS_XRI_SOL_FCP_TYPE          1
 115 #define EMLXS_XRI_UNSOL_FCP_TYPE        2
 116 #define EMLXS_XRI_SOL_CT_TYPE           3
 117 #define EMLXS_XRI_UNSOL_CT_TYPE         4
 118 #define EMLXS_XRI_SOL_ELS_TYPE          5
 119 #define EMLXS_XRI_UNSOL_ELS_TYPE        6
 120 #define EMLXS_XRI_SOL_BLS_TYPE          7
 121 
 122 } XRIobj_t;
 123 




   5  * Common Development and Distribution License (the "License").
   6  * You may not use this file except in compliance with the License.
   7  *
   8  * You can obtain a copy of the license at
   9  * http://www.opensource.org/licenses/cddl1.txt.
  10  * See the License for the specific language governing permissions
  11  * and limitations under the License.
  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 
  22 /*
  23  * Copyright (c) 2004-2012 Emulex. All rights reserved.
  24  * Use is subject to license terms.
  25  * Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
  26  */
  27 
  28 #ifndef _EMLXS_FCF_H
  29 #define _EMLXS_FCF_H
  30 
  31 #ifdef  __cplusplus
  32 extern "C" {
  33 #endif
  34 
  35 #define FCFTAB_MAX_FCFI_COUNT           1
  36 #define FCFI_MAX_VFI_COUNT              1
  37 
  38 /* Internal generic events */
  39 #define FCF_EVENT_STATE_ENTER           0
  40 
  41 /* External async fabric events */
  42 #define FCF_EVENT_SHUTDOWN              1
  43 #define FCF_EVENT_LINKUP                2
  44 #define FCF_EVENT_LINKDOWN              3
  45 #define FCF_EVENT_CVL                   4


  84 #define FCF_REASON_ONLINE_FAILED        11
  85 #define FCF_REASON_OFFLINE_FAILED       12
  86 #define FCF_REASON_OP_FAILED            13 /* attempts */
  87 #define FCF_REASON_NO_PKT               14
  88 #define FCF_REASON_NO_NODE              15
  89 #define FCF_REASON_NOT_ALLOWED          16
  90 #define FCF_REASON_UNUSED               17
  91 #define FCF_REASON_INVALID              18
  92 
  93 typedef struct XRIobj
  94 {
  95         struct XRIobj   *_f;
  96         struct XRIobj   *_b;
  97         uint16_t        XRI;
  98         uint16_t        state;
  99 #define XRI_STATE_FREE                  0
 100 #define XRI_STATE_ALLOCATED             1
 101 
 102         uint16_t        sge_count;
 103         uint16_t        iotag;
 104         MATCHMAP        *SGList;
 105         uint32_t        SGSeg;
 106         struct RPIobj   *rpip;
 107         struct RPIobj   *reserved_rpip;
 108         emlxs_buf_t     *sbp;
 109         uint32_t        rx_id; /* Used for unsol exchanges */
 110         uint32_t        flag;
 111 #define EMLXS_XRI_RESERVED              0x00000001
 112 #define EMLXS_XRI_PENDING_IO            0x00000002
 113 #define EMLXS_XRI_BUSY                  0x00000004
 114 
 115         uint32_t        type;
 116 #define EMLXS_XRI_SOL_FCP_TYPE          1
 117 #define EMLXS_XRI_UNSOL_FCP_TYPE        2
 118 #define EMLXS_XRI_SOL_CT_TYPE           3
 119 #define EMLXS_XRI_UNSOL_CT_TYPE         4
 120 #define EMLXS_XRI_SOL_ELS_TYPE          5
 121 #define EMLXS_XRI_UNSOL_ELS_TYPE        6
 122 #define EMLXS_XRI_SOL_BLS_TYPE          7
 123 
 124 } XRIobj_t;
 125