Lines Matching defs:lpfc_sli4_hba

533 struct lpfc_sli4_hba {  struct
534 void __iomem *conf_regs_memmap_p; /* Kernel memory mapped address for
537 void __iomem *ctrl_regs_memmap_p; /* Kernel memory mapped address for
540 void __iomem *drbl_regs_memmap_p; /* Kernel memory mapped address for
543 void __iomem *dpp_regs_memmap_p; /* Kernel memory mapped address for
546 union {
571 } u;
574 void __iomem *PSMPHRregaddr;
577 void __iomem *SLIINTFregaddr;
580 void __iomem *ISRregaddr; /* HST_ISR register */
581 void __iomem *IMRregaddr; /* HST_IMR register */
582 void __iomem *ISCRregaddr; /* HST_ISCR register */
584 void __iomem *RQDBregaddr; /* RQ_DOORBELL register */
585 void __iomem *WQDBregaddr; /* WQ_DOORBELL register */
586 void __iomem *CQDBregaddr; /* CQ_DOORBELL register */
587 void __iomem *EQDBregaddr; /* EQ_DOORBELL register */
588 void __iomem *MQDBregaddr; /* MQ_DOORBELL register */
589 void __iomem *BMBXregaddr; /* BootStrap MBX register */
591 uint32_t ue_mask_lo;
592 uint32_t ue_mask_hi;
593 uint32_t ue_to_sr;
594 uint32_t ue_to_rp;
595 struct lpfc_register sli_intf;
596 struct lpfc_pc_sli4_params pc_sli4_params;
597 struct lpfc_bbscn_params bbscn_params;
598 struct lpfc_hba_eq_hdl *hba_eq_hdl; /* HBA per-WQ handle */
600 void (*sli4_eq_clr_intr)(struct lpfc_queue *q);
601 uint32_t (*sli4_eq_release)(struct lpfc_queue *q, bool arm);
602 uint32_t (*sli4_cq_release)(struct lpfc_queue *q, bool arm);
605 struct lpfc_queue **hba_eq; /* Event queues for HBA */
606 struct lpfc_queue **fcp_cq; /* Fast-path FCP compl queue */
607 struct lpfc_queue **nvme_cq; /* Fast-path NVME compl queue */
608 struct lpfc_queue **nvmet_cqset; /* Fast-path NVMET CQ Set queues */
609 struct lpfc_queue **nvmet_mrq_hdr; /* Fast-path NVMET hdr MRQs */
610 struct lpfc_queue **nvmet_mrq_data; /* Fast-path NVMET data MRQs */
611 struct lpfc_queue **fcp_wq; /* Fast-path FCP work queue */
612 struct lpfc_queue **nvme_wq; /* Fast-path NVME work queue */
613 uint16_t *fcp_cq_map;
614 uint16_t *nvme_cq_map;
615 struct list_head lpfc_wq_list;
617 struct lpfc_queue *mbx_cq; /* Slow-path mailbox complete queue */
618 struct lpfc_queue *els_cq; /* Slow-path ELS response complete queue */
619 struct lpfc_queue *nvmels_cq; /* NVME LS complete queue */
620 struct lpfc_queue *mbx_wq; /* Slow-path MBOX work queue */
621 struct lpfc_queue *els_wq; /* Slow-path ELS work queue */
622 struct lpfc_queue *nvmels_wq; /* NVME LS work queue */
623 struct lpfc_queue *hdr_rq; /* Slow-path Header Receive queue */
624 struct lpfc_queue *dat_rq; /* Slow-path Data Receive queue */
626 struct lpfc_name wwnn;
627 struct lpfc_name wwpn;
629 uint32_t fw_func_mode; /* FW function protocol mode */
630 uint32_t ulp0_mode; /* ULP0 protocol mode */
631 uint32_t ulp1_mode; /* ULP1 protocol mode */
633 struct lpfc_queue *fof_eq; /* Flash Optimized Fabric Event queue */
637 struct lpfc_queue *oas_cq; /* OAS completion queue */
638 struct lpfc_queue *oas_wq; /* OAS Work queue */
639 struct lpfc_sli_ring *oas_ring;
640 uint64_t oas_next_lun;
641 uint8_t oas_next_tgt_wwpn[8];
642 uint8_t oas_next_vpt_wwpn[8];
645 int eq_esize;
646 int eq_ecount;
647 int cq_esize;
648 int cq_ecount;
649 int wq_esize;
650 int wq_ecount;
651 int mq_esize;
652 int mq_ecount;
653 int rq_esize;
654 int rq_ecount;
658 uint32_t intr_enable;
659 struct lpfc_bmbx bmbx;
660 struct lpfc_max_cfg_param max_cfg_param;
661 uint16_t extents_in_use; /* must allocate resource extents. */
662 uint16_t rpi_hdrs_in_use; /* must post rpi hdrs if set. */
663 uint16_t next_xri; /* last_xri - max_cfg_param.xri_base = used */
664 uint16_t next_rpi;
665 uint16_t nvme_xri_max;
666 uint16_t nvme_xri_cnt;
667 uint16_t nvme_xri_start;
668 uint16_t scsi_xri_max;
669 uint16_t scsi_xri_cnt;
670 uint16_t scsi_xri_start;
671 uint16_t els_xri_cnt;
672 uint16_t nvmet_xri_cnt;
673 uint16_t nvmet_io_wait_cnt;
674 uint16_t nvmet_io_wait_total;
675 struct list_head lpfc_els_sgl_list;
676 struct list_head lpfc_abts_els_sgl_list;
677 struct list_head lpfc_nvmet_sgl_list;
678 struct list_head lpfc_abts_nvmet_ctx_list;
679 struct list_head lpfc_abts_scsi_buf_list;
680 struct list_head lpfc_abts_nvme_buf_list;
681 struct list_head lpfc_nvmet_io_wait_list;
682 struct lpfc_nvmet_ctx_info *nvmet_ctx_info;
683 struct lpfc_sglq **lpfc_sglq_active_list;
684 struct list_head lpfc_rpi_hdr_list;
685 unsigned long *rpi_bmask;
686 uint16_t *rpi_ids;
687 uint16_t rpi_count;
688 struct list_head lpfc_rpi_blk_list;
689 unsigned long *xri_bmask;
690 uint16_t *xri_ids;
691 struct list_head lpfc_xri_blk_list;
692 unsigned long *vfi_bmask;
693 uint16_t *vfi_ids;
694 uint16_t vfi_count;
695 struct list_head lpfc_vfi_blk_list;
696 struct lpfc_sli4_flags sli4_flags;
697 struct list_head sp_queue_event;
698 struct list_head sp_cqe_event_pool;
699 struct list_head sp_asynce_work_queue;
700 struct list_head sp_fcp_xri_aborted_work_queue;
701 struct list_head sp_els_xri_aborted_work_queue;
702 struct list_head sp_unsol_work_queue;
703 struct lpfc_sli4_link link_state;
704 struct lpfc_sli4_lnk_info lnk_info;
705 uint32_t pport_name_sta;
708 struct lpfc_iov iov;
709 spinlock_t abts_nvme_buf_list_lock; /* list of aborted SCSI IOs */
710 spinlock_t abts_scsi_buf_list_lock; /* list of aborted SCSI IOs */
711 spinlock_t sgl_list_lock; /* list of aborted els IOs */
712 spinlock_t nvmet_io_wait_lock; /* IOs waiting for ctx resources */
713 uint32_t physical_port;
716 struct lpfc_vector_map_info *cpu_map;
717 uint16_t num_online_cpu;
718 uint16_t num_present_cpu;
719 uint16_t curr_disp_cpu;