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-8705 Drivers for ATTO Celerity FC-162E Gen 5 and Celerity FC-162P Gen 6 16GB FC cards support
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
NEX-1878 update emlxs from source provided by Emulex

*** 20,29 **** --- 20,30 ---- */ /* * Copyright (c) 2004-2012 Emulex. All rights reserved. * Use is subject to license terms. + * Copyright 2018 OmniOS Community Edition (OmniOSce) Association. */ #ifndef _EMLXS_FC_H #define _EMLXS_FC_H
*** 492,507 **** #define MEM_BUF 4 /* memory segment to hold buffer data */ #define MEM_ELSBUF 4 /* memory segment to hold buffer data */ #define MEM_IPBUF 5 /* memory segment to hold IP buffer data */ #define MEM_CTBUF 6 /* memory segment to hold CT buffer data */ #define MEM_FCTBUF 7 /* memory segment to hold FCT buffer data */ #ifdef SFCT_SUPPORT ! #define FC_MAX_SEG 8 ! #define MEM_FCTSEG 10 /* must be greater than FC_MAX_SEG */ #else ! #define FC_MAX_SEG 7 #endif /* SFCT_SUPPORT */ /* A BPL entry is 12 bytes. Subtract 2 for command and response buffers */ #define BPL_TO_SGLLEN(_bpl) ((_bpl/12)-2) --- 493,511 ---- #define MEM_BUF 4 /* memory segment to hold buffer data */ #define MEM_ELSBUF 4 /* memory segment to hold buffer data */ #define MEM_IPBUF 5 /* memory segment to hold IP buffer data */ #define MEM_CTBUF 6 /* memory segment to hold CT buffer data */ #define MEM_FCTBUF 7 /* memory segment to hold FCT buffer data */ + #define MEM_SGL1K 8 /* memory segment to hold 1K SGL entries */ + #define MEM_SGL2K 9 /* memory segment to hold 2K SGL entries */ + #define MEM_SGL4K 10 /* memory segment to hold 4K SGL entries */ #ifdef SFCT_SUPPORT ! #define FC_MAX_SEG 11 ! #define MEM_FCTSEG 13 /* must be greater than FC_MAX_SEG */ #else ! #define FC_MAX_SEG 10 #endif /* SFCT_SUPPORT */ /* A BPL entry is 12 bytes. Subtract 2 for command and response buffers */ #define BPL_TO_SGLLEN(_bpl) ((_bpl/12)-2)
*** 1847,1856 **** --- 1851,1861 ---- #define FC_MENLO_MODE 0x00008000 /* Menlo maintenance mode */ #define FC_DUMP_SAFE 0x00010000 /* Safe to DUMP */ #define FC_DUMP_ACTIVE 0x00020000 /* DUMP in progress */ #define FC_NEW_FABRIC 0x00040000 + #define FC_GPIO_LINK_UP 0x00080000 #define FC_SLIM2_MODE 0x00100000 /* SLIM in host memory */ #define FC_INTERLOCKED 0x00200000 #define FC_HBQ_ENABLED 0x00400000 #define FC_ASYNC_EVENTS 0x00800000
*** 2010,2019 **** --- 2015,2044 ---- /* Misc Timers */ uint32_t linkup_timer; uint32_t discovery_timer; uint32_t pkt_timer; + /* GPIO Management */ + uint8_t gpio_desired; + uint8_t gpio_current; + uint8_t gpio_bit; + #define EMLXS_GPIO_LO 0x01 + #define EMLXS_GPIO_HI 0x02 + #define EMLXS_GPIO_ACT 0x04 + #define EMLXS_GPIO_LASER 0x08 + #define EMLXS_GPIO_LOC 0x10 + + uint8_t gpio_pin[4]; + + #define EMLXS_GPIO_PIN_LO 0 + #define EMLXS_GPIO_PIN_HI 1 + #define EMLXS_GPIO_PIN_ACT 2 + #define EMLXS_GPIO_PIN_LASER 3 + + kmutex_t gpio_lock; /* Timer lock */ + timeout_id_t gpio_timer; + /* Power Management */ uint32_t pm_state; /* pm_state */ #define EMLXS_PM_IN_ATTACH 0x00000001 #define EMLXS_PM_IN_DETACH 0x00000002