Lines Matching refs:sli4_hba
207 &q->phba->sli4_hba.sli_intf);
280 writel(doorbell.word0, q->phba->sli4_hba.MQDBregaddr);
359 writel(doorbell.word0, q->phba->sli4_hba.EQDBregaddr);
374 writel(doorbell.word0, q->phba->sli4_hba.EQDBregaddr);
409 writel(doorbell.word0, q->phba->sli4_hba.EQDBregaddr);
412 readl(q->phba->sli4_hba.EQDBregaddr);
442 writel(doorbell.word0, q->phba->sli4_hba.EQDBregaddr);
445 readl(q->phba->sli4_hba.EQDBregaddr);
452 if (!phba->sli4_hba.pc_sli4_params.eqav)
458 if (phba->sli4_hba.pc_sli4_params.eqav && !eq->host_index)
493 phba->sli4_hba.sli4_write_cq_db(phba, cq, cq_count,
503 phba->sli4_hba.sli4_write_eq_db(phba, eq, eq_count, LPFC_QUEUE_REARM);
526 phba->sli4_hba.sli4_write_eq_db(phba, eq, consumed,
543 phba->sli4_hba.sli4_write_eq_db(phba, eq, consumed, rearm);
587 if (!phba->sli4_hba.pc_sli4_params.cqav)
593 if (phba->sli4_hba.pc_sli4_params.cqav && !cq->host_index)
627 writel(doorbell.word0, q->phba->sli4_hba.CQDBregaddr);
657 writel(doorbell.word0, q->phba->sli4_hba.CQDBregaddr);
823 sglq = phba->sli4_hba.lpfc_sglq_active_list[xritag];
824 phba->sli4_hba.lpfc_sglq_active_list[xritag] = NULL;
845 sglq = phba->sli4_hba.lpfc_sglq_active_list[xritag];
1130 struct list_head *lpfc_els_sgl_list = &phba->sli4_hba.lpfc_els_sgl_list;
1139 pring = phba->sli4_hba.nvmels_wq->pring;
1160 spin_lock(&phba->sli4_hba.sgl_list_lock);
1185 phba->sli4_hba.lpfc_sglq_active_list[sglq->sli4_lxritag] = sglq;
1188 spin_unlock(&phba->sli4_hba.sgl_list_lock);
1208 lpfc_nvmet_sgl_list = &phba->sli4_hba.lpfc_nvmet_sgl_list;
1210 lockdep_assert_held(&phba->sli4_hba.sgl_list_lock);
1215 phba->sli4_hba.lpfc_sglq_active_list[sglq->sli4_lxritag] = sglq;
1276 spin_lock_irqsave(&phba->sli4_hba.sgl_list_lock,
1281 &phba->sli4_hba.lpfc_nvmet_sgl_list);
1283 &phba->sli4_hba.sgl_list_lock, iflag);
1287 pring = phba->sli4_hba.els_wq->pring;
1290 spin_lock_irqsave(&phba->sli4_hba.sgl_list_lock,
1293 &phba->sli4_hba.lpfc_abts_els_sgl_list);
1295 &phba->sli4_hba.sgl_list_lock, iflag);
1297 spin_lock_irqsave(&phba->sli4_hba.sgl_list_lock,
1302 &phba->sli4_hba.lpfc_els_sgl_list);
1304 &phba->sli4_hba.sgl_list_lock, iflag);
2098 hrq = phba->sli4_hba.hdr_rq;
2099 drq = phba->sli4_hba.dat_rq;
2497 vpi -= phba->sli4_hba.max_cfg_param.vpi_base;
2585 &phba->sli4_hba.sli_intf) >=
2874 axchg->hdwq = &phba->sli4_hba.hdwq[0];
4012 while (!list_empty(&phba->sli4_hba.sp_queue_event)) {
4015 list_remove_head(&phba->sli4_hba.sp_queue_event,
4117 pring = phba->sli4_hba.hdwq[i].io_wq->pring;
4148 !phba->sli4_hba.hdwq) {
4159 pring = phba->sli4_hba.hdwq[i].io_wq->pring;
4305 phba->sli4_hba.intr_enable = 0;
5527 phba->sli4_hba.lnk_info.lnk_dv = LPFC_LNK_DAT_VAL;
5528 phba->sli4_hba.lnk_info.lnk_tp =
5530 phba->sli4_hba.lnk_info.lnk_no =
5539 phba->sli4_hba.lnk_info.lnk_tp,
5540 phba->sli4_hba.lnk_info.lnk_no,
5572 phba->sli4_hba.lnk_info.lnk_dv = LPFC_LNK_DAT_INVAL;
5573 phba->sli4_hba.pport_name_sta = LPFC_SLI4_PPNAME_NON;
5579 phba->sli4_hba.lnk_info.lnk_dv = LPFC_LNK_DAT_INVAL;
5581 if (phba->sli4_hba.lnk_info.lnk_dv == LPFC_LNK_DAT_VAL)
5599 phba->sli4_hba.lnk_info.lnk_tp);
5614 switch (phba->sli4_hba.lnk_info.lnk_no) {
5618 phba->sli4_hba.pport_name_sta = LPFC_SLI4_PPNAME_GET;
5623 phba->sli4_hba.pport_name_sta = LPFC_SLI4_PPNAME_GET;
5628 phba->sli4_hba.pport_name_sta = LPFC_SLI4_PPNAME_GET;
5633 phba->sli4_hba.pport_name_sta = LPFC_SLI4_PPNAME_GET;
5639 if (phba->sli4_hba.pport_name_sta == LPFC_SLI4_PPNAME_GET) {
5665 struct lpfc_sli4_hba *sli4_hba = &phba->sli4_hba;
5669 sli4_hba->sli4_write_cq_db(phba, sli4_hba->mbx_cq, 0, LPFC_QUEUE_REARM);
5670 sli4_hba->sli4_write_cq_db(phba, sli4_hba->els_cq, 0, LPFC_QUEUE_REARM);
5671 if (sli4_hba->nvmels_cq)
5672 sli4_hba->sli4_write_cq_db(phba, sli4_hba->nvmels_cq, 0,
5675 if (sli4_hba->hdwq) {
5678 qp = &sli4_hba->hdwq[qidx];
5680 sli4_hba->sli4_write_cq_db(phba, qp->io_cq, 0,
5686 eq = sli4_hba->hba_eq_hdl[qidx].eq;
5688 sli4_hba->sli4_write_eq_db(phba, eq,
5695 sli4_hba->sli4_write_cq_db(phba,
5696 sli4_hba->nvmet_cqset[qidx], 0,
5743 if (!phba->sli4_hba.intr_enable)
5816 rsrc_blk_list = &phba->sli4_hba.lpfc_rpi_blk_list;
5822 rsrc_blk_list = &phba->sli4_hba.lpfc_xri_blk_list;
5825 rsrc_blk_list = &phba->sli4_hba.lpfc_vfi_blk_list;
5905 if (!phba->sli4_hba.intr_enable)
6000 phba->sli4_hba.rpi_bmask = kcalloc(longs,
6003 if (unlikely(!phba->sli4_hba.rpi_bmask)) {
6007 phba->sli4_hba.rpi_ids = kcalloc(rsrc_id_cnt,
6010 if (unlikely(!phba->sli4_hba.rpi_ids)) {
6011 kfree(phba->sli4_hba.rpi_bmask);
6021 phba->sli4_hba.next_rpi = rsrc_id_cnt;
6024 bmask = phba->sli4_hba.rpi_bmask;
6025 ids = phba->sli4_hba.rpi_ids;
6026 ext_blk_list = &phba->sli4_hba.lpfc_rpi_blk_list;
6049 phba->sli4_hba.xri_bmask = kcalloc(longs,
6052 if (unlikely(!phba->sli4_hba.xri_bmask)) {
6056 phba->sli4_hba.max_cfg_param.xri_used = 0;
6057 phba->sli4_hba.xri_ids = kcalloc(rsrc_id_cnt,
6060 if (unlikely(!phba->sli4_hba.xri_ids)) {
6061 kfree(phba->sli4_hba.xri_bmask);
6067 bmask = phba->sli4_hba.xri_bmask;
6068 ids = phba->sli4_hba.xri_ids;
6069 ext_blk_list = &phba->sli4_hba.lpfc_xri_blk_list;
6072 phba->sli4_hba.vfi_bmask = kcalloc(longs,
6075 if (unlikely(!phba->sli4_hba.vfi_bmask)) {
6079 phba->sli4_hba.vfi_ids = kcalloc(rsrc_id_cnt,
6082 if (unlikely(!phba->sli4_hba.vfi_ids)) {
6083 kfree(phba->sli4_hba.vfi_bmask);
6089 bmask = phba->sli4_hba.vfi_bmask;
6090 ids = phba->sli4_hba.vfi_ids;
6091 ext_blk_list = &phba->sli4_hba.lpfc_vfi_blk_list;
6128 phba->sli4_hba.io_xri_start = rsrc_start +
6188 if (!phba->sli4_hba.intr_enable)
6220 bf_set(lpfc_vpi_rsrc_rdy, &phba->sli4_hba.sli4_flags, 0);
6226 phba->sli4_hba.max_cfg_param.vpi_used = 0;
6229 kfree(phba->sli4_hba.xri_bmask);
6230 kfree(phba->sli4_hba.xri_ids);
6232 &phba->sli4_hba.lpfc_xri_blk_list, list) {
6238 kfree(phba->sli4_hba.vfi_bmask);
6239 kfree(phba->sli4_hba.vfi_ids);
6240 bf_set(lpfc_vfi_rsrc_rdy, &phba->sli4_hba.sli4_flags, 0);
6242 &phba->sli4_hba.lpfc_vfi_blk_list, list) {
6250 &phba->sli4_hba.lpfc_rpi_blk_list, list) {
6259 bf_set(lpfc_idx_rsrc_rdy, &phba->sli4_hba.sli4_flags, 0);
6324 phba->sli4_hba.conf_regs_memmap_p + LPFC_CTL_PDEV_CTL_OFFSET);
6619 if (!phba->sli4_hba.rpi_hdrs_in_use)
6620 phba->sli4_hba.next_rpi = phba->sli4_hba.max_cfg_param.max_rpi;
6621 if (phba->sli4_hba.extents_in_use) {
6627 if (bf_get(lpfc_idx_rsrc_rdy, &phba->sli4_hba.sli4_flags) ==
6690 bf_set(lpfc_idx_rsrc_rdy, &phba->sli4_hba.sli4_flags,
6701 if (bf_get(lpfc_idx_rsrc_rdy, &phba->sli4_hba.sli4_flags) ==
6707 count = phba->sli4_hba.max_cfg_param.max_rpi;
6715 base = phba->sli4_hba.max_cfg_param.rpi_base;
6717 phba->sli4_hba.rpi_bmask = kcalloc(longs,
6720 if (unlikely(!phba->sli4_hba.rpi_bmask)) {
6724 phba->sli4_hba.rpi_ids = kcalloc(count, sizeof(uint16_t),
6726 if (unlikely(!phba->sli4_hba.rpi_ids)) {
6732 phba->sli4_hba.rpi_ids[i] = base + i;
6735 count = phba->sli4_hba.max_cfg_param.max_vpi;
6743 base = phba->sli4_hba.max_cfg_param.vpi_base;
6762 count = phba->sli4_hba.max_cfg_param.max_xri;
6770 base = phba->sli4_hba.max_cfg_param.xri_base;
6772 phba->sli4_hba.xri_bmask = kcalloc(longs,
6775 if (unlikely(!phba->sli4_hba.xri_bmask)) {
6779 phba->sli4_hba.max_cfg_param.xri_used = 0;
6780 phba->sli4_hba.xri_ids = kcalloc(count, sizeof(uint16_t),
6782 if (unlikely(!phba->sli4_hba.xri_ids)) {
6788 phba->sli4_hba.xri_ids[i] = base + i;
6791 count = phba->sli4_hba.max_cfg_param.max_vfi;
6799 base = phba->sli4_hba.max_cfg_param.vfi_base;
6801 phba->sli4_hba.vfi_bmask = kcalloc(longs,
6804 if (unlikely(!phba->sli4_hba.vfi_bmask)) {
6808 phba->sli4_hba.vfi_ids = kcalloc(count, sizeof(uint16_t),
6810 if (unlikely(!phba->sli4_hba.vfi_ids)) {
6816 phba->sli4_hba.vfi_ids[i] = base + i;
6822 bf_set(lpfc_idx_rsrc_rdy, &phba->sli4_hba.sli4_flags,
6828 kfree(phba->sli4_hba.vfi_bmask);
6829 phba->sli4_hba.vfi_bmask = NULL;
6831 kfree(phba->sli4_hba.xri_ids);
6832 phba->sli4_hba.xri_ids = NULL;
6834 kfree(phba->sli4_hba.xri_bmask);
6835 phba->sli4_hba.xri_bmask = NULL;
6843 kfree(phba->sli4_hba.rpi_ids);
6844 phba->sli4_hba.rpi_ids = NULL;
6846 kfree(phba->sli4_hba.rpi_bmask);
6847 phba->sli4_hba.rpi_bmask = NULL;
6862 if (phba->sli4_hba.extents_in_use) {
6869 phba->sli4_hba.max_cfg_param.vpi_used = 0;
6871 bf_set(lpfc_vpi_rsrc_rdy, &phba->sli4_hba.sli4_flags, 0);
6872 kfree(phba->sli4_hba.xri_bmask);
6873 kfree(phba->sli4_hba.xri_ids);
6874 kfree(phba->sli4_hba.vfi_bmask);
6875 kfree(phba->sli4_hba.vfi_ids);
6876 bf_set(lpfc_vfi_rsrc_rdy, &phba->sli4_hba.sli4_flags, 0);
6877 bf_set(lpfc_idx_rsrc_rdy, &phba->sli4_hba.sli4_flags, 0);
6915 blk_list_head = &phba->sli4_hba.lpfc_xri_blk_list;
6918 blk_list_head = &phba->sli4_hba.lpfc_vfi_blk_list;
6921 blk_list_head = &phba->sli4_hba.lpfc_rpi_blk_list;
6984 if (!phba->sli4_hba.intr_enable)
7061 spin_lock(&phba->sli4_hba.sgl_list_lock);
7063 spin_unlock(&phba->sli4_hba.sgl_list_lock);
7163 spin_lock(&phba->sli4_hba.sgl_list_lock);
7165 spin_unlock(&phba->sli4_hba.sgl_list_lock);
7201 phba, &post_nblist, phba->sli4_hba.io_xri_cnt);
7310 hdwq = &phba->sli4_hba.hdwq[phba->sli4_hba.cpu_map[i].hdwq];
7317 idle_stat = &phba->sli4_hba.idle_stat[i];
7337 if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf);
7342 if (lpfc_readl(phba->sli4_hba.u.if_type2.STATUSregaddr,
7501 if ((bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) ==
7532 if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) ==
7540 phba->sli4_hba.ue_to_sr = bf_get(
7543 phba->sli4_hba.ue_to_rp = bf_get(
7726 rc = lpfc_sli4_repost_sgl_list(phba, &phba->sli4_hba.lpfc_els_sgl_list,
7727 phba->sli4_hba.els_xri_cnt);
7735 phba->sli4_hba.els_xri_cnt = rc;
7750 &phba->sli4_hba.lpfc_nvmet_sgl_list,
7751 phba->sli4_hba.nvmet_xri_cnt);
7759 phba->sli4_hba.nvmet_xri_cnt = rc;
7764 cnt = phba->sli4_hba.nvmet_xri_cnt +
7765 phba->sli4_hba.max_cfg_param.max_xri;
7790 cnt = phba->sli4_hba.max_cfg_param.max_xri;
7812 rqbp = phba->sli4_hba.nvmet_mrq_hdr[i]->rqbp;
7820 phba, phba->sli4_hba.nvmet_mrq_hdr[i],
7821 phba->sli4_hba.nvmet_mrq_data[i],
7879 if (phba->sli4_hba.io_xri_cnt == 0) {
7881 phba, phba->sli4_hba.io_xri_max);
7955 if (bf_get(lpfc_conf_trunk_port0, &phba->sli4_hba))
7957 if (bf_get(lpfc_conf_trunk_port1, &phba->sli4_hba))
7959 if (bf_get(lpfc_conf_trunk_port2, &phba->sli4_hba))
7961 if (bf_get(lpfc_conf_trunk_port3, &phba->sli4_hba))
7969 phba->sli4_hba.intr_enable = 1;
8063 mcq = phba->sli4_hba.mbx_cq;
8079 if (phba->sli4_hba.pc_sli4_params.cqav && !idx)
8100 struct lpfc_sli4_hba *sli4_hba = &phba->sli4_hba;
8110 if (sli4_hba->hdwq) {
8112 eq = phba->sli4_hba.hba_eq_hdl[eqidx].eq;
8113 if (eq && eq->queue_id == sli4_hba->mbx_cq->assoc_qid) {
8124 sli4_hba->sli4_eq_clr_intr(fpeq);
8142 sli4_hba->sli4_write_eq_db(phba, fpeq, 0, LPFC_QUEUE_REARM);
8746 bmbx_reg.word0 = readl(phba->sli4_hba.BMBXregaddr);
8818 memset(phba->sli4_hba.bmbx.avirt, 0, sizeof(struct lpfc_bmbx_create));
8819 lpfc_sli4_pcimem_bcopy(mb, phba->sli4_hba.bmbx.avirt,
8823 dma_address = &phba->sli4_hba.bmbx.dma_address;
8824 writel(dma_address->addr_hi, phba->sli4_hba.BMBXregaddr);
8832 writel(dma_address->addr_lo, phba->sli4_hba.BMBXregaddr);
8844 lpfc_sli4_pcimem_bcopy(phba->sli4_hba.bmbx.avirt, mb,
8846 mbox_rgn = (struct lpfc_bmbx_create *) phba->sli4_hba.bmbx.avirt;
8926 if (!phba->sli4_hba.intr_enable) {
9044 if (unlikely(!phba->sli4_hba.intr_enable))
9118 rc = lpfc_sli4_mq_put(phba->sli4_hba.mbx_wq, mqe);
9619 &phba->sli4_hba.sli_intf);
9641 phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]);
9645 phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]);
9928 &phba->sli4_hba.sli_intf);
9955 phba->sli4_hba.rpi_ids[ndlp->nlp_rpi]);
10130 wq = phba->sli4_hba.hdwq[piocb->hba_wqidx].io_wq;
10132 wq = phba->sli4_hba.els_wq;
10267 if (unlikely(!phba->sli4_hba.hdwq))
10277 return phba->sli4_hba.hdwq[piocb->hba_wqidx].io_wq->pring;
10279 if (unlikely(!phba->sli4_hba.els_wq))
10282 return phba->sli4_hba.els_wq->pring;
10309 eq = phba->sli4_hba.hdwq[piocb->hba_wqidx].hba_eq;
10476 ndlp->vport->vpi, phba->sli4_hba.rpi_ids[ndlp->nlp_rpi],
10582 pring = phba->sli4_hba.els_wq->pring;
10759 pring = phba->sli4_hba.hdwq[i].io_wq->pring;
10768 pring = phba->sli4_hba.els_wq->pring;
10778 pring = phba->sli4_hba.nvmels_wq->pring;
10948 list_for_each_entry(qp, &phba->sli4_hba.lpfc_wq_list, wq_list) {
10952 if (pring == phba->sli4_hba.els_wq->pring) {
11037 list_for_each_entry(qp, &phba->sli4_hba.lpfc_wq_list, wq_list) {
11044 if (pring == phba->sli4_hba.els_wq->pring) {
11563 list_for_each_entry(qp, &phba->sli4_hba.lpfc_wq_list, wq_list) {
11878 phba->sli4_hba.hdwq[iocbq->hba_wqidx].io_wq->pring;
12422 if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf);
12425 if (lpfc_readl(phba->sli4_hba.u.if_type0.UERRLOregaddr,
12427 lpfc_readl(phba->sli4_hba.u.if_type0.UERRHIregaddr,
12434 if ((~phba->sli4_hba.ue_mask_lo & uerr_sta_lo) ||
12435 (~phba->sli4_hba.ue_mask_hi & uerr_sta_hi)) {
12442 phba->sli4_hba.ue_mask_lo,
12443 phba->sli4_hba.ue_mask_hi);
12453 if (lpfc_readl(phba->sli4_hba.u.if_type2.STATUSregaddr,
12455 lpfc_readl(phba->sli4_hba.PSMPHRregaddr,
12464 readl(phba->sli4_hba.u.if_type2.ERR1regaddr);
12466 readl(phba->sli4_hba.u.if_type2.ERR2regaddr);
13118 spin_lock_irqsave(&phba->sli4_hba.els_xri_abrt_list_lock, iflags);
13119 while (!list_empty(&phba->sli4_hba.sp_els_xri_aborted_work_queue)) {
13121 list_remove_head(&phba->sli4_hba.sp_els_xri_aborted_work_queue,
13123 spin_unlock_irqrestore(&phba->sli4_hba.els_xri_abrt_list_lock,
13130 spin_lock_irqsave(&phba->sli4_hba.els_xri_abrt_list_lock,
13133 spin_unlock_irqrestore(&phba->sli4_hba.els_xri_abrt_list_lock, iflags);
13345 spin_lock_irqsave(&phba->sli4_hba.asynce_list_lock, iflags);
13346 list_add_tail(&cq_event->list, &phba->sli4_hba.sp_asynce_work_queue);
13347 spin_unlock_irqrestore(&phba->sli4_hba.asynce_list_lock, iflags);
13464 lpfc_sli4_mq_release(phba->sli4_hba.mbx_wq);
13473 lpfc_sli4_mq_release(phba->sli4_hba.mbx_wq);
13560 &phba->sli4_hba.sp_queue_event);
13580 if (unlikely(!phba->sli4_hba.els_wq))
13583 if (bf_get(lpfc_wcqe_r_wq_id, wcqe) == phba->sli4_hba.els_wq->queue_id)
13584 lpfc_sli4_wq_release(phba->sli4_hba.els_wq,
13591 phba->sli4_hba.els_wq->queue_id);
13631 spin_lock_irqsave(&phba->sli4_hba.els_xri_abrt_list_lock,
13634 &phba->sli4_hba.sp_els_xri_aborted_work_queue);
13637 spin_unlock_irqrestore(&phba->sli4_hba.els_xri_abrt_list_lock,
13669 struct lpfc_queue *hrq = phba->sli4_hba.hdr_rq;
13670 struct lpfc_queue *drq = phba->sli4_hba.dat_rq;
13722 &phba->sli4_hba.sp_queue_event);
13915 phba->sli4_hba.sli4_write_cq_db(phba, cq, consumed,
13950 phba->sli4_hba.sli4_write_cq_db(phba, cq, consumed,
14199 (phba->sli4_hba.nvmet_cqset == NULL))
14202 idx = cq->queue_id - phba->sli4_hba.nvmet_cqset[0]->queue_id;
14203 hrq = phba->sli4_hba.nvmet_mrq_hdr[idx];
14204 drq = phba->sli4_hba.nvmet_mrq_data[idx];
14416 if (cqid <= phba->sli4_hba.cq_max) {
14417 cq = phba->sli4_hba.cq_lookup[cqid];
14423 if (phba->cfg_nvmet_mrq && phba->sli4_hba.nvmet_cqset) {
14424 id = phba->sli4_hba.nvmet_cqset[0]->queue_id;
14427 cq = phba->sli4_hba.nvmet_cqset[cqid - id];
14432 if (phba->sli4_hba.nvmels_cq &&
14433 (cqid == phba->sli4_hba.nvmels_cq->queue_id)) {
14435 cq = phba->sli4_hba.nvmels_cq;
14441 phba->sli4_hba.hdwq[qidx].hba_eq);
14586 if (unlikely(!phba->sli4_hba.hdwq))
14590 fpeq = phba->sli4_hba.hba_eq_hdl[hba_eqidx].eq;
14605 eqi = this_cpu_ptr(phba->sli4_hba.eq_info);
14670 &phba->sli4_hba.hba_eq_hdl[qidx]);
14814 phba->sli4_hba.sli4_write_eq_db(phba, eq, 0, LPFC_QUEUE_REARM);
14873 uint32_t hw_page_size = phba->sli4_hba.pc_sli4_params.if_page_sz;
14876 if (!phba->sli4_hba.pc_sli4_params.supported)
14882 if (pgcnt > phba->sli4_hba.pc_sli4_params.wqpcnt)
14883 pgcnt = phba->sli4_hba.pc_sli4_params.wqpcnt;
15016 eq = phba->sli4_hba.hba_eq_hdl[qidx].eq;
15052 eq = phba->sli4_hba.hba_eq_hdl[qidx].eq;
15113 uint32_t hw_page_size = phba->sli4_hba.pc_sli4_params.if_page_sz;
15118 if (!phba->sli4_hba.pc_sli4_params.supported)
15138 if (phba->sli4_hba.pc_sli4_params.eqav) {
15142 phba->sli4_hba.pc_sli4_params.eqav);
15276 phba->sli4_hba.pc_sli4_params.cqv);
15277 if (phba->sli4_hba.pc_sli4_params.cqv == LPFC_Q_CREATE_VERSION_2) {
15283 phba->sli4_hba.pc_sli4_params.cqav);
15291 if (phba->sli4_hba.pc_sli4_params.cqv ==
15362 if (cq->queue_id > phba->sli4_hba.cq_max)
15363 phba->sli4_hba.cq_max = cq->queue_id;
15409 uint32_t hw_page_size = phba->sli4_hba.pc_sli4_params.if_page_sz;
15445 if (!phba->sli4_hba.pc_sli4_params.supported)
15465 phba->sli4_hba.pc_sli4_params.cqav);
15469 if (phba->sli4_hba.pc_sli4_params.cqv ==
15615 if (cq->queue_id > phba->sli4_hba.cq_max)
15616 phba->sli4_hba.cq_max = cq->queue_id;
15715 uint32_t hw_page_size = phba->sli4_hba.pc_sli4_params.if_page_sz;
15720 if (!phba->sli4_hba.pc_sli4_params.supported)
15748 phba->sli4_hba.pc_sli4_params.mqv);
15749 if (phba->sli4_hba.pc_sli4_params.mqv == LPFC_Q_CREATE_VERSION_1)
15869 uint32_t hw_page_size = phba->sli4_hba.pc_sli4_params.if_page_sz;
15884 if (!phba->sli4_hba.pc_sli4_params.supported)
15904 phba->sli4_hba.pc_sli4_params.wqv);
15906 if ((phba->sli4_hba.pc_sli4_params.wqsize & LPFC_WQ_SZ128_SUPPORT) ||
15913 if (phba->sli4_hba.pc_sli4_params.wqsize & LPFC_WQ_SZ128_SUPPORT)
15956 if (phba->sli4_hba.fw_func_mode & LPFC_DUA_MODE)
15986 if (phba->sli4_hba.fw_func_mode & LPFC_DUA_MODE) {
16026 wq->db_regaddr = phba->sli4_hba.WQDBregaddr;
16084 wq->db_regaddr = phba->sli4_hba.WQDBregaddr;
16139 uint32_t hw_page_size = phba->sli4_hba.pc_sli4_params.if_page_sz;
16147 if (!phba->sli4_hba.pc_sli4_params.supported)
16163 phba->sli4_hba.pc_sli4_params.rqv);
16164 if (phba->sli4_hba.pc_sli4_params.rqv == LPFC_Q_CREATE_VERSION_1) {
16221 if (phba->sli4_hba.fw_func_mode & LPFC_DUA_MODE)
16242 if (phba->sli4_hba.fw_func_mode & LPFC_DUA_MODE) {
16284 hrq->db_regaddr = phba->sli4_hba.RQDBregaddr;
16298 phba->sli4_hba.pc_sli4_params.rqv);
16299 if (phba->sli4_hba.pc_sli4_params.rqv == LPFC_Q_CREATE_VERSION_1) {
16363 if (phba->sli4_hba.fw_func_mode & LPFC_DUA_MODE)
16432 uint32_t hw_page_size = phba->sli4_hba.pc_sli4_params.if_page_sz;
16438 if (!phba->sli4_hba.pc_sli4_params.supported)
16537 hrq->db_regaddr = phba->sli4_hba.RQDBregaddr;
16546 drq->db_regaddr = phba->sli4_hba.RQDBregaddr;
16949 if (!phba->sli4_hba.intr_enable)
16959 if (!phba->sli4_hba.intr_enable)
16995 xri = find_next_zero_bit(phba->sli4_hba.xri_bmask,
16996 phba->sli4_hba.max_cfg_param.max_xri, 0);
16997 if (xri >= phba->sli4_hba.max_cfg_param.max_xri) {
17001 set_bit(xri, phba->sli4_hba.xri_bmask);
17002 phba->sli4_hba.max_cfg_param.xri_used++;
17019 if (test_and_clear_bit(xri, phba->sli4_hba.xri_bmask)) {
17020 phba->sli4_hba.max_cfg_param.xri_used--;
17061 phba->sli4_hba.max_cfg_param.max_xri,
17062 phba->sli4_hba.max_cfg_param.xri_used);
17149 if (!phba->sli4_hba.intr_enable)
17158 if (!phba->sli4_hba.intr_enable)
17264 if (!phba->sli4_hba.intr_enable) {
17273 if (!phba->sli4_hba.intr_enable)
17884 for (i = 0; i < phba->sli4_hba.max_cfg_param.max_xri; i++) {
17885 if (xri == phba->sli4_hba.xri_ids[i])
17961 icmd->ulpContext = phba->sli4_hba.rpi_ids[ndlp->nlp_rpi];
18285 phba->sli4_hba.els_wq->pring,
18340 &phba->sli4_hba.sp_queue_event);
18542 if (!phba->sli4_hba.rpi_hdrs_in_use)
18544 if (phba->sli4_hba.extents_in_use)
18547 list_for_each_entry(rpi_page, &phba->sli4_hba.lpfc_rpi_hdr_list, list) {
18553 if (bf_get(lpfc_rpi_rsrc_rdy, &phba->sli4_hba.sli4_flags) !=
18555 rpi_page->start_rpi = phba->sli4_hba.rpi_ids[lrpi];
18568 bf_set(lpfc_rpi_rsrc_rdy, &phba->sli4_hba.sli4_flags,
18597 if (!phba->sli4_hba.rpi_hdrs_in_use)
18599 if (phba->sli4_hba.extents_in_use)
18645 phba->sli4_hba.next_rpi = rpi_page->next_rpi;
18678 max_rpi = phba->sli4_hba.max_cfg_param.max_rpi;
18679 rpi_limit = phba->sli4_hba.next_rpi;
18681 rpi = find_next_zero_bit(phba->sli4_hba.rpi_bmask, rpi_limit, 0);
18685 set_bit(rpi, phba->sli4_hba.rpi_bmask);
18686 phba->sli4_hba.max_cfg_param.rpi_used++;
18687 phba->sli4_hba.rpi_count++;
18699 (phba->sli4_hba.rpi_count >= max_rpi)) {
18708 if (!phba->sli4_hba.rpi_hdrs_in_use) {
18719 rpi_remaining = phba->sli4_hba.next_rpi - phba->sli4_hba.rpi_count;
18729 rpi_hdr->start_rpi = phba->sli4_hba.rpi_ids[lrpi];
18755 if (test_and_clear_bit(rpi, phba->sli4_hba.rpi_bmask)) {
18756 phba->sli4_hba.rpi_count--;
18757 phba->sli4_hba.max_cfg_param.rpi_used--;
18792 kfree(phba->sli4_hba.rpi_bmask);
18793 kfree(phba->sli4_hba.rpi_ids);
18794 bf_set(lpfc_rpi_rsrc_rdy, &phba->sli4_hba.sli4_flags, 0);
19683 &phba->sli4_hba.sli_intf);
19826 if (!phba->sli4_hba.intr_enable)
19876 if (!phba->sli4_hba.intr_enable)
20031 wq = phba->sli4_hba.hdwq[0].io_wq;
20036 wq = phba->sli4_hba.els_wq;
20253 pring = phba->sli4_hba.nvmels_wq->pring;
20269 ret = lpfc_sli4_wq_put(phba->sli4_hba.nvmels_wq, wqe);
20359 qp = &phba->sli4_hba.hdwq[hwqid];
20392 multixri_pool = phba->sli4_hba.hdwq[hwqid].p_multixri_pool;
20428 qp = &phba->sli4_hba.hdwq[hwqid];
20473 qp = &phba->sli4_hba.hdwq[hwqid];
20593 qp = &phba->sli4_hba.hdwq[hwqid];
20617 phba->sli4_hba.hdwq[next_hwqid].p_multixri_pool;
20658 multixri_pool = phba->sli4_hba.hdwq[hwqid].p_multixri_pool;
20874 qp = &phba->sli4_hba.hdwq[hwqid];
20906 qp = &phba->sli4_hba.hdwq[idx];
20951 qp = &phba->sli4_hba.hdwq[hwqid];