Print this page
NEX-5717 import QLogic 16G FC drivers
Reviewed by: Steve Peng <steve.peng@nexenta.com>
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/sys/fibre-channel/fca/qlc/exioct.h
          +++ new/usr/src/uts/common/sys/fibre-channel/fca/qlc/exioct.h
↓ open down ↓ 12 lines elided ↑ open up ↑
  13   13   * When distributing Covered Code, include this CDDL HEADER in each
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
  23      - * Copyright 2010 QLogic Corporation.  All rights reserved.
       23 + * Copyright 2015 QLogic Corporation.  All rights reserved.
  24   24   * Use is subject to license terms.
  25   25   */
  26   26  
  27   27  /*
  28   28   * File Name: exioct.h
  29   29   *
  30   30   * San/Device Management Ioctl Header
  31   31   * File is created to adhere to Solaris requirement using 8-space tabs.
  32   32   *
  33   33   * !!!!! PLEASE DO NOT REMOVE THE TABS !!!!!
  34   34   * !!!!! PLEASE NO SINGLE LINE COMMENTS: // !!!!!
  35   35   * !!!!! PLEASE NO MORE THAN 80 CHARS PER LINE !!!!!
  36   36   *
  37   37   * ***********************************************************************
  38   38   * *                                                                    **
  39   39   * *                            NOTICE                                  **
  40      - * *            COPYRIGHT (C) 2000-2010 QLOGIC CORPORATION              **
       40 + * *            COPYRIGHT (C) 2000-2015 QLOGIC CORPORATION              **
  41   41   * *                    ALL RIGHTS RESERVED                             **
  42   42   * *                                                                    **
  43   43   * ***********************************************************************
  44   44   */
  45   45  
  46   46  #ifndef _EXIOCT_H
  47   47  #define _EXIOCT_H
  48   48  
  49   49  #ifdef  __cplusplus
  50   50  extern "C" {
↓ open down ↓ 11 lines elided ↑ open up ↑
  62   62  /*
  63   63   * OS independent General definitions
  64   64   */
  65   65  #define EXT_DEF_SIGNATURE_SIZE                  8
  66   66  #define EXT_DEF_WWN_NAME_SIZE                   8
  67   67  #define EXT_DEF_WWP_NAME_SIZE                   8
  68   68  #define EXT_DEF_SERIAL_NUM_SIZE                 4
  69   69  #define EXT_DEF_PORTID_SIZE                     4
  70   70  #define EXT_DEF_PORTID_SIZE_ACTUAL              3
  71   71  #define EXT_DEF_MAX_STR_SIZE                    128
  72      -#define EXT_DEF_SCSI_PASSTHRU_CDB_LENGTH        12
       72 +#define EXT_DEF_SCSI_PASSTHRU_CDB_LENGTH        16
  73   73  #define EXT_DEF_MAC_ADDRESS_SIZE                6
  74   74  
  75   75  #define EXT_DEF_ADDR_MODE_32                    1
  76   76  #define EXT_DEF_ADDR_MODE_64                    2
  77   77  
  78   78  /*
  79   79   * ***********************************************************************
  80   80   * OS dependent General configuration defines
  81   81   * ***********************************************************************
  82   82   */
↓ open down ↓ 128 lines elided ↑ open up ↑
 211  211  #define EXT_CC_GET_SFP_DATA             EXT_CC_GET_SFP_DATA_OS
 212  212  #define EXT_CC_WWPN_TO_SCSIADDR         EXT_CC_WWPN_TO_SCSIADDR_OS
 213  213  #define EXT_CC_PORT_PARAM               EXT_CC_PORT_PARAM_OS
 214  214  #define EXT_CC_GET_PCI_DATA             EXT_CC_GET_PCI_DATA_OS
 215  215  #define EXT_CC_GET_FWEXTTRACE           EXT_CC_GET_FWEXTTRACE_OS
 216  216  #define EXT_CC_GET_FWFCETRACE           EXT_CC_GET_FWFCETRACE_OS
 217  217  #define EXT_CC_GET_VP_CNT_ID            EXT_CC_GET_VP_CNT_ID_OS
 218  218  #define EXT_CC_VPORT_CMD                EXT_CC_VPORT_CMD_OS
 219  219  #define EXT_CC_ACCESS_FLASH             EXT_CC_ACCESS_FLASH_OS
 220  220  #define EXT_CC_RESET_FW                 EXT_CC_RESET_FW_OS
 221      -
      221 +#define EXT_CC_I2C_DATA                 EXT_CC_I2C_DATA_OS
      222 +#define EXT_CC_DUMP                     EXT_CC_DUMP_OS
      223 +#define EXT_CC_SERDES_REG_OP            EXT_CC_SERDES_REG_OP_OS
      224 +#define EXT_CC_VF_STATE                 EXT_CC_VF_STATE_OS
      225 +#define EXT_CC_SERDES_REG_OP_EX         EXT_CC_SERDES_REG_OP_EX_OS
      226 +#define EXT_CC_SEND_ELS_PASSTHRU        EXT_CC_ELS_PASSTHRU_OS
      227 +#define EXT_CC_FLASH_UPDATE_CAPS        EXT_CC_FLASH_UPDATE_CAPS_OS
      228 +#define EXT_CC_GET_BBCR_DATA            EXT_CC_GET_BBCR_DATA_OS
 222  229  /*
 223  230   * HBA port operations
 224  231   */
 225  232  #define EXT_CC_GET_DATA         EXT_CC_GET_DATA_OS
 226  233  #define EXT_CC_SET_DATA         EXT_CC_SET_DATA_OS
 227  234  
 228  235  /*
 229  236   * The following DeviceControl / ioctl command codes currently are not
 230  237   * supported.
 231  238   */
↓ open down ↓ 32 lines elided ↑ open up ↑
 264  271  #define EXT_SC_GET_ERR_DETECTIONS       2       /* Currently Not Supported */
 265  272  #define EXT_SC_GET_STATISTICS           3
 266  273  #define EXT_SC_GET_BUS_MODE             4       /* Currently Not Supported */
 267  274  #define EXT_SC_GET_DR_DUMP_BUF          5       /* Currently Not Supported */
 268  275  #define EXT_SC_GET_RISC_CODE            6
 269  276  #define EXT_SC_GET_FLASH_RAM            7
 270  277  #define EXT_SC_GET_BEACON_STATE         8
 271  278  #define EXT_SC_GET_DCBX_PARAM           9
 272  279  #define EXT_SC_GET_FCF_LIST             10
 273  280  #define EXT_SC_GET_RESOURCE_CNTS        11
      281 +#define EXT_SC_GET_PRIV_STATS           12
 274  282  
 275  283  /* 100 - 199 FC_INTF_TYPE */
 276  284  #define EXT_SC_GET_LINK_STATUS          101     /* Currently Not Supported */
 277  285  #define EXT_SC_GET_LOOP_ID              102     /* Currently Not Supported */
 278  286  #define EXT_SC_GET_LUN_BITMASK          103
 279  287  #define EXT_SC_GET_PORT_DATABASE        104     /* Currently Not Supported */
 280  288  #define EXT_SC_GET_PORT_DATABASE_MEM    105     /* Currently Not Supported */
 281  289  #define EXT_SC_GET_PORT_SUMMARY         106
 282  290  #define EXT_SC_GET_POSITION_MAP         107
 283  291  #define EXT_SC_GET_RETRY_CNT            108     /* Currently Not Supported */
↓ open down ↓ 62 lines elided ↑ open up ↑
 346  354  #define EXT_SC_FLASH_READ       0
 347  355  #define EXT_SC_FLASH_WRITE      1
 348  356  
 349  357  /*
 350  358   * Reset FW subcodes for Schultz
 351  359   * Used with EXT_CC_RESET_FW as the ioctl code.
 352  360   */
 353  361  #define EXT_SC_RESET_FC_FW      1
 354  362  #define EXT_SC_RESET_MPI_FW     2
 355  363  
      364 +/*
      365 + * Thermal temp adapter subcodes
      366 + * Used with EXT_CC_I2C_DATA as the ioctl code.
      367 + */
      368 +#define EXT_SC_GET_BOARD_TEMP   1
      369 +
      370 +/*
      371 + * Dump sub codes
      372 + * Used with EXT_CC_DUMP_OP as the ioctl code.
      373 + */
      374 +#define EXT_SC_DUMP_SIZE        1
      375 +#define EXT_SC_DUMP_READ        2
      376 +#define EXT_SC_DUMP_TRIGGER     3
      377 +
      378 +/*
      379 + * SerDes Register subcodes
      380 + * Used with EXT_CC_SERDES_REG_OP and EXT_CC_SERDES_REG_OP_EX
      381 + * as the ioctl code.
      382 + */
      383 +#define EXT_SC_READ_SERDES_REG  1
      384 +#define EXT_SC_WRITE_SERDES_REG 2
      385 +
      386 +/* Flash update capabilities subcommands */
      387 +#define EXT_SC_GET_FLASH_UPDATE_CAPS    1
      388 +#define EXT_SC_SET_FLASH_UPDATE_CAPS    2
      389 +
 356  390  /* Read */
 357  391  
 358  392  /* Write */
 359  393  
 360  394  /* Reset */
 361  395  
 362  396  /* Request struct */
 363  397  
 364  398  
 365  399  /*
↓ open down ↓ 4 lines elided ↑ open up ↑
 370  404          UINT32  FWAttr;                                 /* 4 */
 371  405          UINT16  PortCount;                              /* 2; 1 */
 372  406          UINT16  InterfaceType;                          /* 2; FC/SCSI */
 373  407          UINT8   WWNN[EXT_DEF_WWN_NAME_SIZE];            /* 8 */
 374  408          UINT8   Manufacturer[EXT_DEF_MAX_STR_SIZE];     /* 128; "QLOGIC" */
 375  409          UINT8   Model[EXT_DEF_MAX_STR_SIZE];            /* 128; "QLA2200" */
 376  410          UINT8   SerialNum[EXT_DEF_SERIAL_NUM_SIZE];     /* 4;  123  */
 377  411          UINT8   DriverVersion[EXT_DEF_MAX_STR_SIZE];    /* 128; "7.4.3" */
 378  412          UINT8   FWVersion[EXT_DEF_MAX_STR_SIZE];        /* 128; "2.1.6" */
 379  413          UINT8   OptRomVersion[EXT_DEF_MAX_STR_SIZE];    /* 128; "1.44" */
 380      -        UINT8   Reserved[32];                           /* 32 */
      414 +        UINT8   MpiVersion[4];                          /* 4 */
      415 +        UINT8   PepFwVersion[4];                        /* 4 */
      416 +        UINT8   Reserved[24];                           /* 24 */
 381  417  } EXT_HBA_NODE, *PEXT_HBA_NODE;                         /* 696 */
 382  418  
 383  419  /* HBA node query interface type */
 384  420  #define EXT_DEF_FC_INTF_TYPE                    1
 385  421  #define EXT_DEF_SCSI_INTF_TYPE                  2
 386  422  #define EXT_DEF_VIRTUAL_FC_INTF_TYPE            3
 387  423  
 388  424  typedef struct _EXT_HBA_PORT {
 389  425          UINT64  Target;                         /* 8 */
 390  426          UINT32  PortSupportedSpeed;             /* 4 */
↓ open down ↓ 7 lines elided ↑ open up ↑
 398  434          UINT16  DiscTargetCount;                /* 2 */
 399  435          UINT16  Bus;                            /* 2 */
 400  436          UINT16  Lun;                            /* 2 */
 401  437          UINT8   WWPN[EXT_DEF_WWN_NAME_SIZE];    /* 8 */
 402  438          UINT8   Id[EXT_DEF_PORTID_SIZE];        /* 4; 3 bytes valid Port Id. */
 403  439          UINT8   PortSupportedFC4Types;          /* 1 */
 404  440          UINT8   PortActiveFC4Types;             /* 1 */
 405  441          UINT8   FabricName[EXT_DEF_WWN_NAME_SIZE];      /* 8 */
 406  442          UINT16  LinkState2;                     /* 2; sfp status */
 407  443          UINT16  LinkState3;                     /* 2; reserved field */
 408      -        UINT8   Reserved[6];                    /* 6 */
      444 +        UINT16  LinkState1;                     /* 2; sfp status */
      445 +        UINT16  LinkState6;                     /* 2; sfp status */
      446 +        UINT8   Reserved[2];                    /* 2 */
 409  447  } EXT_HBA_PORT, *PEXT_HBA_PORT;                 /* 64 */
 410  448  
 411  449  /* FC-4 Instrumentation */
 412  450  typedef struct _EXT_HBA_FC4Statistics {
 413  451          INT64   InputRequests;                  /* 8  */
 414  452          INT64   OutputRequests;                 /* 8  */
 415  453          INT64   ControlRequests;                /* 8  */
 416  454          INT64   InputMegabytes;                 /* 8  */
 417  455          INT64   OutputMegabytes;                /* 8  */
 418  456          UINT64  Reserved[6];                    /* 48 */
↓ open down ↓ 58 lines elided ↑ open up ↑
 477  515  #define EXT_DEF_FC4_TYPE_IP     0x2
 478  516  #define EXT_DEF_FC4_TYPE_SCTP   0x4
 479  517  #define EXT_DEF_FC4_TYPE_VI     0x8
 480  518  
 481  519  /* IIDMA rate values */
 482  520  #define IIDMA_RATE_1GB          0x0
 483  521  #define IIDMA_RATE_2GB          0x1
 484  522  #define IIDMA_RATE_4GB          0x3
 485  523  #define IIDMA_RATE_8GB          0x4
 486  524  #define IIDMA_RATE_10GB         0x13
      525 +#define IIDMA_RATE_16GB         0x5
      526 +#define IIDMA_RATE_32GB         0x6
 487  527  #define IIDMA_RATE_UNKNOWN      0xffff
 488  528  
 489  529  /* IIDMA Mode values */
 490  530  #define IIDMA_MODE_0            0
 491  531  #define IIDMA_MODE_1            1
 492  532  #define IIDMA_MODE_2            2
 493  533  #define IIDMA_MODE_3            3
 494  534  
 495  535  /* Port Speed values */
 496      -#define EXT_DEF_PORTSPEED_UNKNOWN       0x0
      536 +#define EXT_DEF_PORTSPEED_UNKNOWN       0x0
 497  537  #define EXT_DEF_PORTSPEED_1GBIT         0x1
 498  538  #define EXT_DEF_PORTSPEED_2GBIT         0x2
 499  539  #define EXT_DEF_PORTSPEED_4GBIT         0x4
 500  540  #define EXT_DEF_PORTSPEED_8GBIT         0x8
 501  541  #define EXT_DEF_PORTSPEED_10GBIT        0x10
      542 +#define EXT_DEF_PORTSPEED_16GBIT        0x20
      543 +#define EXT_DEF_PORTSPEED_32GBIT        0x40
 502  544  #define EXT_PORTSPEED_NOT_NEGOTIATED    (1<<15) /* Speed not established */
 503  545  
 504  546  typedef struct _EXT_DISC_PORT {
 505  547          UINT64  TargetId;               /* 8 */
 506  548          UINT16  Type;                   /* 2; Port Type */
 507  549          UINT16  Status;                 /* 2; Port Status */
 508  550          UINT16  Bus;                    /* 2; n/a for Solaris */
 509  551          UINT16  LoopID;                 /* 2; Loop ID */
 510  552          UINT8   WWNN[EXT_DEF_WWN_NAME_SIZE];    /* 8 */
 511  553          UINT8   WWPN[EXT_DEF_WWN_NAME_SIZE];    /* 8 */
↓ open down ↓ 183 lines elided ↑ open up ↑
 695  737  
 696  738  /* Request Buffer for Set RNID */
 697  739  typedef struct _EXT_SET_RNID_REQ {
 698  740          UINT8   IPVersion[2];           /*  2 */
 699  741          UINT8   UDPPortNumber[2];       /*  2 */
 700  742          UINT8   IPAddress[16];          /* 16 */
 701  743          UINT8   Reserved[64];           /* 64 */
 702  744  } EXT_SET_RNID_REQ, *PEXT_SET_RNID_REQ; /* 84 */
 703  745  
 704  746  /* RNID definition and data struct */
 705      -#define SEND_RNID_RSP_SIZE  72
      747 +#define SEND_RNID_RSP_SIZE      72
 706  748  
 707  749  typedef struct _RNID_DATA
 708  750  {
 709  751          UINT32  UnitType;               /* 4 */
 710  752          UINT32  NumOfAttachedNodes;     /* 4 */
 711  753          UINT16  TopoDiscFlags;          /* 2 */
 712  754          UINT16  Reserved;               /* 2 */
 713  755          UINT8   WWN[16];                /* 16 */
 714  756          UINT8   PortId[4];              /* 4 */
 715  757          UINT8   IPVersion[2];           /* 2 */
↓ open down ↓ 1 lines elided ↑ open up ↑
 717  759          UINT8   IPAddress[16];          /* 16 */
 718  760  } EXT_RNID_DATA, *PEXT_RNID_DATA;       /* 52 */
 719  761  
 720  762  
 721  763  /* SCSI pass-through */
 722  764  typedef struct _EXT_SCSI_PASSTHRU {
 723  765          EXT_SCSI_ADDR   TargetAddr;
 724  766          UINT8           Direction;
 725  767          UINT8           CdbLength;
 726  768          UINT8           Cdb[EXT_DEF_SCSI_PASSTHRU_CDB_LENGTH];
 727      -        UINT8           Reserved[66];
      769 +        UINT8           Reserved[62];
 728  770          UINT8           SenseData[256];
 729  771  } EXT_SCSI_PASSTHRU, *PEXT_SCSI_PASSTHRU;
 730  772  
 731  773  /* FC SCSI pass-through */
 732  774  typedef struct _EXT_FC_SCSI_PASSTHRU {
 733  775          EXT_DEST_ADDR   FCScsiAddr;
 734  776          UINT8           Direction;
 735  777          UINT8           CdbLength;
 736  778          UINT8           Cdb[EXT_DEF_SCSI_PASSTHRU_CDB_LENGTH];
 737      -        UINT8           Reserved[64];
      779 +        UINT8           Reserved[60];
 738  780          UINT8           SenseData[256];
 739  781  } EXT_FC_SCSI_PASSTHRU, *PEXT_FC_SCSI_PASSTHRU;
 740  782  
 741  783  /* SCSI pass-through direction */
 742  784  #define EXT_DEF_SCSI_PASSTHRU_DATA_IN           1
 743  785  #define EXT_DEF_SCSI_PASSTHRU_DATA_OUT          2
 744  786  
 745  787  
 746  788  /* EXT_REG_AEN Request struct */
 747  789  typedef struct _EXT_REG_AEN {
↓ open down ↓ 16 lines elided ↑ open up ↑
 764  806  } EXT_ASYNC_EVENT, *PEXT_ASYNC_EVENT;   /* 16 */
 765  807  
 766  808  
 767  809  /* Asynchronous Event Codes */
 768  810  #define EXT_DEF_LIP_OCCURRED    0x8010
 769  811  #define EXT_DEF_LINK_UP         0x8011
 770  812  #define EXT_DEF_LINK_DOWN       0x8012
 771  813  #define EXT_DEF_LIP_RESET       0x8013
 772  814  #define EXT_DEF_RSCN            0x8015
 773  815  #define EXT_DEF_DEVICE_UPDATE   0x8014
      816 +#define EXT_DEF_DPORT_DIAGS     0x8080
 774  817  
 775  818  /* LED state information */
 776  819  #define EXT_DEF_GRN_BLINK_OFF   0x00
 777  820  #define EXT_DEF_GRN_BLINK_ON    0x01
 778  821  
 779  822  typedef struct _EXT_BEACON_CONTROL {
 780  823          UINT32  State;                          /* 4  */
 781  824          UINT8   Reserved[12];                   /* 12 */
 782  825  } EXT_BEACON_CONTROL, *PEXT_BEACON_CONTROL;     /* 16 */
 783  826  
↓ open down ↓ 62 lines elided ↑ open up ↑
 846  889  } EXT_LUN_BITMASK_LIST, *PEXT_LUN_BITMASK_LIST;
 847  890  
 848  891  
 849  892  /* Device database information */
 850  893  typedef struct _EXT_DEVICEDATA
 851  894  {
 852  895          UINT32  TotalDevices;           /* Set to total number of device */
 853  896          UINT32  ReturnListEntryCount;   /* Set to number of device entries */
 854  897                                          /* returned in list. */
 855  898  
 856      -        EXT_DEVICEDATAENTRY  EntryList[1]; /* Variable length */
      899 +        EXT_DEVICEDATAENTRY     EntryList[1];   /* Variable length */
 857  900  } EXT_DEVICEDATA, *PEXT_DEVICEDATA;
 858  901  
 859  902  
 860  903  /* Swap Target Device Data structure */
 861  904  typedef struct _EXT_SWAPTARGETDEVICE
 862  905  {
 863  906          EXT_DEVICEDATAENTRY     CurrentExistDevice;
 864  907          EXT_DEVICEDATAENTRY     NewDevice;
 865  908  } EXT_SWAPTARGETDEVICE, *PEXT_SWAPTARGETDEVICE;
 866  909  
 867  910  #define EXT_DEF_LUN_BITMASK_LIST_MIN_ENTRIES    1
 868  911  #define EXT_DEF_LUN_BITMASK_LIST_MAX_ENTRIES    256
 869  912  
 870  913  #ifdef _WIN64
 871  914  #define EXT_DEF_LUN_BITMASK_LIST_HEADER_SIZE    32
 872  915  #else
 873  916  #define EXT_DEF_LUN_BITMASK_LIST_HEADER_SIZE \
 874  917      offsetof(LUN_BITMASK_LIST_BUFFER, asBitmaskEntry)
 875  918  #endif
 876  919  
 877      -#define EXT_DEF_LUN_BITMASK_LIST_MIN_SIZE   \
      920 +#define EXT_DEF_LUN_BITMASK_LIST_MIN_SIZE \
 878  921          (EXT_DEF_LUN_BITMASK_LIST_HEADER_SIZE + \
 879  922          (sizeof (EXT_EXTERNAL_LUN_BITMASK_ENTRY) * \
 880  923          EXT_DEF_LUN_BITMASK_LIST_MIN_ENTRIES))
 881      -#define EXT_DEF_LUN_BITMASK_LIST_MAX_SIZE   \
      924 +#define EXT_DEF_LUN_BITMASK_LIST_MAX_SIZE \
 882  925          (EXT_DEF_LUN_BITMASK_LIST_HEADER_SIZE + \
 883  926          (sizeof (EXT_EXTERNAL_LUN_BITMASK_ENTRY) * \
 884  927          EXT_DEF_LUN_BITMASK_LIST_MAX_ENTRIES))
 885  928  /*
 886  929   * LUN mask bit manipulation macros
 887  930   *
 888  931   *   P = Pointer to an EXT_LUN_BIT_MASK union.
 889  932   *   L = LUN number.
 890  933   */
 891  934  #define EXT_IS_LUN_BIT_SET(P, L) \
↓ open down ↓ 130 lines elided ↑ open up ↑
1022 1065                  } MenloConfig;          /* For change Configuration */
1023 1066  
1024 1067                  struct {
1025 1068                          UINT32 InfoDataType;
1026 1069                          UINT32 InfoContext;
1027 1070                          UINT32 Reserved;
1028 1071                  } MenloInfo;            /* For fetch Menlo Info */
1029 1072          } ap;
1030 1073  } EXT_MENLO_ACCESS_PARAMETERS, *PEXT_MENLO_ACCESS_PARAMETERS;
1031 1074  
1032      -#define INFO_DATA_TYPE_LOG_CONFIG_TBC           ((10*7)+1)*4
     1075 +#define INFO_DATA_TYPE_LOG_CONFIG_TBC           ((10 * 7) + 1) * 4
