• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/scsi/lpfc/

Lines Matching refs:sli4_hba

850 	spin_lock(&phba->sli4_hba.abts_sgl_list_lock);
852 &phba->sli4_hba.lpfc_abts_els_sgl_list, list)
855 list_splice_init(&phba->sli4_hba.lpfc_abts_els_sgl_list,
856 &phba->sli4_hba.lpfc_sgl_list);
857 spin_unlock(&phba->sli4_hba.abts_sgl_list_lock);
861 spin_lock(&phba->sli4_hba.abts_scsi_buf_list_lock);
862 list_splice_init(&phba->sli4_hba.lpfc_abts_scsi_buf_list,
864 spin_unlock(&phba->sli4_hba.abts_scsi_buf_list_lock);
2622 phba->sli4_hba.pc_sli4_params.sge_supp_len-1;
2869 phba->sli4_hba.intr_enable = 0;
2923 if (!phba->sli4_hba.intr_enable)
3240 phba->sli4_hba.link_state.speed =
3242 phba->sli4_hba.link_state.duplex =
3244 phba->sli4_hba.link_state.status =
3246 phba->sli4_hba.link_state.physical =
3248 phba->sli4_hba.link_state.fault =
3250 phba->sli4_hba.link_state.logical_speed =
3620 prev_ll_spd = phba->sli4_hba.link_state.logical_speed;
3621 phba->sli4_hba.link_state.logical_speed =
3626 (phba->sli4_hba.link_state.logical_speed*10));
3645 while (!list_empty(&phba->sli4_hba.sp_asynce_work_queue)) {
3648 list_remove_head(&phba->sli4_hba.sp_asynce_work_queue,
4071 if ((bf_get(lpfc_sli_intf_featurelevel1, &phba->sli4_hba.sli_intf) ==
4099 spin_lock_init(&phba->sli4_hba.abts_scsi_buf_list_lock);
4100 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_abts_scsi_buf_list);
4102 spin_lock_init(&phba->sli4_hba.abts_sgl_list_lock);
4109 INIT_LIST_HEAD(&phba->sli4_hba.sp_cqe_event_pool);
4111 INIT_LIST_HEAD(&phba->sli4_hba.sp_queue_event);
4113 INIT_LIST_HEAD(&phba->sli4_hba.sp_asynce_work_queue);
4115 INIT_LIST_HEAD(&phba->sli4_hba.sp_fcp_xri_aborted_work_queue);
4117 INIT_LIST_HEAD(&phba->sli4_hba.sp_els_xri_aborted_work_queue);
4119 INIT_LIST_HEAD(&phba->sli4_hba.sp_unsol_work_queue);
4176 phba->sli4_hba.pc_sli4_params.supported = 1;
4184 if (phba->sli4_hba.pc_sli4_params.supported)
4233 phba->sli4_hba.fcp_eq_hdl = kzalloc((sizeof(struct lpfc_fcp_eq_hdl) *
4235 if (!phba->sli4_hba.fcp_eq_hdl) {
4242 phba->sli4_hba.msix_entries = kzalloc((sizeof(struct msix_entry) *
4243 phba->sli4_hba.cfg_eqn), GFP_KERNEL);
4244 if (!phba->sli4_hba.msix_entries) {
4254 kfree(phba->sli4_hba.fcp_eq_hdl);
4293 kfree(phba->sli4_hba.msix_entries);
4296 kfree(phba->sli4_hba.fcp_eq_hdl);
4310 kfree(phba->sli4_hba.lpfc_scsi_psb_array);
4551 list_splice_init(&phba->sli4_hba.lpfc_sgl_list, &sglq_list);
4559 phba->sli4_hba.total_sglq_bufs--;
4566 kfree(phba->sli4_hba.lpfc_els_sgl_array);
4581 size *= phba->sli4_hba.max_cfg_param.max_xri;
4583 phba->sli4_hba.lpfc_sglq_active_list =
4585 if (!phba->sli4_hba.lpfc_sglq_active_list)
4601 kfree(phba->sli4_hba.lpfc_sglq_active_list);
4627 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_sgl_list);
4628 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_abts_els_sgl_list);
4631 if (phba->sli4_hba.max_cfg_param.max_xri <= els_xri_cnt) {
4635 phba->sli4_hba.max_cfg_param.max_xri,
4641 phba->sli4_hba.lpfc_els_sgl_array =
4645 if (!phba->sli4_hba.lpfc_els_sgl_array) {
4654 phba->sli4_hba.scsi_xri_max =
4655 phba->sli4_hba.max_cfg_param.max_xri - els_xri_cnt;
4656 phba->sli4_hba.scsi_xri_cnt = 0;
4658 phba->sli4_hba.lpfc_scsi_psb_array =
4660 phba->sli4_hba.scsi_xri_max), GFP_KERNEL);
4662 if (!phba->sli4_hba.lpfc_scsi_psb_array) {
4666 phba->sli4_hba.scsi_xri_max);
4667 kfree(phba->sli4_hba.lpfc_els_sgl_array);
4701 list_add_tail(&sglq_entry->list, &phba->sli4_hba.lpfc_sgl_list);
4702 phba->sli4_hba.lpfc_els_sgl_array[i] = sglq_entry;
4703 phba->sli4_hba.total_sglq_bufs++;
4709 kfree(phba->sli4_hba.lpfc_scsi_psb_array);
4739 INIT_LIST_HEAD(&phba->sli4_hba.lpfc_rpi_hdr_list);
4745 rpi_count = phba->sli4_hba.max_cfg_param.rpi_base +
4746 phba->sli4_hba.max_cfg_param.max_rpi - 1;
4749 phba->sli4_hba.rpi_bmask = kzalloc(longs * sizeof(unsigned long),
4751 if (!phba->sli4_hba.rpi_bmask)
4785 rpi_limit = phba->sli4_hba.max_cfg_param.rpi_base +
4786 phba->sli4_hba.max_cfg_param.max_rpi - 1;
4789 curr_rpi_range = phba->sli4_hba.next_rpi;
4832 rpi_hdr->start_rpi = phba->sli4_hba.next_rpi;
4833 list_add_tail(&rpi_hdr->list, &phba->sli4_hba.lpfc_rpi_hdr_list);
4839 phba->sli4_hba.next_rpi += LPFC_RPI_HDR_COUNT;
4866 &phba->sli4_hba.lpfc_rpi_hdr_list, list) {
4874 phba->sli4_hba.next_rpi = phba->sli4_hba.max_cfg_param.rpi_base;
4875 memset(phba->sli4_hba.rpi_bmask, 0, sizeof(*phba->sli4_hba.rpi_bmask));
5268 if (!phba->sli4_hba.STAregaddr)
5273 sta_reg.word0 = readl(phba->sli4_hba.STAregaddr);
5301 phba->sli4_hba.sli_intf.word0 = readl(phba->sli4_hba.SLIINTFregaddr);
5303 &phba->sli4_hba.sli_intf) == LPFC_SLI_INTF_VALID) {
5308 &phba->sli4_hba.sli_intf),
5310 &phba->sli4_hba.sli_intf),
5312 &phba->sli4_hba.sli_intf),
5314 &phba->sli4_hba.sli_intf));
5316 phba->sli4_hba.ue_mask_lo = readl(phba->sli4_hba.UEMASKLOregaddr);
5317 phba->sli4_hba.ue_mask_hi = readl(phba->sli4_hba.UEMASKHIregaddr);
5319 uerrlo_reg.word0 = readl(phba->sli4_hba.UERRLOregaddr);
5320 uerrhi_reg.word0 = readl(phba->sli4_hba.UERRHIregaddr);
5321 if ((~phba->sli4_hba.ue_mask_lo & uerrlo_reg.word0) ||
5322 (~phba->sli4_hba.ue_mask_hi & uerrhi_reg.word0)) {
5328 phba->sli4_hba.ue_mask_lo,
5329 phba->sli4_hba.ue_mask_hi);
5346 phba->sli4_hba.UERRLOregaddr = phba->sli4_hba.conf_regs_memmap_p +
5348 phba->sli4_hba.UERRHIregaddr = phba->sli4_hba.conf_regs_memmap_p +
5350 phba->sli4_hba.UEMASKLOregaddr = phba->sli4_hba.conf_regs_memmap_p +
5352 phba->sli4_hba.UEMASKHIregaddr = phba->sli4_hba.conf_regs_memmap_p +
5354 phba->sli4_hba.SLIINTFregaddr = phba->sli4_hba.conf_regs_memmap_p +
5369 phba->sli4_hba.STAregaddr = phba->sli4_hba.ctrl_regs_memmap_p +
5371 phba->sli4_hba.ISRregaddr = phba->sli4_hba.ctrl_regs_memmap_p +
5373 phba->sli4_hba.IMRregaddr = phba->sli4_hba.ctrl_regs_memmap_p +
5375 phba->sli4_hba.ISCRregaddr = phba->sli4_hba.ctrl_regs_memmap_p +
5396 phba->sli4_hba.RQDBregaddr = (phba->sli4_hba.drbl_regs_memmap_p +
5398 phba->sli4_hba.WQDBregaddr = (phba->sli4_hba.drbl_regs_memmap_p +
5400 phba->sli4_hba.EQCQDBregaddr = (phba->sli4_hba.drbl_regs_memmap_p +
5402 phba->sli4_hba.MQDBregaddr = (phba->sli4_hba.drbl_regs_memmap_p +
5404 phba->sli4_hba.BMBXregaddr = (phba->sli4_hba.drbl_regs_memmap_p +
5459 phba->sli4_hba.bmbx.dmabuf = dmabuf;
5460 phba->sli4_hba.bmbx.bmbx_size = bmbx_size;
5462 phba->sli4_hba.bmbx.avirt = PTR_ALIGN(dmabuf->virt,
5464 phba->sli4_hba.bmbx.aphys = ALIGN(dmabuf->phys,
5475 dma_address = &phba->sli4_hba.bmbx.dma_address;
5476 phys_addr = (uint64_t)phba->sli4_hba.bmbx.aphys;
5481 pa_addr = (uint32_t) ((phba->sli4_hba.bmbx.aphys >> 4) & 0x3fffffff);
5502 phba->sli4_hba.bmbx.bmbx_size,
5503 phba->sli4_hba.bmbx.dmabuf->virt,
5504 phba->sli4_hba.bmbx.dmabuf->phys);
5506 kfree(phba->sli4_hba.bmbx.dmabuf);
5507 memset(&phba->sli4_hba.bmbx, 0, sizeof(struct lpfc_bmbx));
5551 phba->sli4_hba.max_cfg_param.max_xri =
5553 phba->sli4_hba.max_cfg_param.xri_base =
5555 phba->sli4_hba.max_cfg_param.max_vpi =
5557 phba->sli4_hba.max_cfg_param.vpi_base =
5559 phba->sli4_hba.max_cfg_param.max_rpi =
5561 phba->sli4_hba.max_cfg_param.rpi_base =
5563 phba->sli4_hba.max_cfg_param.max_vfi =
5565 phba->sli4_hba.max_cfg_param.vfi_base =
5567 phba->sli4_hba.max_cfg_param.max_fcfi =
5569 phba->sli4_hba.max_cfg_param.fcfi_base =
5571 phba->sli4_hba.max_cfg_param.max_eq =
5573 phba->sli4_hba.max_cfg_param.max_rq =
5575 phba->sli4_hba.max_cfg_param.max_wq =
5577 phba->sli4_hba.max_cfg_param.max_cq =
5580 phba->sli4_hba.next_xri = phba->sli4_hba.max_cfg_param.xri_base;
5581 phba->vpi_base = phba->sli4_hba.max_cfg_param.vpi_base;
5582 phba->vfi_base = phba->sli4_hba.max_cfg_param.vfi_base;
5583 phba->sli4_hba.next_rpi = phba->sli4_hba.max_cfg_param.rpi_base;
5584 phba->max_vpi = (phba->sli4_hba.max_cfg_param.max_vpi > 0) ?
5585 (phba->sli4_hba.max_cfg_param.max_vpi - 1) : 0;
5593 phba->sli4_hba.max_cfg_param.xri_base,
5594 phba->sli4_hba.max_cfg_param.max_xri,
5595 phba->sli4_hba.max_cfg_param.vpi_base,
5596 phba->sli4_hba.max_cfg_param.max_vpi,
5597 phba->sli4_hba.max_cfg_param.vfi_base,
5598 phba->sli4_hba.max_cfg_param.max_vfi,
5599 phba->sli4_hba.max_cfg_param.rpi_base,
5600 phba->sli4_hba.max_cfg_param.max_rpi,
5601 phba->sli4_hba.max_cfg_param.fcfi_base,
5602 phba->sli4_hba.max_cfg_param.max_fcfi);
5608 (phba->sli4_hba.max_cfg_param.max_xri -
5611 phba->sli4_hba.max_cfg_param.max_xri -
5693 (phba->sli4_hba.max_cfg_param.max_wq - LPFC_SP_WQN_DEF)) {
5694 cfg_fcp_wq_count = phba->sli4_hba.max_cfg_param.max_wq -
5701 phba->sli4_hba.max_cfg_param.max_wq,
5710 phba->sli4_hba.max_cfg_param.max_wq,
5719 (phba->sli4_hba.max_cfg_param.max_eq - LPFC_SP_EQN_DEF)) {
5720 cfg_fcp_eq_count = phba->sli4_hba.max_cfg_param.max_eq -
5727 phba->sli4_hba.max_cfg_param.max_eq,
5736 phba->sli4_hba.max_cfg_param.max_eq,
5752 phba->sli4_hba.cfg_eqn = phba->cfg_fcp_eq_count + LPFC_SP_EQN_DEF;
5759 phba->sli4_hba.eq_esize = LPFC_EQE_SIZE_4B;
5760 phba->sli4_hba.eq_ecount = LPFC_EQE_DEF_COUNT;
5763 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.eq_esize,
5764 phba->sli4_hba.eq_ecount);
5770 phba->sli4_hba.sp_eq = qdesc;
5773 phba->sli4_hba.fp_eq = kzalloc((sizeof(struct lpfc_queue *) *
5775 if (!phba->sli4_hba.fp_eq) {
5782 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.eq_esize,
5783 phba->sli4_hba.eq_ecount);
5789 phba->sli4_hba.fp_eq[fcp_eqidx] = qdesc;
5797 phba->sli4_hba.cq_esize = LPFC_CQE_SIZE;
5798 phba->sli4_hba.cq_ecount = LPFC_CQE_DEF_COUNT;
5801 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.cq_esize,
5802 phba->sli4_hba.cq_ecount);
5808 phba->sli4_hba.mbx_cq = qdesc;
5811 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.cq_esize,
5812 phba->sli4_hba.cq_ecount);
5818 phba->sli4_hba.els_cq = qdesc;
5822 phba->sli4_hba.fcp_cq = kzalloc((sizeof(struct lpfc_queue *) *
5824 if (!phba->sli4_hba.fcp_cq) {
5831 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.cq_esize,
5832 phba->sli4_hba.cq_ecount);
5839 phba->sli4_hba.fcp_cq[fcp_cqidx] = qdesc;
5843 phba->sli4_hba.mq_esize = LPFC_MQE_SIZE;
5844 phba->sli4_hba.mq_ecount = LPFC_MQE_DEF_COUNT;
5846 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.mq_esize,
5847 phba->sli4_hba.mq_ecount);
5853 phba->sli4_hba.mbx_wq = qdesc;
5858 phba->sli4_hba.wq_esize = LPFC_WQE_SIZE;
5859 phba->sli4_hba.wq_ecount = LPFC_WQE_DEF_COUNT;
5862 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.wq_esize,
5863 phba->sli4_hba.wq_ecount);
5869 phba->sli4_hba.els_wq = qdesc;
5872 phba->sli4_hba.fcp_wq = kzalloc((sizeof(struct lpfc_queue *) *
5874 if (!phba->sli4_hba.fcp_wq) {
5881 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.wq_esize,
5882 phba->sli4_hba.wq_ecount);
5889 phba->sli4_hba.fcp_wq[fcp_wqidx] = qdesc;
5895 phba->sli4_hba.rq_esize = LPFC_RQE_SIZE;
5896 phba->sli4_hba.rq_ecount = LPFC_RQE_DEF_COUNT;
5899 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.rq_esize,
5900 phba->sli4_hba.rq_ecount);
5906 phba->sli4_hba.hdr_rq = qdesc;
5909 qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.rq_esize,
5910 phba->sli4_hba.rq_ecount);
5916 phba->sli4_hba.dat_rq = qdesc;
5921 lpfc_sli4_queue_free(phba->sli4_hba.hdr_rq);
5922 phba->sli4_hba.hdr_rq = NULL;
5925 lpfc_sli4_queue_free(phba->sli4_hba.fcp_wq[fcp_wqidx]);
5926 phba->sli4_hba.fcp_wq[fcp_wqidx] = NULL;
5928 kfree(phba->sli4_hba.fcp_wq);
5930 lpfc_sli4_queue_free(phba->sli4_hba.els_wq);
5931 phba->sli4_hba.els_wq = NULL;
5933 lpfc_sli4_queue_free(phba->sli4_hba.mbx_wq);
5934 phba->sli4_hba.mbx_wq = NULL;
5937 lpfc_sli4_queue_free(phba->sli4_hba.fcp_cq[fcp_cqidx]);
5938 phba->sli4_hba.fcp_cq[fcp_cqidx] = NULL;
5940 kfree(phba->sli4_hba.fcp_cq);
5942 lpfc_sli4_queue_free(phba->sli4_hba.els_cq);
5943 phba->sli4_hba.els_cq = NULL;
5945 lpfc_sli4_queue_free(phba->sli4_hba.mbx_cq);
5946 phba->sli4_hba.mbx_cq = NULL;
5949 lpfc_sli4_queue_free(phba->sli4_hba.fp_eq[fcp_eqidx]);
5950 phba->sli4_hba.fp_eq[fcp_eqidx] = NULL;
5952 kfree(phba->sli4_hba.fp_eq);
5954 lpfc_sli4_queue_free(phba->sli4_hba.sp_eq);
5955 phba->sli4_hba.sp_eq = NULL;
5978 lpfc_sli4_queue_free(phba->sli4_hba.mbx_wq);
5979 phba->sli4_hba.mbx_wq = NULL;
5982 lpfc_sli4_queue_free(phba->sli4_hba.els_wq);
5983 phba->sli4_hba.els_wq = NULL;
5987 lpfc_sli4_queue_free(phba->sli4_hba.fcp_wq[fcp_qidx]);
5988 kfree(phba->sli4_hba.fcp_wq);
5989 phba->sli4_hba.fcp_wq = NULL;
5992 lpfc_sli4_queue_free(phba->sli4_hba.hdr_rq);
5993 phba->sli4_hba.hdr_rq = NULL;
5994 lpfc_sli4_queue_free(phba->sli4_hba.dat_rq);
5995 phba->sli4_hba.dat_rq = NULL;
5998 lpfc_sli4_queue_free(phba->sli4_hba.els_cq);
5999 phba->sli4_hba.els_cq = NULL;
6002 lpfc_sli4_queue_free(phba->sli4_hba.mbx_cq);
6003 phba->sli4_hba.mbx_cq = NULL;
6007 lpfc_sli4_queue_free(phba->sli4_hba.fcp_cq[fcp_qidx]);
6008 kfree(phba->sli4_hba.fcp_cq);
6009 phba->sli4_hba.fcp_cq = NULL;
6013 lpfc_sli4_queue_free(phba->sli4_hba.fp_eq[fcp_qidx]);
6014 kfree(phba->sli4_hba.fp_eq);
6015 phba->sli4_hba.fp_eq = NULL;
6018 lpfc_sli4_queue_free(phba->sli4_hba.sp_eq);
6019 phba->sli4_hba.sp_eq = NULL;
6048 if (!phba->sli4_hba.sp_eq) {
6053 rc = lpfc_eq_create(phba, phba->sli4_hba.sp_eq,
6063 phba->sli4_hba.sp_eq->queue_id);
6067 if (!phba->sli4_hba.fp_eq[fcp_eqidx]) {
6073 rc = lpfc_eq_create(phba, phba->sli4_hba.fp_eq[fcp_eqidx],
6084 phba->sli4_hba.fp_eq[fcp_eqidx]->queue_id);
6092 if (!phba->sli4_hba.mbx_cq) {
6097 rc = lpfc_cq_create(phba, phba->sli4_hba.mbx_cq, phba->sli4_hba.sp_eq,
6107 phba->sli4_hba.mbx_cq->queue_id,
6108 phba->sli4_hba.sp_eq->queue_id);
6111 if (!phba->sli4_hba.els_cq) {
6116 rc = lpfc_cq_create(phba, phba->sli4_hba.els_cq, phba->sli4_hba.sp_eq,
6126 phba->sli4_hba.els_cq->queue_id,
6127 phba->sli4_hba.sp_eq->queue_id);
6131 if (!phba->sli4_hba.fcp_cq[fcp_cqidx]) {
6137 rc = lpfc_cq_create(phba, phba->sli4_hba.fcp_cq[fcp_cqidx],
6138 phba->sli4_hba.fp_eq[fcp_cqidx],
6150 phba->sli4_hba.fcp_cq[fcp_cqidx]->queue_id,
6152 phba->sli4_hba.fp_eq[fcp_cqidx]->queue_id);
6160 if (!phba->sli4_hba.mbx_wq) {
6165 rc = lpfc_mq_create(phba, phba->sli4_hba.mbx_wq,
6166 phba->sli4_hba.mbx_cq, LPFC_MBOX);
6175 phba->sli4_hba.mbx_wq->queue_id,
6176 phba->sli4_hba.mbx_cq->queue_id);
6179 if (!phba->sli4_hba.els_wq) {
6184 rc = lpfc_wq_create(phba, phba->sli4_hba.els_wq,
6185 phba->sli4_hba.els_cq, LPFC_ELS);
6194 phba->sli4_hba.els_wq->queue_id,
6195 phba->sli4_hba.els_cq->queue_id);
6199 if (!phba->sli4_hba.fcp_wq[fcp_wqidx]) {
6205 rc = lpfc_wq_create(phba, phba->sli4_hba.fcp_wq[fcp_wqidx],
6206 phba->sli4_hba.fcp_cq[fcp_cq_index],
6218 phba->sli4_hba.fcp_wq[fcp_wqidx]->queue_id,
6220 phba->sli4_hba.fcp_cq[fcp_cq_index]->queue_id);
6228 if (!phba->sli4_hba.hdr_rq || !phba->sli4_hba.dat_rq) {
6233 rc = lpfc_rq_create(phba, phba->sli4_hba.hdr_rq, phba->sli4_hba.dat_rq,
6234 phba->sli4_hba.els_cq, LPFC_USOL);
6244 phba->sli4_hba.hdr_rq->queue_id,
6245 phba->sli4_hba.dat_rq->queue_id,
6246 phba->sli4_hba.els_cq->queue_id);
6251 lpfc_wq_destroy(phba, phba->sli4_hba.fcp_wq[fcp_wqidx]);
6252 lpfc_wq_destroy(phba, phba->sli4_hba.els_wq);
6254 lpfc_mq_destroy(phba, phba->sli4_hba.mbx_wq);
6257 lpfc_cq_destroy(phba, phba->sli4_hba.fcp_cq[fcp_cqidx]);
6258 lpfc_cq_destroy(phba, phba->sli4_hba.els_cq);
6260 lpfc_cq_destroy(phba, phba->sli4_hba.mbx_cq);
6263 lpfc_eq_destroy(phba, phba->sli4_hba.fp_eq[fcp_eqidx]);
6264 lpfc_eq_destroy(phba, phba->sli4_hba.sp_eq);
6287 lpfc_mq_destroy(phba, phba->sli4_hba.mbx_wq);
6289 lpfc_wq_destroy(phba, phba->sli4_hba.els_wq);
6291 lpfc_rq_destroy(phba, phba->sli4_hba.hdr_rq, phba->sli4_hba.dat_rq);
6294 lpfc_wq_destroy(phba, phba->sli4_hba.fcp_wq[fcp_qidx]);
6296 lpfc_cq_destroy(phba, phba->sli4_hba.mbx_cq);
6298 lpfc_cq_destroy(phba, phba->sli4_hba.els_cq);
6301 lpfc_cq_destroy(phba, phba->sli4_hba.fcp_cq[fcp_qidx]);
6304 lpfc_eq_destroy(phba, phba->sli4_hba.fp_eq[fcp_qidx]);
6306 lpfc_eq_destroy(phba, phba->sli4_hba.sp_eq);
6331 for (i = 0; i < (4 * phba->sli4_hba.cq_ecount); i++) {
6336 &phba->sli4_hba.sp_cqe_event_pool);
6361 &phba->sli4_hba.sp_cqe_event_pool, list) {
6382 list_remove_head(&phba->sli4_hba.sp_cqe_event_pool, cq_event,
6421 list_add_tail(&cq_event->list, &phba->sli4_hba.sp_cqe_event_pool);
6459 list_splice_init(&phba->sli4_hba.sp_fcp_xri_aborted_work_queue,
6462 list_splice_init(&phba->sli4_hba.sp_els_xri_aborted_work_queue,
6465 list_splice_init(&phba->sli4_hba.sp_asynce_work_queue,
6566 if (!phba->sli4_hba.intr_enable)
6616 if (!phba->sli4_hba.intr_enable)
6689 phba->sli4_hba.conf_regs_memmap_p =
6691 if (!phba->sli4_hba.conf_regs_memmap_p) {
6698 phba->sli4_hba.ctrl_regs_memmap_p =
6700 if (!phba->sli4_hba.ctrl_regs_memmap_p) {
6707 phba->sli4_hba.drbl_regs_memmap_p =
6709 if (!phba->sli4_hba.drbl_regs_memmap_p) {
6729 iounmap(phba->sli4_hba.drbl_regs_memmap_p);
6731 iounmap(phba->sli4_hba.ctrl_regs_memmap_p);
6733 iounmap(phba->sli4_hba.conf_regs_memmap_p);
6759 iounmap(phba->sli4_hba.drbl_regs_memmap_p);
6760 iounmap(phba->sli4_hba.ctrl_regs_memmap_p);
6761 iounmap(phba->sli4_hba.conf_regs_memmap_p);
7073 for (index = 0; index < phba->sli4_hba.cfg_eqn; index++)
7074 phba->sli4_hba.msix_entries[index].entry = index;
7077 vectors = phba->sli4_hba.cfg_eqn;
7079 rc = pci_enable_msix(phba->pcidev, phba->sli4_hba.msix_entries,
7095 phba->sli4_hba.msix_entries[index].vector,
7096 phba->sli4_hba.msix_entries[index].entry);
7102 rc = request_irq(phba->sli4_hba.msix_entries[0].vector,
7114 phba->sli4_hba.fcp_eq_hdl[index - 1].idx = index - 1;
7115 phba->sli4_hba.fcp_eq_hdl[index - 1].phba = phba;
7116 rc = request_irq(phba->sli4_hba.msix_entries[index].vector,
7119 &phba->sli4_hba.fcp_eq_hdl[index - 1]);
7127 phba->sli4_hba.msix_vec_nr = vectors;
7134 free_irq(phba->sli4_hba.msix_entries[index - 1].vector,
7135 &phba->sli4_hba.fcp_eq_hdl[index - 1]);
7138 free_irq(phba->sli4_hba.msix_entries[0].vector, phba);
7159 free_irq(phba->sli4_hba.msix_entries[0].vector, phba);
7161 for (index = 1; index < phba->sli4_hba.msix_vec_nr; index++)
7162 free_irq(phba->sli4_hba.msix_entries[index].vector,
7163 &phba->sli4_hba.fcp_eq_hdl[index - 1]);
7210 phba->sli4_hba.fcp_eq_hdl[index].idx = index;
7211 phba->sli4_hba.fcp_eq_hdl[index].phba = phba;
7291 phba->sli4_hba.fcp_eq_hdl[index].idx = index;
7292 phba->sli4_hba.fcp_eq_hdl[index].phba = phba;
7399 phba->sli4_hba.intr_enable = 0;
7465 if (!phba->sli4_hba.intr_enable)
7475 sli4_params = &phba->sli4_hba.pc_sli4_params;
8113 int max_xri = phba->sli4_hba.max_cfg_param.max_xri;
8255 else if (phba->sli4_hba.msix_vec_nr < phba->cfg_fcp_eq_count)
8256 phba->cfg_fcp_eq_count = phba->sli4_hba.msix_vec_nr - 1;