Lines Matching defs:lpfc_hba

546 struct lpfc_hba {  struct
551 (struct lpfc_hba *, struct lpfc_nodelist *); argument
553 (struct lpfc_hba *, struct lpfc_scsi_buf *); argument
555 (struct lpfc_hba *, struct lpfc_scsi_buf *); argument
557 (struct lpfc_hba *, struct lpfc_scsi_buf *); argument
559 (struct lpfc_hba *); argument
566 (struct lpfc_hba *, uint32_t, argument
568 void (*__lpfc_sli_release_iocbq)(struct lpfc_hba *, argument
570 int (*lpfc_hba_down_post)(struct lpfc_hba *phba); argument
574 (struct lpfc_hba *, struct lpfc_iocbq *, struct lpfc_iocbq *); argument
578 (struct lpfc_hba *, LPFC_MBOXQ_t *, uint32_t); argument
582 (struct lpfc_hba *phba, struct lpfc_sli_ring *pring, argument
587 (struct lpfc_hba *, uint32_t, struct hbq_dmabuf *); argument
589 (struct lpfc_hba *); argument
591 (struct lpfc_hba *, uint32_t); argument
593 (struct lpfc_hba *); argument
595 (struct lpfc_hba *); argument
596 int (*lpfc_hba_init_link) argument
598 int (*lpfc_hba_down_link) argument
601 (struct lpfc_hba *); argument
604 (struct lpfc_hba *, struct lpfc_scsi_buf *); argument
608 struct lpfc_sli4_hba sli4_hba;
610 struct lpfc_sli sli;
611 uint8_t pci_dev_grp; /* lpfc PCI dev group: 0x0, 0x1, 0x2,... */
612 uint32_t sli_rev; /* SLI2, SLI3, or SLI4 */
613 uint32_t sli3_options; /* Mask of enabled SLI3 options */
622 uint32_t iocb_cmd_size;
623 uint32_t iocb_rsp_size;
625 enum hba_state link_state;
626 uint32_t link_flag; /* link state flags */
633 uint32_t hba_flag; /* hba generic flags */
651 uint32_t fcp_ring_in_use; /* When polling test if intr-hndlr active*/
652 struct lpfc_dmabuf slim2p;
654 MAILBOX_t *mbox;
655 uint32_t *mbox_ext;
656 struct lpfc_mbox_ext_buf_ctx mbox_ext_buf_ctx;
657 uint32_t ha_copy;
658 struct _PCB *pcb;
659 struct _IOCB *IOCBs;
661 struct lpfc_dmabuf hbqslimp;
663 uint16_t pci_cfg_value;
665 uint8_t fc_linkspeed; /* Link speed after last READ_LA */
667 uint32_t fc_eventTag; /* event tag for link attention */
668 uint32_t link_events;
671 uint32_t fc_pref_DID; /* preferred D_ID */
672 uint8_t fc_pref_ALPA; /* preferred AL_PA */
673 uint32_t fc_edtovResol; /* E_D_TOV timer resolution */
674 uint32_t fc_edtov; /* E_D_TOV timer value */
675 uint32_t fc_arbtov; /* ARB_TOV timer value */
676 uint32_t fc_ratov; /* R_A_TOV timer value */
677 uint32_t fc_rttov; /* R_T_TOV timer value */
678 uint32_t fc_altov; /* AL_TOV timer value */
679 uint32_t fc_crtov; /* C_R_TOV timer value */
680 uint32_t fc_citov; /* C_I_TOV timer value */
682 struct serv_parm fc_fabparam; /* fabric service parameters buffer */
683 uint8_t alpa_map[128]; /* AL_PA map from READ_LA */
685 uint32_t lmt;
687 uint32_t fc_topology; /* link topology, from LINK INIT */
688 uint32_t fc_topology_changed; /* link topology, from LINK INIT */
690 struct lpfc_stats fc_stat;
692 struct lpfc_nodelist fc_fcpnodev; /* nodelist entry for no device */
693 uint32_t nport_event_cnt; /* timestamp for nlplist entry */
695 uint8_t wwnn[8];
696 uint8_t wwpn[8];
697 uint32_t RandomData[7];
700 uint32_t cfg_ack0;
701 uint32_t cfg_enable_npiv;
702 uint32_t cfg_enable_rrq;
703 uint32_t cfg_topology;
704 uint32_t cfg_link_speed;
707 uint32_t cfg_fcf_failover_policy;
708 uint32_t cfg_fcp_io_sched;
709 uint32_t cfg_fcp2_no_tgt_reset;
710 uint32_t cfg_cr_delay;
711 uint32_t cfg_cr_count;
712 uint32_t cfg_multi_ring_support;
713 uint32_t cfg_multi_ring_rctl;
714 uint32_t cfg_multi_ring_type;
715 uint32_t cfg_poll;
716 uint32_t cfg_poll_tmo;
717 uint32_t cfg_task_mgmt_tmo;
718 uint32_t cfg_use_msi;
719 uint32_t cfg_fcp_imax;
720 uint32_t cfg_fcp_cpu_map;
721 uint32_t cfg_fcp_io_channel;
722 uint32_t cfg_total_seg_cnt;
723 uint32_t cfg_sg_seg_cnt;
724 uint32_t cfg_prot_sg_seg_cnt;
725 uint32_t cfg_sg_dma_buf_size;
726 uint64_t cfg_soft_wwnn;
727 uint64_t cfg_soft_wwpn;
728 uint32_t cfg_hba_queue_depth;
729 uint32_t cfg_enable_hba_reset;
730 uint32_t cfg_enable_hba_heartbeat;
731 uint32_t cfg_fof;
732 uint32_t cfg_EnableXLane;
733 uint8_t cfg_oas_tgt_wwpn[8];
734 uint8_t cfg_oas_vpt_wwpn[8];
735 uint32_t cfg_oas_lun_state;
738 uint32_t cfg_oas_lun_status;
740 uint32_t cfg_oas_flags;
744 uint32_t cfg_XLanePriority;
745 uint32_t cfg_enable_bg;
746 uint32_t cfg_hostmem_hgp;
747 uint32_t cfg_log_verbose;
748 uint32_t cfg_aer_support;
749 uint32_t cfg_sriov_nr_virtfn;
750 uint32_t cfg_request_firmware_upgrade;
751 uint32_t cfg_iocb_cnt;
752 uint32_t cfg_suppress_link_up;
753 uint32_t cfg_rrq_xri_bitmap_sz;
757 uint32_t cfg_enable_dss;
758 lpfc_vpd_t vpd; /* vital product data */
760 struct pci_dev *pcidev;
761 struct list_head work_list;
762 uint32_t work_ha; /* Host Attention Bits for WT */
763 uint32_t work_ha_mask; /* HA Bits owned by WT */
764 uint32_t work_hs; /* HS stored in case of ERRAT */
765 uint32_t work_status[2]; /* Extra status from SLIM */
767 wait_queue_head_t work_waitq;
768 struct task_struct *worker_thread;
769 unsigned long data_flags;
771 uint32_t hbq_in_use; /* HBQs in use flag */
772 struct list_head rb_pend_list; /* Received buffers to be processed */
773 uint32_t hbq_count; /* Count of configured HBQs */
774 struct hbq_s hbqs[LPFC_MAX_HBQS]; /* local copy of hbq indicies */
776 atomic_t fcp_qidx; /* next work queue to post work to */
778 unsigned long pci_bar0_map; /* Physical address for PCI BAR0 */
779 unsigned long pci_bar1_map; /* Physical address for PCI BAR1 */
780 unsigned long pci_bar2_map; /* Physical address for PCI BAR2 */
781 void __iomem *slim_memmap_p; /* Kernel memory mapped address for
783 void __iomem *ctrl_regs_memmap_p;/* Kernel memory mapped address for
786 void __iomem *pci_bar0_memmap_p; /* Kernel memory mapped address for
788 void __iomem *pci_bar2_memmap_p; /* Kernel memory mapped address for
790 void __iomem *pci_bar4_memmap_p; /* Kernel memory mapped address for
795 void __iomem *MBslimaddr; /* virtual address for mbox cmds */
796 void __iomem *HAregaddr; /* virtual address for host attn reg */
797 void __iomem *CAregaddr; /* virtual address for chip attn reg */
798 void __iomem *HSregaddr; /* virtual address for host status
800 void __iomem *HCregaddr; /* virtual address for host ctl reg */
802 struct lpfc_hgp __iomem *host_gp; /* Host side get/put pointers */
803 struct lpfc_pgp *port_gp;
804 uint32_t __iomem *hbq_put; /* Address in SLIM to HBQ put ptrs */
805 uint32_t *hbq_get; /* Host mem address of HBQ get ptrs */
807 int brd_no; /* FC board number */
808 char SerialNumber[32]; /* adapter Serial Number */
809 char OptionROMVersion[32]; /* adapter BIOS / Fcode version */
810 char ModelDesc[256]; /* Model Description */
811 char ModelName[80]; /* Model Name */
812 char ProgramType[256]; /* Program Type */
813 char Port[20]; /* Port No */
814 uint8_t vpd_flag; /* VPD data flag */
822 uint8_t soft_wwn_enable;
824 struct timer_list fcp_poll_timer;
825 struct timer_list eratt_poll;
830 uint64_t fc4InputRequests;
831 uint64_t fc4OutputRequests;
832 uint64_t fc4ControlRequests;
833 uint64_t bg_guard_err_cnt;
834 uint64_t bg_apptag_err_cnt;
835 uint64_t bg_reftag_err_cnt;
838 spinlock_t scsi_buf_list_get_lock; /* SCSI buf alloc list lock */
839 spinlock_t scsi_buf_list_put_lock; /* SCSI buf free list lock */
840 struct list_head lpfc_scsi_buf_list_get;
841 struct list_head lpfc_scsi_buf_list_put;
842 uint32_t total_scsi_bufs;
843 struct list_head lpfc_iocb_list;
844 uint32_t total_iocbq_bufs;
845 struct list_head active_rrq_list;
846 spinlock_t hbalock;
849 struct pci_pool *lpfc_scsi_dma_buf_pool;
850 struct pci_pool *lpfc_mbuf_pool;
851 struct pci_pool *lpfc_hrb_pool; /* header receive buffer pool */
852 struct pci_pool *lpfc_drb_pool; /* data receive buffer pool */
853 struct pci_pool *lpfc_hbq_pool; /* SLI3 hbq buffer pool */
854 struct lpfc_dma_pool lpfc_mbuf_safety_pool;
856 mempool_t *mbox_mem_pool;
857 mempool_t *nlp_mem_pool;
858 mempool_t *rrq_pool;
859 mempool_t *active_rrq_pool;
861 struct fc_host_statistics link_stats;
862 enum intr_type_t intr_type;
863 uint32_t intr_mode;
865 struct msix_entry msix_entries[LPFC_MSIX_VECTORS];
867 struct list_head port_list;
868 struct lpfc_vport *pport; /* physical lpfc_vport pointer */
869 uint16_t max_vpi; /* Maximum virtual nports */
871 uint16_t max_vports; /*
877 uint16_t vpi_base;
878 uint16_t vfi_base;
879 unsigned long *vpi_bmask; /* vpi allocation table */
880 uint16_t *vpi_ids;
881 uint16_t vpi_count;
882 struct list_head lpfc_vpi_blk_list;
885 struct list_head fabric_iocb_list;
886 atomic_t fabric_iocb_count;
887 struct timer_list fabric_block_timer;
888 unsigned long bit_flags;
890 atomic_t num_rsrc_err;
891 atomic_t num_cmd_success;
892 unsigned long last_rsrc_error_time;
893 unsigned long last_ramp_down_time;
895 struct dentry *hba_debugfs_root;
896 atomic_t debugfs_vport_count;
897 struct dentry *debug_hbqinfo;
898 struct dentry *debug_dumpHostSlim;
899 struct dentry *debug_dumpHBASlim;
900 struct dentry *debug_dumpData; /* BlockGuard BPL */
901 struct dentry *debug_dumpDif; /* BlockGuard BPL */
902 struct dentry *debug_InjErrLBA; /* LBA to inject errors at */
903 struct dentry *debug_InjErrNPortID; /* NPortID to inject errors at */
904 struct dentry *debug_InjErrWWPN; /* WWPN to inject errors at */
905 struct dentry *debug_writeGuard; /* inject write guard_tag errors */
906 struct dentry *debug_writeApp; /* inject write app_tag errors */
907 struct dentry *debug_writeRef; /* inject write ref_tag errors */
908 struct dentry *debug_readGuard; /* inject read guard_tag errors */
909 struct dentry *debug_readApp; /* inject read app_tag errors */
910 struct dentry *debug_readRef; /* inject read ref_tag errors */
913 uint32_t lpfc_injerr_wgrd_cnt;
914 uint32_t lpfc_injerr_wapp_cnt;
915 uint32_t lpfc_injerr_wref_cnt;
916 uint32_t lpfc_injerr_rgrd_cnt;
917 uint32_t lpfc_injerr_rapp_cnt;
918 uint32_t lpfc_injerr_rref_cnt;
919 uint32_t lpfc_injerr_nportid;
920 struct lpfc_name lpfc_injerr_wwpn;
921 sector_t lpfc_injerr_lba;
924 struct dentry *debug_slow_ring_trc;
925 struct lpfc_debugfs_trc *slow_ring_trc;
926 atomic_t slow_ring_trc_cnt;
928 struct dentry *idiag_root;
929 struct dentry *idiag_pci_cfg;
930 struct dentry *idiag_bar_acc;
931 struct dentry *idiag_que_info;
932 struct dentry *idiag_que_acc;
933 struct dentry *idiag_drb_acc;
934 struct dentry *idiag_ctl_acc;
935 struct dentry *idiag_mbx_acc;
936 struct dentry *idiag_ext_acc;
940 struct list_head elsbuf;
941 int elsbuf_cnt;
942 int elsbuf_prev_cnt;
944 uint8_t temp_sensor_support;
946 unsigned long last_completion_time;
947 unsigned long skipped_hb;
948 struct timer_list hb_tmofunc;
949 uint8_t hb_outstanding;
950 struct timer_list rrq_tmr;
951 enum hba_temp_state over_temp_state;
953 spinlock_t ndlp_lock;
959 uint32_t buffer_tag_count;
960 int wait_4_mlo_maint_flg;
961 wait_queue_head_t wait_4_mlo_m_q;
966 uint8_t bucket_type;
967 uint32_t bucket_base;
968 uint32_t bucket_step;
972 atomic_t fast_event_count;
973 uint32_t fcoe_eventtag;
974 uint32_t fcoe_eventtag_at_fcf_scan;
975 uint32_t fcoe_cvl_eventtag;
976 uint32_t fcoe_cvl_eventtag_attn;
977 struct lpfc_fcf fcf;
978 uint8_t fc_map[3];
979 uint8_t valid_vlan;
980 uint16_t vlan_id;
981 struct list_head fcf_conn_rec_list;
983 spinlock_t ct_ev_lock; /* synchronize access to ct_ev_waiters */
1007 lpfc_set_loopback_flag(struct lpfc_hba *phba) in lpfc_set_loopback_flag() argument