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>

*** 18,33 **** * * CDDL HEADER END */ /* ! * Copyright 2009 QLogic Corporation. All rights reserved. * Use is subject to license terms. */ /* ! * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. */ #include <sys/conf.h> #include <sys/ddi.h> #include <sys/sunddi.h> --- 18,33 ---- * * CDDL HEADER END */ /* ! * Copyright 2009-2015 QLogic Corporation. All rights reserved. * Use is subject to license terms. */ /* ! * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. */ #include <sys/conf.h> #include <sys/ddi.h> #include <sys/sunddi.h>
*** 212,223 **** p = qlt->dmem_buckets[ndx]; bctl = p->dmem_bctl_free_list; goto dmem_failure_loop; } kmem_free(qlt->dmem_buckets, sizeof (dmem_buckets) + ! ((sizeof (dmem_buckets)/sizeof (void *)) ! *sizeof (qlt_dmem_bucket_t))); qlt->dmem_buckets = NULL; return (QLT_FAILURE); } --- 212,223 ---- p = qlt->dmem_buckets[ndx]; bctl = p->dmem_bctl_free_list; goto dmem_failure_loop; } kmem_free(qlt->dmem_buckets, sizeof (dmem_buckets) + ! (((sizeof (dmem_buckets)/sizeof (void *))-1)* ! sizeof (qlt_dmem_bucket_t))); qlt->dmem_buckets = NULL; return (QLT_FAILURE); }
*** 561,573 **** --- 561,575 ---- * reused. It may not be bound if there was a bind failure. */ if (tmp_handle->num_cookies != 0) { rv = ddi_dma_unbind_handle(tmp_handle->dma_handle); ASSERT(rv == DDI_SUCCESS); + if (rv == DDI_SUCCESS) { tmp_handle->num_cookies = 0; tmp_handle->num_cookies_fetched = 0; } + } tmp_handle = tmp_handle->next; handle_count++; } /* * Insert this list into the free list
*** 644,654 **** * Set this flag to fetch the DDI dma cookies from the handles here and * store them in the port private area of the dbuf. This will allow * faster access to the cookies in qlt_xfer_scsi_data() at the expense of * an extra copy. If the qlt->req_lock is hot, this may help. */ ! int qlt_sgl_prefetch = 0; /*ARGSUSED*/ stmf_status_t qlt_dma_setup_dbuf(fct_local_port_t *port, stmf_data_buf_t *dbuf, uint32_t flags) --- 646,656 ---- * Set this flag to fetch the DDI dma cookies from the handles here and * store them in the port private area of the dbuf. This will allow * faster access to the cookies in qlt_xfer_scsi_data() at the expense of * an extra copy. If the qlt->req_lock is hot, this may help. */ ! uint16_t qlt_sgl_prefetch = 0; /*ARGSUSED*/ stmf_status_t qlt_dma_setup_dbuf(fct_local_port_t *port, stmf_data_buf_t *dbuf, uint32_t flags)
*** 657,668 **** qlt_dma_sgl_t *qsgl; struct stmf_sglist_ent *sglp; qlt_dma_handle_t *handle_list, *th; int i, rv; ddi_dma_cookie_t *cookie_p; ! int cookie_count, numbufs; ! int prefetch; size_t qsize; /* * psuedo code: * get dma handle list from cache - one per sglist entry --- 659,671 ---- qlt_dma_sgl_t *qsgl; struct stmf_sglist_ent *sglp; qlt_dma_handle_t *handle_list, *th; int i, rv; ddi_dma_cookie_t *cookie_p; ! int numbufs; ! uint16_t cookie_count; ! uint16_t prefetch; size_t qsize; /* * psuedo code: * get dma handle list from cache - one per sglist entry