1033 1076  #define INFO_DATA_TYPE_PORT_STAT_ETH_TBC        0x194
1034 1077  #define INFO_DATA_TYPE_PORT_STAT_FC_TBC         0xC0
1035 1078  #define INFO_DATA_TYPE_LIF_STAT_TBC             0x40
1036 1079  #define INFO_DATA_TYPE_ASIC_STAT_TBC            0x5F8
1037 1080  #define INFO_DATA_TYPE_CONFIG_TBC               0x140
1038 1081  
1039 1082  #define MENLO_OP_READ_MEM       0       /* Read Menlo Memory */
1040 1083  #define MENLO_OP_WRITE_MEM      1       /* Write Menlo Memory */
1041 1084  #define MENLO_OP_CHANGE_CONFIG  2       /* Change Configuration */
1042 1085  #define MENLO_OP_GET_INFO       3       /* Fetch Menlo Info (Logs, & */
↓ open down ↓ 57 lines elided ↑ open up ↑
1100 1143          UINT32          free;
1101 1144          UINT32          used;
1102 1145          UINT32          id;
1103 1146          UINT32          state;
1104 1147          UINT32          bound;
1105 1148          UINT8           wwnn[EXT_DEF_WWN_NAME_SIZE];
1106 1149          UINT8           wwpn[EXT_DEF_WWN_NAME_SIZE];
1107 1150          UINT8           reserved[220];
1108 1151  } EXT_VPORT_INFO, *PEXT_VPORT_INFO;
1109 1152  
     1153 +typedef struct _EXT_BOARD_TEMP {
     1154 +        UINT16  IntTemp;
     1155 +        UINT16  FracTemp;
     1156 +        UINT8   Reserved[60];
     1157 +} EXT_BOARD_TEMP, *PEXT_BOARD_TEMP;
     1158 +
     1159 +/* ASIC TEMPERATURE defines */
     1160 +#define EXT_DEF_ASIC_TEMP_COMMAND_COMPLETE      0x4000
     1161 +#define EXT_DEF_ASIC_TEMP_HOST_INT_ERR          0x4002
     1162 +#define EXT_DEF_ASIC_TEMP_COMMAND_ERR           0x4005
     1163 +#define EXT_DEF_ASIC_TEMP_COMMAND_PARAM_ERR     0x4006
     1164 +
     1165 +typedef struct _EXT_SERDES_REG {
     1166 +        UINT16  addr;
     1167 +        UINT16  val;
     1168 +} EXT_SERDES_REG, *PEXT_SERDES_REG;
     1169 +
     1170 +typedef struct _EXT_VF_STATE {
     1171 +        UINT32  NoOfVFConfigured;
     1172 +        UINT32  NoOfVFActive;
     1173 +} EXT_VF_STATE, *PEXT_VF_STATE;
     1174 +
     1175 +typedef struct _EXT_SERDES_REG_EX {
     1176 +        UINT32  addr;
     1177 +        UINT32  val;
     1178 +} EXT_SERDES_REG_EX, *PEXT_SERDES_REG_EX;
     1179 +
