Lines Matching defs:lpfc_hba

520 struct lpfc_hba {  struct
525 (struct lpfc_hba *, struct lpfc_nodelist *); argument
527 (struct lpfc_hba *, struct lpfc_scsi_buf *); argument
529 (struct lpfc_hba *, struct lpfc_scsi_buf *); argument
531 (struct lpfc_hba *, struct lpfc_scsi_buf *); argument
533 (struct lpfc_hba *); argument
539 (struct lpfc_hba *, uint32_t, argument
541 void (*__lpfc_sli_release_iocbq)(struct lpfc_hba *, argument
543 int (*lpfc_hba_down_post)(struct lpfc_hba *phba); argument
549 (struct lpfc_hba *, struct lpfc_iocbq *, struct lpfc_iocbq *); argument
553 (struct lpfc_hba *, LPFC_MBOXQ_t *, uint32_t); argument
556 (struct lpfc_hba *phba, struct lpfc_sli_ring *pring, argument
560 (struct lpfc_hba *, uint32_t, struct hbq_dmabuf *); argument
562 (struct lpfc_hba *); argument
564 (struct lpfc_hba *, uint32_t); argument
566 (struct lpfc_hba *); argument
568 (struct lpfc_hba *); argument
569 int (*lpfc_hba_init_link) argument
571 int (*lpfc_hba_down_link) argument
574 (struct lpfc_hba *); argument
577 struct lpfc_sli4_hba sli4_hba;
579 struct lpfc_sli sli;
580 uint8_t pci_dev_grp; /* lpfc PCI dev group: 0x0, 0x1, 0x2,... */
581 uint32_t sli_rev; /* SLI2, SLI3, or SLI4 */
582 uint32_t sli3_options; /* Mask of enabled SLI3 options */
591 uint32_t iocb_cmd_size;
592 uint32_t iocb_rsp_size;
594 enum hba_state link_state;
595 uint32_t link_flag; /* link state flags */
602 uint32_t hba_flag; /* hba generic flags */
618 uint32_t fcp_ring_in_use; /* When polling test if intr-hndlr active*/
619 struct lpfc_dmabuf slim2p;
621 MAILBOX_t *mbox;
622 uint32_t *mbox_ext;
623 struct lpfc_mbox_ext_buf_ctx mbox_ext_buf_ctx;
624 uint32_t ha_copy;
625 struct _PCB *pcb;
626 struct _IOCB *IOCBs;
628 struct lpfc_dmabuf hbqslimp;
630 uint16_t pci_cfg_value;
632 uint8_t fc_linkspeed; /* Link speed after last READ_LA */
634 uint32_t fc_eventTag; /* event tag for link attention */
635 uint32_t link_events;
638 uint32_t fc_pref_DID; /* preferred D_ID */
639 uint8_t fc_pref_ALPA; /* preferred AL_PA */
640 uint32_t fc_edtovResol; /* E_D_TOV timer resolution */
641 uint32_t fc_edtov; /* E_D_TOV timer value */
642 uint32_t fc_arbtov; /* ARB_TOV timer value */
643 uint32_t fc_ratov; /* R_A_TOV timer value */
644 uint32_t fc_rttov; /* R_T_TOV timer value */
645 uint32_t fc_altov; /* AL_TOV timer value */
646 uint32_t fc_crtov; /* C_R_TOV timer value */
647 uint32_t fc_citov; /* C_I_TOV timer value */
649 struct serv_parm fc_fabparam; /* fabric service parameters buffer */
650 uint8_t alpa_map[128]; /* AL_PA map from READ_LA */
652 uint32_t lmt;
654 uint32_t fc_topology; /* link topology, from LINK INIT */
656 struct lpfc_stats fc_stat;
658 struct lpfc_nodelist fc_fcpnodev; /* nodelist entry for no device */
659 uint32_t nport_event_cnt; /* timestamp for nlplist entry */
661 uint8_t wwnn[8];
662 uint8_t wwpn[8];
663 uint32_t RandomData[7];
666 uint32_t cfg_ack0;
667 uint32_t cfg_enable_npiv;
668 uint32_t cfg_enable_rrq;
669 uint32_t cfg_topology;
670 uint32_t cfg_link_speed;
673 uint32_t cfg_fcf_failover_policy;
674 uint32_t cfg_cr_delay;
675 uint32_t cfg_cr_count;
676 uint32_t cfg_multi_ring_support;
677 uint32_t cfg_multi_ring_rctl;
678 uint32_t cfg_multi_ring_type;
679 uint32_t cfg_poll;
680 uint32_t cfg_poll_tmo;
681 uint32_t cfg_use_msi;
682 uint32_t cfg_fcp_imax;
683 uint32_t cfg_fcp_wq_count;
684 uint32_t cfg_fcp_eq_count;
685 uint32_t cfg_sg_seg_cnt;
686 uint32_t cfg_prot_sg_seg_cnt;
687 uint32_t cfg_sg_dma_buf_size;
688 uint64_t cfg_soft_wwnn;
689 uint64_t cfg_soft_wwpn;
690 uint32_t cfg_hba_queue_depth;
691 uint32_t cfg_enable_hba_reset;
692 uint32_t cfg_enable_hba_heartbeat;
693 uint32_t cfg_enable_bg;
694 uint32_t cfg_hostmem_hgp;
695 uint32_t cfg_log_verbose;
696 uint32_t cfg_aer_support;
697 uint32_t cfg_sriov_nr_virtfn;
698 uint32_t cfg_iocb_cnt;
699 uint32_t cfg_suppress_link_up;
703 uint32_t cfg_enable_dss;
704 lpfc_vpd_t vpd; /* vital product data */
706 struct pci_dev *pcidev;
707 struct list_head work_list;
708 uint32_t work_ha; /* Host Attention Bits for WT */
709 uint32_t work_ha_mask; /* HA Bits owned by WT */
710 uint32_t work_hs; /* HS stored in case of ERRAT */
711 uint32_t work_status[2]; /* Extra status from SLIM */
713 wait_queue_head_t work_waitq;
714 struct task_struct *worker_thread;
715 unsigned long data_flags;
717 uint32_t hbq_in_use; /* HBQs in use flag */
718 struct list_head rb_pend_list; /* Received buffers to be processed */
719 uint32_t hbq_count; /* Count of configured HBQs */
720 struct hbq_s hbqs[LPFC_MAX_HBQS]; /* local copy of hbq indicies */
722 uint32_t fcp_qidx; /* next work queue to post work to */
724 unsigned long pci_bar0_map; /* Physical address for PCI BAR0 */
725 unsigned long pci_bar1_map; /* Physical address for PCI BAR1 */
726 unsigned long pci_bar2_map; /* Physical address for PCI BAR2 */
727 void __iomem *slim_memmap_p; /* Kernel memory mapped address for
729 void __iomem *ctrl_regs_memmap_p;/* Kernel memory mapped address for
732 void __iomem *MBslimaddr; /* virtual address for mbox cmds */
733 void __iomem *HAregaddr; /* virtual address for host attn reg */
734 void __iomem *CAregaddr; /* virtual address for chip attn reg */
735 void __iomem *HSregaddr; /* virtual address for host status
737 void __iomem *HCregaddr; /* virtual address for host ctl reg */
739 struct lpfc_hgp __iomem *host_gp; /* Host side get/put pointers */
740 struct lpfc_pgp *port_gp;
741 uint32_t __iomem *hbq_put; /* Address in SLIM to HBQ put ptrs */
742 uint32_t *hbq_get; /* Host mem address of HBQ get ptrs */
744 int brd_no; /* FC board number */
745 char SerialNumber[32]; /* adapter Serial Number */
746 char OptionROMVersion[32]; /* adapter BIOS / Fcode version */
747 char ModelDesc[256]; /* Model Description */
748 char ModelName[80]; /* Model Name */
749 char ProgramType[256]; /* Program Type */
750 char Port[20]; /* Port No */
751 uint8_t vpd_flag; /* VPD data flag */
759 uint8_t soft_wwn_enable;
761 struct timer_list fcp_poll_timer;
762 struct timer_list eratt_poll;
767 uint64_t fc4InputRequests;
768 uint64_t fc4OutputRequests;
769 uint64_t fc4ControlRequests;
770 uint64_t bg_guard_err_cnt;
771 uint64_t bg_apptag_err_cnt;
772 uint64_t bg_reftag_err_cnt;
775 spinlock_t scsi_buf_list_lock;
776 struct list_head lpfc_scsi_buf_list;
777 uint32_t total_scsi_bufs;
778 struct list_head lpfc_iocb_list;
779 uint32_t total_iocbq_bufs;
780 struct list_head active_rrq_list;
781 spinlock_t hbalock;
784 struct pci_pool *lpfc_scsi_dma_buf_pool;
785 struct pci_pool *lpfc_mbuf_pool;
786 struct pci_pool *lpfc_hrb_pool; /* header receive buffer pool */
787 struct pci_pool *lpfc_drb_pool; /* data receive buffer pool */
788 struct pci_pool *lpfc_hbq_pool; /* SLI3 hbq buffer pool */
789 struct lpfc_dma_pool lpfc_mbuf_safety_pool;
791 mempool_t *mbox_mem_pool;
792 mempool_t *nlp_mem_pool;
793 mempool_t *rrq_pool;
795 struct fc_host_statistics link_stats;
796 enum intr_type_t intr_type;
797 uint32_t intr_mode;
799 struct msix_entry msix_entries[LPFC_MSIX_VECTORS];
801 struct list_head port_list;
802 struct lpfc_vport *pport; /* physical lpfc_vport pointer */
803 uint16_t max_vpi; /* Maximum virtual nports */
805 uint16_t max_vports; /*
811 uint16_t vpi_base;
812 uint16_t vfi_base;
813 unsigned long *vpi_bmask; /* vpi allocation table */
814 uint16_t *vpi_ids;
815 uint16_t vpi_count;
816 struct list_head lpfc_vpi_blk_list;
819 struct list_head fabric_iocb_list;
820 atomic_t fabric_iocb_count;
821 struct timer_list fabric_block_timer;
822 unsigned long bit_flags;
824 atomic_t num_rsrc_err;
825 atomic_t num_cmd_success;
826 unsigned long last_rsrc_error_time;
827 unsigned long last_ramp_down_time;
828 unsigned long last_ramp_up_time;
830 struct dentry *hba_debugfs_root;
831 atomic_t debugfs_vport_count;
832 struct dentry *debug_hbqinfo;
833 struct dentry *debug_dumpHostSlim;
834 struct dentry *debug_dumpHBASlim;
835 struct dentry *debug_dumpData; /* BlockGuard BPL */
836 struct dentry *debug_dumpDif; /* BlockGuard BPL */
837 struct dentry *debug_InjErrLBA; /* LBA to inject errors at */
838 struct dentry *debug_writeGuard; /* inject write guard_tag errors */
839 struct dentry *debug_writeApp; /* inject write app_tag errors */
840 struct dentry *debug_writeRef; /* inject write ref_tag errors */
841 struct dentry *debug_readApp; /* inject read app_tag errors */
842 struct dentry *debug_readRef; /* inject read ref_tag errors */
845 uint32_t lpfc_injerr_wgrd_cnt;
846 uint32_t lpfc_injerr_wapp_cnt;
847 uint32_t lpfc_injerr_wref_cnt;
848 uint32_t lpfc_injerr_rapp_cnt;
849 uint32_t lpfc_injerr_rref_cnt;
850 sector_t lpfc_injerr_lba;
853 struct dentry *debug_slow_ring_trc;
854 struct lpfc_debugfs_trc *slow_ring_trc;
855 atomic_t slow_ring_trc_cnt;
857 struct dentry *idiag_root;
858 struct dentry *idiag_pci_cfg;
859 struct dentry *idiag_bar_acc;
860 struct dentry *idiag_que_info;
861 struct dentry *idiag_que_acc;
862 struct dentry *idiag_drb_acc;
863 struct dentry *idiag_ctl_acc;
864 struct dentry *idiag_mbx_acc;
865 struct dentry *idiag_ext_acc;
869 struct list_head elsbuf;
870 int elsbuf_cnt;
871 int elsbuf_prev_cnt;
873 uint8_t temp_sensor_support;
875 unsigned long last_completion_time;
876 unsigned long skipped_hb;
877 struct timer_list hb_tmofunc;
878 uint8_t hb_outstanding;
879 struct timer_list rrq_tmr;
880 enum hba_temp_state over_temp_state;
882 spinlock_t ndlp_lock;
888 uint32_t buffer_tag_count;
889 int wait_4_mlo_maint_flg;
890 wait_queue_head_t wait_4_mlo_m_q;
895 uint8_t bucket_type;
896 uint32_t bucket_base;
897 uint32_t bucket_step;
901 atomic_t fast_event_count;
902 uint32_t fcoe_eventtag;
903 uint32_t fcoe_eventtag_at_fcf_scan;
904 struct lpfc_fcf fcf;
905 uint8_t fc_map[3];
906 uint8_t valid_vlan;
907 uint16_t vlan_id;
931 lpfc_set_loopback_flag(struct lpfc_hba *phba) in lpfc_set_loopback_flag() argument