1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 #ifndef __BFA_MODULES_H__
  16 #define __BFA_MODULES_H__
  17 
  18 #include "bfa_cs.h"
  19 #include "bfa.h"
  20 #include "bfa_svc.h"
  21 #include "bfa_fcpim.h"
  22 #include "bfa_port.h"
  23 
  24 struct bfa_modules_s {
  25         struct bfa_fcdiag_s     fcdiag;         
  26         struct bfa_fcport_s     fcport;         
  27         struct bfa_fcxp_mod_s   fcxp_mod;       
  28         struct bfa_lps_mod_s    lps_mod;        
  29         struct bfa_uf_mod_s     uf_mod;         
  30         struct bfa_rport_mod_s  rport_mod;      
  31         struct bfa_fcp_mod_s    fcp_mod;        
  32         struct bfa_sgpg_mod_s   sgpg_mod;       
  33         struct bfa_port_s       port;           
  34         struct bfa_ablk_s       ablk;           
  35         struct bfa_cee_s        cee;            
  36         struct bfa_sfp_s        sfp;            
  37         struct bfa_flash_s      flash;          
  38         struct bfa_diag_s       diag_mod;       
  39         struct bfa_phy_s        phy;            
  40         struct bfa_dconf_mod_s  dconf_mod;      
  41         struct bfa_fru_s        fru;            
  42 };
  43 
  44 
  45 
  46 
  47 
  48 enum {
  49         BFA_TRC_HAL_CORE        = 1,
  50         BFA_TRC_HAL_FCXP        = 2,
  51         BFA_TRC_HAL_FCPIM       = 3,
  52         BFA_TRC_HAL_IOCFC_CT    = 4,
  53         BFA_TRC_HAL_IOCFC_CB    = 5,
  54 };
  55 
  56 #define BFA_CACHELINE_SZ        (256)
  57 
  58 struct bfa_s {
  59         void                    *bfad;          
  60         struct bfa_plog_s       *plog;          
  61         struct bfa_trc_mod_s    *trcmod;        
  62         struct bfa_ioc_s        ioc;            
  63         struct bfa_iocfc_s      iocfc;          
  64         struct bfa_timer_mod_s  timer_mod;      
  65         struct bfa_modules_s    modules;        
  66         struct list_head        comp_q;         
  67         bfa_boolean_t           queue_process;  
  68         struct list_head        reqq_waitq[BFI_IOC_MAX_CQS];
  69         bfa_boolean_t           fcs;            
  70         struct bfa_msix_s       msix;
  71         int                     bfa_aen_seq;
  72         bfa_boolean_t           intr_enabled;   
  73 };
  74 
  75 extern bfa_boolean_t bfa_auto_recover;
  76 
  77 void bfa_dconf_attach(struct bfa_s *, void *, struct bfa_iocfc_cfg_s *);
  78 void bfa_dconf_meminfo(struct bfa_iocfc_cfg_s *, struct bfa_meminfo_s *,
  79                   struct bfa_s *);
  80 void bfa_dconf_iocdisable(struct bfa_s *);
  81 void bfa_fcp_attach(struct bfa_s *, void *, struct bfa_iocfc_cfg_s *,
  82                 struct bfa_pcidev_s *);
  83 void bfa_fcp_iocdisable(struct bfa_s *bfa);
  84 void bfa_fcp_meminfo(struct bfa_iocfc_cfg_s *, struct bfa_meminfo_s *,
  85                 struct bfa_s *);
  86 void bfa_fcpim_iocdisable(struct bfa_fcp_mod_s *);
  87 void bfa_fcport_start(struct bfa_s *);
  88 void bfa_fcport_iocdisable(struct bfa_s *);
  89 void bfa_fcport_meminfo(struct bfa_iocfc_cfg_s *, struct bfa_meminfo_s *,
  90                    struct bfa_s *);
  91 void bfa_fcport_attach(struct bfa_s *, void *, struct bfa_iocfc_cfg_s *,
  92                 struct bfa_pcidev_s *);
  93 void bfa_fcxp_iocdisable(struct bfa_s *);
  94 void bfa_fcxp_meminfo(struct bfa_iocfc_cfg_s *, struct bfa_meminfo_s *,
  95                 struct bfa_s *);
  96 void bfa_fcxp_attach(struct bfa_s *, void *, struct bfa_iocfc_cfg_s *,
  97                 struct bfa_pcidev_s *);
  98 void bfa_fcdiag_iocdisable(struct bfa_s *);
  99 void bfa_fcdiag_attach(struct bfa_s *bfa, void *, struct bfa_iocfc_cfg_s *,
 100                 struct bfa_pcidev_s *);
 101 void bfa_ioim_lm_init(struct bfa_s *);
 102 void bfa_lps_iocdisable(struct bfa_s *bfa);
 103 void bfa_lps_meminfo(struct bfa_iocfc_cfg_s *, struct bfa_meminfo_s *,
 104                 struct bfa_s *);
 105 void bfa_lps_attach(struct bfa_s *, void *, struct bfa_iocfc_cfg_s *,
 106         struct bfa_pcidev_s *);
 107 void bfa_rport_iocdisable(struct bfa_s *bfa);
 108 void bfa_rport_meminfo(struct bfa_iocfc_cfg_s *, struct bfa_meminfo_s *,
 109                 struct bfa_s *);
 110 void bfa_rport_attach(struct bfa_s *, void *, struct bfa_iocfc_cfg_s *,
 111                 struct bfa_pcidev_s *);
 112 void bfa_sgpg_meminfo(struct bfa_iocfc_cfg_s *, struct bfa_meminfo_s *,
 113                 struct bfa_s *);
 114 void bfa_sgpg_attach(struct bfa_s *, void *bfad, struct bfa_iocfc_cfg_s *,
 115                 struct bfa_pcidev_s *);
 116 void bfa_uf_iocdisable(struct bfa_s *);
 117 void bfa_uf_meminfo(struct bfa_iocfc_cfg_s *, struct bfa_meminfo_s *,
 118                 struct bfa_s *);
 119 void bfa_uf_attach(struct bfa_s *, void *, struct bfa_iocfc_cfg_s *,
 120                 struct bfa_pcidev_s *);
 121 void bfa_uf_start(struct bfa_s *);
 122 
 123 #endif