1110 1180  #define EXT_DEF_FCF_LIST_SIZE   4096    /* Bytes */
1111 1181  #define FCF_INFO_RETURN_ALL     0
1112 1182  #define FCF_INFO_RETURN_ONE     1
1113 1183  
1114 1184  typedef struct  _EXT_FCF_INFO {
1115 1185          UINT16  CntrlFlags;     /* 2 */
1116 1186          UINT16  FcfId;          /* 2 */
1117 1187          UINT16  VlanId;         /* 2 */
1118 1188          UINT16  FcfFlags;       /* 2 */
1119 1189          UINT16  FcfAdvertPri;   /* 2 */
↓ open down ↓ 23 lines elided ↑ open up ↑
1143 1213          UINT32  OrgTgtXchgCtrlCnt;      /* 4 */
1144 1214          UINT32  CurTgtXchgCtrlCnt;      /* 4 */
1145 1215          UINT32  CurXchgCtrlCnt;         /* 4 */
1146 1216          UINT32  OrgXchgCtrlCnt;         /* 4 */
1147 1217          UINT32  CurIocbBufCnt;          /* 4 */
1148 1218          UINT32  OrgIocbBufCnt;          /* 4 */
1149 1219          UINT32  NoOfSupVPs;             /* 4 */
1150 1220          UINT32  NoOfSupFCFs;            /* 4 */
1151 1221  } EXT_RESOURCE_CNTS, *PEXT_RESOURCE_CNTS;
1152 1222  
     1223 +#define FW_FCE_SIZE     (0x4000 * 4)    /* bytes - 16kb multiples */
     1224 +
     1225 +typedef struct _EXT_FW_FCE_TRACE {
     1226 +        UINT16  Registers[32];
     1227 +        UINT8   TraceData[FW_FCE_SIZE];         /* Variable length */
     1228 +} EXT_FW_FCE_TRACE, *PEXT_FW_FCE_TRACE;
     1229 +
     1230 +/* Request Buffer for ELS PT */
     1231 +#define EXT_DEF_WWPN_VALID      1
     1232 +#define EXT_DEF_WWNN_VALID      2
     1233 +#define EXT_DEF_PID_VALID       4
     1234 +
     1235 +typedef struct _EXT_ELS_PT_REQ {
     1236 +        UINT16          ValidMask;
     1237 +        UINT8           WWNN[EXT_DEF_WWN_NAME_SIZE];
     1238 +        UINT8           WWPN[EXT_DEF_WWN_NAME_SIZE];
     1239 +        UINT8           Id[EXT_DEF_PORTID_SIZE];
     1240 +        UINT8           Reserved[10];
     1241 +} EXT_ELS_PT_REQ, *PEXT_ELS_PT_REQ;
     1242 +
     1243 +typedef struct _EXT_FLASH_UPDATE_CAPS {
     1244 +        UINT64          Capabilities;
     1245 +        UINT32          OutageDuration;
     1246 +        UINT8           Reserved[20];
     1247 +} EXT_FLASH_UPDATE_CAPS, *PEXT_FLASH_UPDATE_CAPS;
     1248 +
     1249 +/* BB_CR Status */
     1250 +#define EXT_DEF_BBCR_STATUS_DISABLED    0
     1251 +#define EXT_DEF_BBCR_STATUS_ENABLED     1
     1252 +#define EXT_DEF_BBCR_STATUS_UNKNOWN     2
     1253 +
     1254 +/* BB_CR State */
     1255 +#define EXT_DEF_BBCR_STATE_OFFLINE      0
     1256 +#define EXT_DEF_BBCR_STATE_ONLINE       1
     1257 +
     1258 +/* BB_CR Offline Reason Code */
     1259 +#define EXT_DEF_BBCR_REASON_PORT_SPEED          1
     1260 +#define EXT_DEF_BBCR_REASON_PEER_PORT           2
     1261 +#define EXT_DEF_BBCR_REASON_SWITCH              3
     1262 +#define EXT_DEF_BBCR_REASON_LOGIN_REJECT        4
     1263 +
     1264 +typedef struct _EXT_BBCR_DATA {
     1265 +        UINT8   Status;                 /* 1 - enabled, 0 - Disabled */
     1266 +        UINT8   State;                  /* 1 - online, 0 - offline */
     1267 +        UINT8   ConfiguredBBSCN;        /* 0-15 */
     1268 +        UINT8   NegotiatedBBSCN;        /* 0-15 */
     1269 +        UINT8   OfflineReasonCode;
     1270 +        UINT16  mbx1;                   /* Port State */
     1271 +        UINT8   Reserved[9];
     1272 +} EXT_BBCR_DATA, *PEXT_BBCR_DATA;
     1273 +
1153 1274  #ifdef  __cplusplus
1154 1275  }
1155 1276  #endif
1156 1277  
1157 1278  #endif /* _EXIOCT_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX