Print this page
    
NEX-5733 cleanup qlt/qlc
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Alek Pinchuk <alek.pinchuk@nexenta.com>
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/io/comstar/port/qlt/qlt_ioctl.h
          +++ new/usr/src/uts/common/io/comstar/port/qlt/qlt_ioctl.h
   1    1  /*
   2    2   * CDDL HEADER START
   3    3   *
   4    4   * The contents of this file are subject to the terms of the
   5    5   * Common Development and Distribution License (the "License").
   6    6   * You may not use this file except in compliance with the License.
   7    7   *
   8    8   * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9    9   * or http://www.opensolaris.org/os/licensing.
  10   10   * See the License for the specific language governing permissions
  11   11   * and limitations under the License.
  12   12   *
  
    | 
      ↓ 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 2009 QLogic Corporation.  All rights reserved.
       23 + * Copyright 2009-2015 QLogic Corporation.  All rights reserved.
  24   24   * Use is subject to license terms.
  25   25   */
  26   26  
  27   27  /*
  28      - * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  29      - * Use is subject to license terms.
       28 + * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
  30   29   */
  31   30  
  32   31  #ifndef _QLT_IOCTL_H
  33   32  #define _QLT_IOCTL_H
  34   33  
  35   34  #ifdef  __cplusplus
  36   35  extern "C" {
  37   36  #endif
  38   37  
  39   38  /*
  40   39   * stmf error codes from qlt_ioctl
  41   40   */
  42   41  typedef enum qlt_ioctl_err {
  43   42          QLTIO_NO_DUMP = 1,
  44   43          QLTIO_DUMP_INPROGRESS,
  45   44          QLTIO_NOT_ONLINE,
  46   45          QLTIO_INVALID_FW_SIZE,
  47   46          QLTIO_INVALID_FW_TYPE,
  48   47          QLTIO_ALREADY_FETCHED,
  49   48          QLTIO_MBOX_NOT_INITIALIZED,
  50   49          QLTIO_CANT_GET_MBOXES,
  51   50          QLTIO_MBOX_TIMED_OUT,
  52   51          QLTIO_MBOX_ABORTED,
  53   52  
  54   53          QLTIO_MAX_ERR
  55   54  } qlt_ioctl_err_t;
  56   55  
  57   56  #define QLTIO_ERR_STRINGS       { \
  58   57          "No additional information", \
  59   58          "No firmware dump available", \
  60   59          "Firmware dump in progress", \
  61   60          "Port is not online", \
  62   61          "Firmware size is invalid", \
  63   62          "Firmware type does not match this chip", \
  64   63          "Firmware dump already fetched by user", \
  65   64          "Mailboxes are not yet initialized", \
  66   65          "Mailboxes are not busy", \
  67   66          "Mailbox command timed out", \
  68   67          "Mailbox command got aborted", \
  69   68          "" \
  70   69          }
  71   70  
  72   71  typedef struct qlt_fw_info {
  73   72          uint32_t        fwi_stay_offline:1,
  74   73                          fwi_port_active:1,
  75   74                          fwi_fw_uploaded:1,
  76   75                          fwi_rsvd:29;
  77   76          uint16_t        fwi_active_major;
  78   77          uint16_t        fwi_active_minor;
  79   78          uint16_t        fwi_active_subminor;
  80   79          uint16_t        fwi_active_attr;
  81   80          uint16_t        fwi_loaded_major;
  82   81          uint16_t        fwi_loaded_minor;
  83   82          uint16_t        fwi_loaded_subminor;
  84   83          uint16_t        fwi_loaded_attr;
  85   84          uint16_t        fwi_default_major;
  86   85          uint16_t        fwi_default_minor;
  87   86          uint16_t        fwi_default_subminor;
  88   87          uint16_t        fwi_default_attr;
  89   88  } qlt_fw_info_t;
  90   89  
  91   90  typedef struct qlt_ioctl_mbox {
  92   91          uint16_t        to_fw[32];
  93   92          uint32_t        to_fw_mask;
  94   93          uint16_t        from_fw[32];
  95   94          uint32_t        from_fw_mask;
  96   95  } qlt_ioctl_mbox_t;
  97   96  
  98   97  #define QLT_FWDUMP_BUFSIZE              (4 * 1024 * 1024)
  99   98  /*
  
    | 
      ↓ open down ↓ | 
    60 lines elided | 
    
      ↑ open up ↑ | 
  
 100   99   * QLT IOCTLs
 101  100   */
 102  101  #define QLT_IOCTL_FETCH_FWDUMP          0x9001
 103  102  #define QLT_IOCTL_TRIGGER_FWDUMP        0x9002
 104  103  #define QLT_IOCTL_UPLOAD_FW             0x9003
 105  104  #define QLT_IOCTL_CLEAR_FW              0x9004
 106  105  #define QLT_IOCTL_GET_FW_INFO           0x9005
 107  106  #define QLT_IOCTL_STAY_OFFLINE          0x9006
 108  107  #define QLT_IOCTL_MBOX                  0x9007
 109  108  #define QLT_IOCTL_ELOG                  0x9008
      109 +#define QLT_IOCTL_CHIP_RESET            0x9009
      110 +#define QLT_IOCTL_CRASH_SYS             0x900a
 110  111  
 111  112  #ifdef  __cplusplus
 112  113  }
 113  114  #endif
 114  115  
 115  116  #endif /* _QLT_IOCTL_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX