Lines Matching refs:wq

9020 		queue_delayed_work(phba->wq, &phba->eq_delay_work,
10652 struct lpfc_queue *wq;
10659 wq = phba->sli4_hba.hdwq[piocb->hba_wqidx].io_wq;
10661 wq = phba->sli4_hba.els_wq;
10665 pring = wq->pring;
10723 if (lpfc_sli4_wq_put(wq, wqe))
14818 ret = queue_work(phba->wq, &cq->spwork);
14820 ret = queue_work_on(cq->chann, phba->wq, &cq->spwork);
14963 ret = queue_delayed_work(phba->wq, &cq->sched_spwork,
14966 ret = queue_delayed_work_on(cq->chann, phba->wq,
15357 ret = queue_delayed_work(phba->wq, &cq->sched_irqwork,
15360 ret = queue_delayed_work_on(cq->chann, phba->wq,
15478 ret = queue_work(phba->wq, &cq->irqwork);
15480 ret = queue_work_on(cq->chann, phba->wq, &cq->irqwork);
16234 * This function creates a completion queue, as detailed in @wq, on a port,
16841 * @wq: The queue structure to use to create the work queue.
16845 * This function creates a work queue, as detailed in @wq, on a port, described
16848 * The @phba struct is used to send mailbox command to HBA. The @wq struct
16861 lpfc_wq_create(struct lpfc_hba *phba, struct lpfc_queue *wq,
16883 if (!wq || !cq)
16886 hw_page_size = wq->page_size;
16899 wq->page_count);
16908 (wq->page_size > SLI4_PAGE_SIZE))
16916 wq->entry_count);
16920 switch (wq->entry_size) {
16937 (wq->page_size / SLI4_PAGE_SIZE));
16945 list_for_each_entry(dmabuf, &wq->page_list, list) {
16968 wq->queue_id = bf_get(lpfc_mbx_wq_create_q_id,
16971 wq->queue_id = bf_get(lpfc_mbx_wq_create_v1_q_id,
16974 if (wq->queue_id == 0xFFFF) {
16979 wq->db_format = LPFC_DB_LIST_FORMAT;
16982 wq->db_format = bf_get(lpfc_mbx_wq_create_db_format,
16984 if ((wq->db_format != LPFC_DB_LIST_FORMAT) &&
16985 (wq->db_format != LPFC_DB_RING_FORMAT)) {
16989 wq->queue_id, wq->db_format);
17001 wq->queue_id, pci_barset);
17011 wq->queue_id, db_offset);
17015 wq->db_regaddr = bar_memmap_p + db_offset;
17018 "format:x%x\n", wq->queue_id,
17019 pci_barset, db_offset, wq->db_format);
17021 wq->db_regaddr = phba->sli4_hba.WQDBregaddr;
17024 wq->dpp_enable = bf_get(lpfc_mbx_wq_create_dpp_rsp,
17026 if (wq->dpp_enable) {
17035 wq->queue_id, pci_barset);
17040 wq->db_regaddr = bar_memmap_p + db_offset;
17041 wq->dpp_id = bf_get(lpfc_mbx_wq_create_dpp_id,
17051 wq->queue_id, dpp_barset);
17056 wq->dpp_regaddr = bar_memmap_p + dpp_offset;
17061 wq->queue_id, pci_barset, db_offset,
17062 wq->dpp_id, dpp_barset, dpp_offset);
17066 pg_addr = (unsigned long)(wq->dpp_regaddr) & PAGE_MASK;
17072 wq->queue_id);
17079 wq->db_regaddr = phba->sli4_hba.WQDBregaddr;
17081 wq->pring = kzalloc(sizeof(struct lpfc_sli_ring), GFP_KERNEL);
17082 if (wq->pring == NULL) {
17086 wq->type = LPFC_WQ;
17087 wq->assoc_qid = cq->queue_id;
17088 wq->subtype = subtype;
17089 wq->host_index = 0;
17090 wq->hba_index = 0;
17091 wq->notify_interval = LPFC_WQ_NOTIFY_INTRVL;
17093 /* link the wq onto the parent cq child list */
17094 list_add_tail(&wq->list, &cq->child_list);
17755 * @wq: The queue structure associated with the queue to destroy.
17757 * This function destroys a queue, as detailed in @wq by sending an mailbox
17760 * The @wq struct is used to get the queue ID of the queue to destroy.
17766 lpfc_wq_destroy(struct lpfc_hba *phba, struct lpfc_queue *wq)
17774 if (!wq)
17776 mbox = mempool_alloc(wq->phba->mbox_mem_pool, GFP_KERNEL);
17785 wq->queue_id);
17786 mbox->vport = wq->phba->pport;
17788 rc = lpfc_sli_issue_mbox(wq->phba, mbox, MBX_POLL);
17800 /* Remove wq from any list */
17801 list_del_init(&wq->list);
17802 kfree(wq->pring);
17803 wq->pring = NULL;
17804 mempool_free(mbox, wq->phba->mbox_mem_pool);
21108 struct lpfc_queue *wq;
21113 wq = phba->sli4_hba.hdwq[0].io_wq;
21114 if (unlikely(!wq))
21116 pring = wq->pring;
21118 wq = phba->sli4_hba.els_wq;
21119 if (unlikely(!wq))
21316 struct lpfc_queue *wq;
21356 wq = qp->io_wq;
21357 pring = wq->pring;
21363 ret = lpfc_sli4_wq_put(wq, wqe);
21378 wq = qp->io_wq;
21379 pring = wq->pring;
21393 ret = lpfc_sli4_wq_put(wq, wqe);