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/ql_xioctl.h
          +++ new/usr/src/uts/common/sys/fibre-channel/fca/qlc/ql_xioctl.h
↓ open down ↓ 11 lines elided ↑ open up ↑
  12   12   *
  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      -/* Copyright 2010 QLogic Corporation */
       22 +/* Copyright 2015 QLogic Corporation */
  23   23  
  24   24  /*
  25   25   * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
  26   26   */
  27   27  
  28   28  #ifndef _QL_XIOCTL_H
  29   29  #define _QL_XIOCTL_H
  30   30  
  31   31  /*
  32   32   * ISP2xxx Solaris Fibre Channel Adapter (FCA) driver header file.
  33   33   *
  34   34   * ***********************************************************************
  35   35   * *                                                                    **
  36   36   * *                            NOTICE                                  **
  37      - * *            COPYRIGHT (C) 1996-2010 QLOGIC CORPORATION              **
       37 + * *            COPYRIGHT (C) 1996-2015 QLOGIC CORPORATION              **
  38   38   * *                    ALL RIGHTS RESERVED                             **
  39   39   * *                                                                    **
  40   40   * ***********************************************************************
  41   41   *
  42   42   */
  43   43  
  44   44  #ifdef __cplusplus
  45   45  extern "C" {
  46   46  #endif
  47   47  
↓ open down ↓ 126 lines elided ↑ open up ↑
 174  174  } flash_desc_t;
 175  175  
 176  176  /* flash manufacturer id's */
 177  177  #define AMD_FLASH               0x01    /* AMD / Spansion */
 178  178  #define ST_FLASH                0x20    /* ST Electronics */
 179  179  #define SST_FLASH               0xbf    /* SST Electronics */
 180  180  #define MXIC_FLASH              0xc2    /* Macronix (MXIC) */
 181  181  #define ATMEL_FLASH             0x1f    /* Atmel (AT26DF081A) */
 182  182  #define WINBOND_FLASH           0xef    /* Winbond (W25X16) */
 183  183  #define INTEL_FLASH             0x89    /* Intel (QB25F016S33B8) */
      184 +#define EON_FLASH               0x1c    /* EON Silicon Solutions */
 184  185  
 185  186  /* flash id defines */
 186  187  #define AMD_FLASHID_128K        0x6e    /* 128k AMD flash chip */
 187  188  #define AMD_FLASHID_512K        0x4f    /* 512k AMD flash chip */
 188  189  #define AMD_FLASHID_512Kt       0xb9    /* 512k AMD flash chip - top boot blk */
 189  190  #define AMD_FLASHID_512Kb       0xba    /* 512k AMD flash chip - btm boot blk */
 190  191  #define AMD_FLASHID_1024K       0x38    /* 1 MB AMD flash chip */
 191  192  #define ST_FLASHID_128K         0x23    /* 128k ST flash chip */
 192  193  #define ST_FLASHID_512K         0xe3    /* 512k ST flash chip */
 193  194  #define ST_FLASHID_M25PXX       0x20    /* M25Pxx ST flash chip */
      195 +#define ST_FLASHID_N25QXXX      0xBA    /* M25Qxx ST flash chip */
 194  196  #define SST_FLASHID_128K        0xd5    /* 128k SST flash chip */
 195  197  #define SST_FLASHID_1024K       0xd8    /* 1 MB SST flash chip */
 196  198  #define SST_FLASHID_1024K_A     0x80    /* 1 MB SST 25LF080A flash chip */
 197  199  #define SST_FLASHID_1024K_B     0x8e    /* 1 MB SST 25VF080B flash chip */
 198  200  #define SST_FLASHID_2048K       0x25    /* 2 MB SST 25VF016B flash chip */
 199  201  #define MXIC_FLASHID_512K       0x4f    /* 512k MXIC flash chip */
 200  202  #define MXIC_FLASHID_1024K      0x38    /* 1 MB MXIC flash chip */
 201  203  #define MXIC_FLASHID_25LXX      0x20    /* 25Lxx MXIC flash chip */
 202  204  #define ATMEL_FLASHID_1024K     0x45    /* 1 MB ATMEL flash chip */
 203  205  #define SPAN_FLASHID_2048K      0x02    /* 2 MB Spansion flash chip */
      206 +#define SPAN_FLASHID_16384K     0x20    /* 16 MB Spansion flash chip */
 204  207  #define WINBOND_FLASHID         0x30    /* Winbond W25Xxx flash chip */
      208 +#define WINBOND_FLASHID_Q       0x40    /* Winbond W25Qxxx flash chip */
 205  209  #define INTEL_FLASHID           0x89    /* Intel QB25F016S33B8 flash chip */
      210 +#define EON_FLASHID_EN25QXXX    0x30    /* EON EN25Qxxx flash chip */
 206  211  
 207  212  /* flash type defines */
 208  213  #define FLASH128        BIT_0
 209  214  #define FLASH512        BIT_1
 210  215  #define FLASH512S       BIT_2
 211  216  #define FLASH1024       BIT_3
 212  217  #define FLASH2048       BIT_4
 213  218  #define FLASH4096       BIT_5
 214  219  #define FLASH8192       BIT_6
 215  220  #define FLASH_PAGE      BIT_31
 216  221  #define FLASH_LEGACY    (FLASH128 | FLASH512S)
 217  222  
 218      -typedef struct ql_ledstate {
 219      -        uint32_t                BeaconState;
 220      -        uint32_t                LEDflags;
 221      -        uint32_t                flags;
 222      -} ql_ledstate_t;
 223      -
 224  223  /*
 225  224   * ledstate flags definitions
 226  225   */
 227  226  #define LED_ACTIVE      BIT_0
 228  227  
 229  228  /*
 230  229   * ledstate BeaconState definitions
 231  230   */
 232  231  #define BEACON_OFF      0
 233  232  #define BEACON_ON       BIT_0
