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
*** 20,29 ****
--- 20,30 ----
*/
/*
* Copyright (c) 2004-2011 Emulex. All rights reserved.
* Use is subject to license terms.
+ * Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
*/
#include <emlxs.h>
/* #define EMLXS_POOL_DEBUG */
*** 159,168 ****
--- 160,205 ----
seg->fc_hi_water = MEM_CTBUF_COUNT;
seg->fc_lo_water = MEM_CTBUF_COUNT;
seg->fc_step = 1;
break;
+ case MEM_SGL1K:
+ (void) strlcpy(seg->fc_label, "1K SGL Pool",
+ sizeof (seg->fc_label));
+ seg->fc_memtag = MEM_SGL1K;
+ seg->fc_memsize = 0x400;
+ seg->fc_memflag = FC_MBUF_DMA | FC_MBUF_SNGLSG;
+ seg->fc_memalign = 32;
+ seg->fc_hi_water = 0x5000;
+ seg->fc_lo_water = 0;
+ seg->fc_step = 0x100;
+ break;
+
+ case MEM_SGL2K:
+ (void) strlcpy(seg->fc_label, "2K SGL Pool",
+ sizeof (seg->fc_label));
+ seg->fc_memtag = MEM_SGL2K;
+ seg->fc_memsize = 0x800;
+ seg->fc_memflag = FC_MBUF_DMA | FC_MBUF_SNGLSG;
+ seg->fc_memalign = 32;
+ seg->fc_hi_water = 0x5000;
+ seg->fc_lo_water = 0;
+ seg->fc_step = 0x100;
+ break;
+
+ case MEM_SGL4K:
+ (void) strlcpy(seg->fc_label, "4K SGL Pool",
+ sizeof (seg->fc_label));
+ seg->fc_memtag = MEM_SGL4K;
+ seg->fc_memsize = 0x1000;
+ seg->fc_memflag = FC_MBUF_DMA | FC_MBUF_SNGLSG;
+ seg->fc_memalign = 32;
+ seg->fc_hi_water = 0x5000;
+ seg->fc_lo_water = 0;
+ seg->fc_step = 0x100;
+ break;
+
#ifdef SFCT_SUPPORT
case MEM_FCTBUF:
/* These are the unsolicited FCT buffers. */
if (!(port->flag & EMLXS_TGT_ENABLED)) {
continue;
*** 1051,1061 ****
bzero(buf_info, sizeof (MBUF_INFO));
buf_info->size = sizeof (MATCHMAP);
buf_info->virt = (void *)mp;
emlxs_mem_free(hba, buf_info);
! return (0);
}
bp = (uint8_t *)buf_info->virt;
bzero(bp, buf_info->size);
mp->virt = buf_info->virt;
--- 1088,1098 ----
bzero(buf_info, sizeof (MBUF_INFO));
buf_info->size = sizeof (MATCHMAP);
buf_info->virt = (void *)mp;
emlxs_mem_free(hba, buf_info);
! return (NULL);
}
bp = (uint8_t *)buf_info->virt;
bzero(bp, buf_info->size);
mp->virt = buf_info->virt;