Lines Matching refs:snic

39 	struct snic *snic = svnic_dev_priv(wq->vdev);  in snic_wq_cmpl_frame_send()  local
44 SNIC_HOST_INFO(snic->shost, in snic_wq_cmpl_frame_send()
48 SNIC_TRC(snic->shost->host_no, 0, 0, in snic_wq_cmpl_frame_send()
63 struct snic *snic = svnic_dev_priv(vdev); in snic_wq_cmpl_handler_cont() local
68 spin_lock_irqsave(&snic->wq_lock[q_num], flags); in snic_wq_cmpl_handler_cont()
69 svnic_wq_service(&snic->wq[q_num], in snic_wq_cmpl_handler_cont()
74 spin_unlock_irqrestore(&snic->wq_lock[q_num], flags); in snic_wq_cmpl_handler_cont()
80 snic_wq_cmpl_handler(struct snic *snic, int work_to_do) in snic_wq_cmpl_handler() argument
85 snic->s_stats.misc.last_ack_time = jiffies; in snic_wq_cmpl_handler()
86 for (i = 0; i < snic->wq_count; i++) { in snic_wq_cmpl_handler()
87 work_done += svnic_cq_service(&snic->cq[i], in snic_wq_cmpl_handler()
101 struct snic *snic = svnic_dev_priv(wq->vdev); in snic_free_wq_buf() local
105 pci_unmap_single(snic->pdev, buf->dma_addr, buf->len, PCI_DMA_TODEVICE); in snic_free_wq_buf()
108 spin_lock_irqsave(&snic->spl_cmd_lock, flags); in snic_free_wq_buf()
110 spin_unlock_irqrestore(&snic->spl_cmd_lock, flags); in snic_free_wq_buf()
116 spin_unlock_irqrestore(&snic->spl_cmd_lock, flags); in snic_free_wq_buf()
119 snic_pci_unmap_rsp_buf(snic, rqi); in snic_free_wq_buf()
123 snic_req_free(snic, rqi); in snic_free_wq_buf()
124 SNIC_HOST_INFO(snic->shost, "snic_free_wq_buf .. freed.\n"); in snic_free_wq_buf()
132 snic_select_wq(struct snic *snic) in snic_select_wq() argument
141 snic_wqdesc_avail(struct snic *snic, int q_num, int req_type) in snic_wqdesc_avail() argument
143 int nr_wqdesc = snic->config.wq_enet_desc_count; in snic_wqdesc_avail()
150 SNIC_HOST_INFO(snic->shost, "desc_avail: Multi Queue case.\n"); in snic_wqdesc_avail()
156 nr_wqdesc -= atomic64_read(&snic->s_stats.fw.actv_reqs); in snic_wqdesc_avail()
162 snic_queue_wq_desc(struct snic *snic, void *os_buf, u16 len) in snic_queue_wq_desc() argument
166 struct snic_fw_stats *fwstats = &snic->s_stats.fw; in snic_queue_wq_desc()
175 pa = pci_map_single(snic->pdev, os_buf, len, PCI_DMA_TODEVICE); in snic_queue_wq_desc()
176 if (pci_dma_mapping_error(snic->pdev, pa)) { in snic_queue_wq_desc()
177 SNIC_HOST_ERR(snic->shost, "qdesc: PCI DMA Mapping Fail.\n"); in snic_queue_wq_desc()
184 q_num = snic_select_wq(snic); in snic_queue_wq_desc()
186 spin_lock_irqsave(&snic->wq_lock[q_num], flags); in snic_queue_wq_desc()
187 desc_avail = snic_wqdesc_avail(snic, q_num, req->hdr.type); in snic_queue_wq_desc()
189 pci_unmap_single(snic->pdev, pa, len, PCI_DMA_TODEVICE); in snic_queue_wq_desc()
191 spin_unlock_irqrestore(&snic->wq_lock[q_num], flags); in snic_queue_wq_desc()
192 atomic64_inc(&snic->s_stats.misc.wq_alloc_fail); in snic_queue_wq_desc()
193 SNIC_DBG("host = %d, WQ is Full\n", snic->shost->host_no); in snic_queue_wq_desc()
198 snic_queue_wq_eth_desc(&snic->wq[q_num], os_buf, pa, len, 0, 0, 1); in snic_queue_wq_desc()
204 spin_unlock_irqrestore(&snic->wq_lock[q_num], flags); in snic_queue_wq_desc()
217 snic_handle_untagged_req(struct snic *snic, struct snic_req_info *rqi) in snic_handle_untagged_req() argument
223 spin_lock_irqsave(&snic->spl_cmd_lock, flags); in snic_handle_untagged_req()
224 list_add_tail(&rqi->list, &snic->spl_cmd_list); in snic_handle_untagged_req()
225 spin_unlock_irqrestore(&snic->spl_cmd_lock, flags); in snic_handle_untagged_req()
233 snic_req_init(struct snic *snic, int sg_cnt) in snic_req_init() argument
241 rqi = mempool_alloc(snic->req_pool[typ], GFP_ATOMIC); in snic_req_init()
243 atomic64_inc(&snic->s_stats.io.alloc_fail); in snic_req_init()
244 SNIC_HOST_ERR(snic->shost, in snic_req_init()
255 rqi->snic = snic; in snic_req_init()
264 if (sg_cnt > atomic64_read(&snic->s_stats.io.max_sgl)) in snic_req_init()
265 atomic64_set(&snic->s_stats.io.max_sgl, sg_cnt); in snic_req_init()
268 atomic64_inc(&snic->s_stats.io.sgl_cnt[sg_cnt - 1]); in snic_req_init()
276 SNIC_SCSI_DBG(snic->shost, "Req_alloc:rqi = %p allocatd.\n", rqi); in snic_req_init()
285 snic_abort_req_init(struct snic *snic, struct snic_req_info *rqi) in snic_abort_req_init() argument
296 req = mempool_alloc(snic->req_pool[SNIC_REQ_TM_CACHE], GFP_ATOMIC); in snic_abort_req_init()
298 SNIC_HOST_ERR(snic->shost, "abts:Failed to alloc tm req.\n"); in snic_abort_req_init()
316 snic_dr_req_init(struct snic *snic, struct snic_req_info *rqi) in snic_dr_req_init() argument
322 req = mempool_alloc(snic->req_pool[SNIC_REQ_TM_CACHE], GFP_ATOMIC); in snic_dr_req_init()
324 SNIC_HOST_ERR(snic->shost, "dr:Failed to alloc tm req.\n"); in snic_dr_req_init()
341 snic_req_free(struct snic *snic, struct snic_req_info *rqi) in snic_req_free() argument
347 SNIC_SCSI_DBG(snic->shost, in snic_req_free()
353 pci_unmap_single(snic->pdev, in snic_req_free()
358 mempool_free(rqi->abort_req, snic->req_pool[SNIC_REQ_TM_CACHE]); in snic_req_free()
363 pci_unmap_single(snic->pdev, in snic_req_free()
368 mempool_free(rqi->dr_req, snic->req_pool[SNIC_REQ_TM_CACHE]); in snic_req_free()
372 pci_unmap_single(snic->pdev, in snic_req_free()
377 mempool_free(rqi, snic->req_pool[rqi->rq_pool_type]); in snic_req_free()
381 snic_pci_unmap_rsp_buf(struct snic *snic, struct snic_req_info *rqi) in snic_pci_unmap_rsp_buf() argument
387 pci_unmap_single(snic->pdev, in snic_pci_unmap_rsp_buf()
397 snic_free_all_untagged_reqs(struct snic *snic) in snic_free_all_untagged_reqs() argument
403 spin_lock_irqsave(&snic->spl_cmd_lock, flags); in snic_free_all_untagged_reqs()
404 list_for_each_safe(cur, nxt, &snic->spl_cmd_list) { in snic_free_all_untagged_reqs()
408 snic_pci_unmap_rsp_buf(snic, rqi); in snic_free_all_untagged_reqs()
413 snic_req_free(snic, rqi); in snic_free_all_untagged_reqs()
415 spin_unlock_irqrestore(&snic->spl_cmd_lock, flags); in snic_free_all_untagged_reqs()
422 snic_release_untagged_req(struct snic *snic, struct snic_req_info *rqi) in snic_release_untagged_req() argument
426 spin_lock_irqsave(&snic->snic_lock, flags); in snic_release_untagged_req()
427 if (snic->in_remove) { in snic_release_untagged_req()
428 spin_unlock_irqrestore(&snic->snic_lock, flags); in snic_release_untagged_req()
431 spin_unlock_irqrestore(&snic->snic_lock, flags); in snic_release_untagged_req()
433 spin_lock_irqsave(&snic->spl_cmd_lock, flags); in snic_release_untagged_req()
435 spin_unlock_irqrestore(&snic->spl_cmd_lock, flags); in snic_release_untagged_req()
439 spin_unlock_irqrestore(&snic->spl_cmd_lock, flags); in snic_release_untagged_req()
440 snic_req_free(snic, rqi); in snic_release_untagged_req()
560 snic_calc_io_process_time(struct snic *snic, struct snic_req_info *rqi) in snic_calc_io_process_time() argument
566 if (duration > atomic64_read(&snic->s_stats.io.max_time)) in snic_calc_io_process_time()
567 atomic64_set(&snic->s_stats.io.max_time, duration); in snic_calc_io_process_time()