↓ open down ↓ 121 lines elided ↑ open up ↑
 355  354  #define FT_FC           1
 356  355  #define FT_ISCSI        2
 357  356  #define FT_VNIC         3
 358  357  
 359  358  typedef struct ql_fp_cfg_map {
 360  359          ql_fp_cfg_hdr_t hdr;
 361  360          ql_fp_cfg_t     cfg[6];
 362  361  } ql_fp_cfg_map_t;
 363  362  
 364  363  #define FLASH_FW_REGION                 0x01
      364 +#define FLASH_BOOT_CODE_REGION          0x07
 365  365  #define FLASH_VPD_0_REGION              0x14
 366  366  #define FLASH_NVRAM_0_REGION            0x15
 367  367  #define FLASH_VPD_1_REGION              0x16
 368  368  #define FLASH_NVRAM_1_REGION            0x17
 369  369  #define FLASH_DESC_TABLE_REGION         0x1A
 370  370  #define FLASH_ERROR_LOG_0_REGION        0x1D
 371  371  #define FLASH_ERROR_LOG_1_REGION        0x1F
 372  372  #define FLASH_GOLDEN_FW_REGION          0x2F
      373 +#define FLASH_BOOTLOADER_REGION         0x72
 373  374  
 374  375  #define FLASH_8021_FW_REGION            0x74
 375  376  #define FLASH_8021_GOLDEN_FW_REGION     0x75
 376  377  #define FLASH_8021_BOOTLOADER_REGION    0x72
 377  378  #define FLASH_8021_VPD_REGION           0x81
 378  379  
 379  380  #define FLASH_LAYOUT_TABLE_SIZE         4096
 380  381  
 381  382  /*
 382  383   * Per instance XIOCTL context defintions.
↓ open down ↓ 15 lines elided ↑ open up ↑
 398  399          int64_t                 IOInputRequests;
 399  400          int64_t                 IOOutputRequests;
 400  401          int64_t                 IOControlRequests;
 401  402          int64_t                 IOOutputMByteCnt;       /* # of mb's */
 402  403          int64_t                 IOInputMByteCnt;        /* # of mb's */
 403  404  
 404  405          /* SNIA intermediate (less than 1mb) counters  */
 405  406          int64_t                 IOOutputByteCnt;
 406  407          int64_t                 IOInputByteCnt;
 407  408  
 408      -        /* Adapter LED state */
 409      -        ql_ledstate_t           ledstate;
 410      -
 411  409          /* Async event context */
 412  410          void                    *aen_tracking_queue;
 413  411          uint8_t                 aen_q_head;
 414  412          uint8_t                 aen_q_tail;
 415  413  
 416  414          uint32_t                flags;
 417  415  } ql_xioctl_t;
 418  416  
 419  417  /*
 420  418   * ql adapter flag defintions.
↓ open down ↓ 12 lines elided ↑ open up ↑
 433  431  void ql_free_xioctl_resource(ql_adapter_state_t *);
 434  432  int ql_xioctl(ql_adapter_state_t *, int, intptr_t, int, cred_t *, int *);
 435  433  void ql_enqueue_aen(ql_adapter_state_t *, uint16_t, void *);
 436  434  int ql_setup_fcache(ql_adapter_state_t *);
 437  435  void ql_blink_led(ql_adapter_state_t *);
 438  436  void ql_fcache_rel(ql_fcache_t *);
 439  437  ql_fcache_t *ql_get_fbuf(ql_fcache_t *, uint32_t);
 440  438  int ql_dump_fcode(ql_adapter_state_t *, uint8_t *, uint32_t, uint32_t);
 441  439  int ql_pci_dump(ql_adapter_state_t *, uint32_t *, uint32_t, int);
 442  440  int ql_load_fcode(ql_adapter_state_t *, uint8_t *, uint32_t, uint32_t);
      441 +int ql_set_loop_point(ql_adapter_state_t *, uint16_t);
 443  442  
 444  443  #ifdef __cplusplus
 445  444  }
 446  445  #endif
 447  446  
 448  447  #endif /* _QL_XIOCTL_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX