Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
bfa.h File Reference
#include "bfad_drv.h"
#include "bfa_cs.h"
#include "bfa_plog.h"
#include "bfa_defs_svc.h"
#include "bfi.h"
#include "bfa_ioc.h"

Go to the source code of this file.

Data Structures

struct  bfa_pciid_s
 
struct  bfa_iocfc_regs_s
 
struct  bfa_msix_s
 
struct  bfa_hwif_s
 
struct  bfa_faa_cbfn_s
 
struct  bfa_faa_attr_s
 
struct  bfa_faa_args_s
 
struct  bfa_iocfc_s
 
struct  bfa_cb_pending_q_s
 

Macros

#define BFA_REQQ_NELEMS_MIN   (4)
 
#define BFA_RSPQ_NELEMS_MIN   (4)
 
#define bfa_reqq_pi(__bfa, __reqq)   ((__bfa)->iocfc.req_cq_pi[__reqq])
 
#define bfa_reqq_ci(__bfa, __reqq)   (*(u32 *)((__bfa)->iocfc.req_cq_shadow_ci[__reqq].kva))
 
#define bfa_reqq_full(__bfa, __reqq)
 
#define bfa_reqq_next(__bfa, __reqq)
 
#define bfa_reqq_produce(__bfa, __reqq, __mh)
 
#define bfa_rspq_pi(__bfa, __rspq)   (*(u32 *)((__bfa)->iocfc.rsp_cq_shadow_pi[__rspq].kva))
 
#define bfa_rspq_ci(__bfa, __rspq)   ((__bfa)->iocfc.rsp_cq_ci[__rspq])
 
#define bfa_rspq_elem(__bfa, __rspq, __ci)   (&((struct bfi_msg_s *)((__bfa)->iocfc.rsp_cq_ba[__rspq].kva))[__ci])
 
#define CQ_INCR(__index, __size)
 
#define bfa_reqq(__bfa, __reqq)   (&(__bfa)->reqq_waitq[__reqq])
 
#define bfa_reqq_wait(__bfa, __reqq, __wqe)
 
#define bfa_reqq_wcancel(__wqe)   list_del(&(__wqe)->qe)
 
#define bfa_cb_queue(__bfa, __hcb_qe, __cbfn, __cbarg)
 
#define bfa_cb_dequeue(__hcb_qe)   list_del(&(__hcb_qe)->qe)
 
#define bfa_cb_queue_once(__bfa, __hcb_qe, __cbfn, __cbarg)
 
#define bfa_cb_queue_status(__bfa, __hcb_qe, __status)
 
#define bfa_cb_queue_done(__hcb_qe)
 
#define BFA_MSIX_MAX_VECTORS   22
 
#define BFA_FAA_ENABLED   1
 
#define BFA_FAA_DISABLED   2
 
#define BFA_MEM_IOC_DMA(_bfa)   (&((_bfa)->iocfc.ioc_dma))
 
#define BFA_MEM_IOCFC_DMA(_bfa)   (&((_bfa)->iocfc.iocfc_dma))
 
#define BFA_MEM_REQQ_DMA(_bfa, _qno)   (&((_bfa)->iocfc.reqq_dma[(_qno)]))
 
#define BFA_MEM_RSPQ_DMA(_bfa, _qno)   (&((_bfa)->iocfc.rspq_dma[(_qno)]))
 
#define BFA_MEM_IOCFC_KVA(_bfa)   (&((_bfa)->iocfc.kva_seg))
 
#define bfa_fn_lpu(__bfa)   bfi_fn_lpu(bfa_ioc_pcifn(&(__bfa)->ioc), bfa_ioc_portid(&(__bfa)->ioc))
 
#define bfa_msix_init(__bfa, __nvecs)   ((__bfa)->iocfc.hwif.hw_msix_init(__bfa, __nvecs))
 
#define bfa_msix_ctrl_install(__bfa)   ((__bfa)->iocfc.hwif.hw_msix_ctrl_install(__bfa))
 
#define bfa_msix_queue_install(__bfa)   ((__bfa)->iocfc.hwif.hw_msix_queue_install(__bfa))
 
#define bfa_msix_uninstall(__bfa)   ((__bfa)->iocfc.hwif.hw_msix_uninstall(__bfa))
 
#define bfa_isr_rspq_ack(__bfa, __queue, __ci)   ((__bfa)->iocfc.hwif.hw_rspq_ack(__bfa, __queue, __ci))
 
#define bfa_isr_reqq_ack(__bfa, __queue)
 
#define bfa_isr_mode_set(__bfa, __msix)
 
#define bfa_msix_getvecs(__bfa, __vecmap, __nvecs, __maxvec)
 
#define bfa_msix_get_rme_range(__bfa, __start, __end)   ((__bfa)->iocfc.hwif.hw_msix_get_rme_range(__bfa, __start, __end))
 
#define bfa_msix(__bfa, __vec)   ((__bfa)->msix.handler[__vec](__bfa, __vec))
 
#define bfa_stats(_mod, _stats)   ((_mod)->stats._stats++)
 
#define bfa_ioc_get_stats(__bfa, __ioc_stats)   bfa_ioc_fetch_stats(&(__bfa)->ioc, __ioc_stats)
 
#define bfa_ioc_clear_stats(__bfa)   bfa_ioc_clr_stats(&(__bfa)->ioc)
 
#define bfa_get_nports(__bfa)   bfa_ioc_get_nports(&(__bfa)->ioc)
 
#define bfa_get_adapter_manufacturer(__bfa, __manufacturer)   bfa_ioc_get_adapter_manufacturer(&(__bfa)->ioc, __manufacturer)
 
#define bfa_get_adapter_model(__bfa, __model)   bfa_ioc_get_adapter_model(&(__bfa)->ioc, __model)
 
#define bfa_get_adapter_serial_num(__bfa, __serial_num)   bfa_ioc_get_adapter_serial_num(&(__bfa)->ioc, __serial_num)
 
#define bfa_get_adapter_fw_ver(__bfa, __fw_ver)   bfa_ioc_get_adapter_fw_ver(&(__bfa)->ioc, __fw_ver)
 
#define bfa_get_adapter_optrom_ver(__bfa, __optrom_ver)   bfa_ioc_get_adapter_optrom_ver(&(__bfa)->ioc, __optrom_ver)
 
#define bfa_get_pci_chip_rev(__bfa, __chip_rev)   bfa_ioc_get_pci_chip_rev(&(__bfa)->ioc, __chip_rev)
 
#define bfa_get_ioc_state(__bfa)   bfa_ioc_get_state(&(__bfa)->ioc)
 
#define bfa_get_type(__bfa)   bfa_ioc_get_type(&(__bfa)->ioc)
 
#define bfa_get_mac(__bfa)   bfa_ioc_get_mac(&(__bfa)->ioc)
 
#define bfa_get_mfg_mac(__bfa)   bfa_ioc_get_mfg_mac(&(__bfa)->ioc)
 
#define bfa_get_fw_clock_res(__bfa)   ((__bfa)->iocfc.cfgrsp->fwcfg.fw_tick_res)
 
#define bfa_get_lun_mask(__bfa)
 
#define bfa_get_lun_mask_list(_bfa)
 
#define bfa_get_lun_mask_status(_bfa)
 
#define bfa_timer_start(_bfa, _timer, _timercb, _arg, _timeout)   bfa_timer_begin(&(_bfa)->timer_mod, _timer, _timercb, _arg, _timeout)
 
#define bfa_pending_q_init(__qe, __cbfn, __cbarg, __data)
 

Typedefs

typedef void(* bfa_isr_func_t )(struct bfa_s *bfa, struct bfi_msg_s *m)
 
typedef void(* bfa_cb_cbfn_status_t )(void *cbarg, bfa_status_t status)
 
typedef void(* bfa_msix_handler_t )(struct bfa_s *bfa, int vec)
 
typedef void(* bfa_cb_iocfc_t )(void *cbarg, enum bfa_status status)
 
typedef void(* bfa_cb_ioc_t )(void *cbarg, enum bfa_status status)
 

Enumerations

enum  {
  BFA_REQQ_IOC = 0, BFA_REQQ_FCXP = 0, BFA_REQQ_LPS = 0, BFA_REQQ_PORT = 0,
  BFA_REQQ_FLASH = 0, BFA_REQQ_DIAG = 0, BFA_REQQ_RPORT = 0, BFA_REQQ_SBOOT = 0,
  BFA_REQQ_QOS_LO = 1, BFA_REQQ_QOS_MD = 2, BFA_REQQ_QOS_HI = 3
}
 

Functions

void bfa_isr_unhandled (struct bfa_s *bfa, struct bfi_msg_s *m)
 
void bfa_iocfc_meminfo (struct bfa_iocfc_cfg_s *cfg, struct bfa_meminfo_s *meminfo, struct bfa_s *bfa)
 
void bfa_iocfc_attach (struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg, struct bfa_pcidev_s *pcidev)
 
void bfa_iocfc_init (struct bfa_s *bfa)
 
void bfa_iocfc_start (struct bfa_s *bfa)
 
void bfa_iocfc_stop (struct bfa_s *bfa)
 
void bfa_iocfc_isr (void *bfa, struct bfi_mbmsg_s *msg)
 
void bfa_iocfc_set_snsbase (struct bfa_s *bfa, int seg_no, u64 snsbase_pa)
 
bfa_boolean_t bfa_iocfc_is_operational (struct bfa_s *bfa)
 
void bfa_iocfc_reset_queues (struct bfa_s *bfa)
 
void bfa_msix_all (struct bfa_s *bfa, int vec)
 
void bfa_msix_reqq (struct bfa_s *bfa, int vec)
 
void bfa_msix_rspq (struct bfa_s *bfa, int vec)
 
void bfa_msix_lpu_err (struct bfa_s *bfa, int vec)
 
void bfa_hwcb_reginit (struct bfa_s *bfa)
 
void bfa_hwcb_rspq_ack (struct bfa_s *bfa, int rspq, u32 ci)
 
void bfa_hwcb_msix_init (struct bfa_s *bfa, int nvecs)
 
void bfa_hwcb_msix_ctrl_install (struct bfa_s *bfa)
 
void bfa_hwcb_msix_queue_install (struct bfa_s *bfa)
 
void bfa_hwcb_msix_uninstall (struct bfa_s *bfa)
 
void bfa_hwcb_isr_mode_set (struct bfa_s *bfa, bfa_boolean_t msix)
 
void bfa_hwcb_msix_getvecs (struct bfa_s *bfa, u32 *vecmap, u32 *nvecs, u32 *maxvec)
 
void bfa_hwcb_msix_get_rme_range (struct bfa_s *bfa, u32 *start, u32 *end)
 
void bfa_hwct_reginit (struct bfa_s *bfa)
 
void bfa_hwct2_reginit (struct bfa_s *bfa)
 
void bfa_hwct_reqq_ack (struct bfa_s *bfa, int rspq)
 
void bfa_hwct_rspq_ack (struct bfa_s *bfa, int rspq, u32 ci)
 
void bfa_hwct2_rspq_ack (struct bfa_s *bfa, int rspq, u32 ci)
 
void bfa_hwct_msix_init (struct bfa_s *bfa, int nvecs)
 
void bfa_hwct_msix_ctrl_install (struct bfa_s *bfa)
 
void bfa_hwct_msix_queue_install (struct bfa_s *bfa)
 
void bfa_hwct_msix_uninstall (struct bfa_s *bfa)
 
void bfa_hwct_isr_mode_set (struct bfa_s *bfa, bfa_boolean_t msix)
 
void bfa_hwct_msix_getvecs (struct bfa_s *bfa, u32 *vecmap, u32 *nvecs, u32 *maxvec)
 
void bfa_hwct_msix_get_rme_range (struct bfa_s *bfa, u32 *start, u32 *end)
 
void bfa_iocfc_get_bootwwns (struct bfa_s *bfa, u8 *nwwns, wwn_t *wwns)
 
int bfa_iocfc_get_pbc_vports (struct bfa_s *bfa, struct bfi_pbc_vport_s *pbc_vport)
 
void bfa_get_pciids (struct bfa_pciid_s **pciids, int *npciids)
 
void bfa_cfg_get_default (struct bfa_iocfc_cfg_s *cfg)
 
void bfa_cfg_get_min (struct bfa_iocfc_cfg_s *cfg)
 
void bfa_cfg_get_meminfo (struct bfa_iocfc_cfg_s *cfg, struct bfa_meminfo_s *meminfo, struct bfa_s *bfa)
 
void bfa_attach (struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg, struct bfa_meminfo_s *meminfo, struct bfa_pcidev_s *pcidev)
 
void bfa_detach (struct bfa_s *bfa)
 
void bfa_cb_init (void *bfad, bfa_status_t status)
 
void bfa_cb_updateq (void *bfad, bfa_status_t status)
 
bfa_boolean_t bfa_intx (struct bfa_s *bfa)
 
void bfa_isr_enable (struct bfa_s *bfa)
 
void bfa_isr_disable (struct bfa_s *bfa)
 
void bfa_comp_deq (struct bfa_s *bfa, struct list_head *comp_q)
 
void bfa_comp_process (struct bfa_s *bfa, struct list_head *comp_q)
 
void bfa_comp_free (struct bfa_s *bfa, struct list_head *comp_q)
 
void bfa_iocfc_get_attr (struct bfa_s *bfa, struct bfa_iocfc_attr_s *attr)
 
bfa_status_t bfa_iocfc_israttr_set (struct bfa_s *bfa, struct bfa_iocfc_intr_attr_s *attr)
 
void bfa_iocfc_enable (struct bfa_s *bfa)
 
void bfa_iocfc_disable (struct bfa_s *bfa)
 

Variables

char bfa_version []
 

Macro Definition Documentation

#define bfa_cb_dequeue (   __hcb_qe)    list_del(&(__hcb_qe)->qe)

Definition at line 129 of file bfa.h.

#define bfa_cb_queue (   __bfa,
  __hcb_qe,
  __cbfn,
  __cbarg 
)
Value:
do { \
(__hcb_qe)->cbfn = (__cbfn); \
(__hcb_qe)->cbarg = (__cbarg); \
(__hcb_qe)->pre_rmv = BFA_FALSE; \
list_add_tail(&(__hcb_qe)->qe, &(__bfa)->comp_q); \
} while (0)

Definition at line 122 of file bfa.h.

#define bfa_cb_queue_done (   __hcb_qe)
Value:
do { \
(__hcb_qe)->once = BFA_FALSE; \
} while (0)

Definition at line 145 of file bfa.h.

#define bfa_cb_queue_once (   __bfa,
  __hcb_qe,
  __cbfn,
  __cbarg 
)
Value:
do { \
(__hcb_qe)->cbfn = (__cbfn); \
(__hcb_qe)->cbarg = (__cbarg); \
if (!(__hcb_qe)->once) { \
list_add_tail(&(__hcb_qe)->qe, &(__bfa)->comp_q); \
(__hcb_qe)->once = BFA_TRUE; \
} \
} while (0)

Definition at line 131 of file bfa.h.

#define bfa_cb_queue_status (   __bfa,
  __hcb_qe,
  __status 
)
Value:
do { \
(__hcb_qe)->fw_status = (__status); \
list_add_tail(&(__hcb_qe)->qe, &(__bfa)->comp_q); \
} while (0)

Definition at line 140 of file bfa.h.

#define BFA_FAA_DISABLED   2

Definition at line 208 of file bfa.h.

#define BFA_FAA_ENABLED   1

Definition at line 207 of file bfa.h.

#define bfa_fn_lpu (   __bfa)    bfi_fn_lpu(bfa_ioc_pcifn(&(__bfa)->ioc), bfa_ioc_portid(&(__bfa)->ioc))

Definition at line 270 of file bfa.h.

#define bfa_get_adapter_fw_ver (   __bfa,
  __fw_ver 
)    bfa_ioc_get_adapter_fw_ver(&(__bfa)->ioc, __fw_ver)

Definition at line 368 of file bfa.h.

#define bfa_get_adapter_manufacturer (   __bfa,
  __manufacturer 
)    bfa_ioc_get_adapter_manufacturer(&(__bfa)->ioc, __manufacturer)

Definition at line 362 of file bfa.h.

#define bfa_get_adapter_model (   __bfa,
  __model 
)    bfa_ioc_get_adapter_model(&(__bfa)->ioc, __model)

Definition at line 364 of file bfa.h.

#define bfa_get_adapter_optrom_ver (   __bfa,
  __optrom_ver 
)    bfa_ioc_get_adapter_optrom_ver(&(__bfa)->ioc, __optrom_ver)

Definition at line 370 of file bfa.h.

#define bfa_get_adapter_serial_num (   __bfa,
  __serial_num 
)    bfa_ioc_get_adapter_serial_num(&(__bfa)->ioc, __serial_num)

Definition at line 366 of file bfa.h.

#define bfa_get_fw_clock_res (   __bfa)    ((__bfa)->iocfc.cfgrsp->fwcfg.fw_tick_res)

Definition at line 382 of file bfa.h.

#define bfa_get_ioc_state (   __bfa)    bfa_ioc_get_state(&(__bfa)->ioc)

Definition at line 374 of file bfa.h.

#define bfa_get_lun_mask (   __bfa)
Value:
((&(__bfa)->modules.dconf_mod)->min_cfg) ? NULL : \
(&(BFA_DCONF_MOD(__bfa)->dconf->lun_mask))

Definition at line 389 of file bfa.h.

#define bfa_get_lun_mask_list (   _bfa)
Value:
((&(_bfa)->modules.dconf_mod)->min_cfg) ? NULL : \
(bfa_get_lun_mask(_bfa)->lun_list)

Definition at line 393 of file bfa.h.

#define bfa_get_lun_mask_status (   _bfa)
Value:
(((&(_bfa)->modules.dconf_mod)->min_cfg) \

Definition at line 397 of file bfa.h.

#define bfa_get_mac (   __bfa)    bfa_ioc_get_mac(&(__bfa)->ioc)

Definition at line 378 of file bfa.h.

#define bfa_get_mfg_mac (   __bfa)    bfa_ioc_get_mfg_mac(&(__bfa)->ioc)

Definition at line 380 of file bfa.h.

#define bfa_get_nports (   __bfa)    bfa_ioc_get_nports(&(__bfa)->ioc)

Definition at line 360 of file bfa.h.

#define bfa_get_pci_chip_rev (   __bfa,
  __chip_rev 
)    bfa_ioc_get_pci_chip_rev(&(__bfa)->ioc, __chip_rev)

Definition at line 372 of file bfa.h.

#define bfa_get_type (   __bfa)    bfa_ioc_get_type(&(__bfa)->ioc)

Definition at line 376 of file bfa.h.

#define bfa_ioc_clear_stats (   __bfa)    bfa_ioc_clr_stats(&(__bfa)->ioc)

Definition at line 358 of file bfa.h.

#define bfa_ioc_get_stats (   __bfa,
  __ioc_stats 
)    bfa_ioc_fetch_stats(&(__bfa)->ioc, __ioc_stats)

Definition at line 356 of file bfa.h.

#define bfa_isr_mode_set (   __bfa,
  __msix 
)
Value:
do { \
if ((__bfa)->iocfc.hwif.hw_isr_mode_set) \
(__bfa)->iocfc.hwif.hw_isr_mode_set(__bfa, __msix); \
} while (0)

Definition at line 286 of file bfa.h.

#define bfa_isr_reqq_ack (   __bfa,
  __queue 
)
Value:
do { \
if ((__bfa)->iocfc.hwif.hw_reqq_ack) \
(__bfa)->iocfc.hwif.hw_reqq_ack(__bfa, __queue); \
} while (0)

Definition at line 282 of file bfa.h.

#define bfa_isr_rspq_ack (   __bfa,
  __queue,
  __ci 
)    ((__bfa)->iocfc.hwif.hw_rspq_ack(__bfa, __queue, __ci))

Definition at line 280 of file bfa.h.

#define BFA_MEM_IOC_DMA (   _bfa)    (&((_bfa)->iocfc.ioc_dma))

Definition at line 264 of file bfa.h.

#define BFA_MEM_IOCFC_DMA (   _bfa)    (&((_bfa)->iocfc.iocfc_dma))

Definition at line 265 of file bfa.h.

#define BFA_MEM_IOCFC_KVA (   _bfa)    (&((_bfa)->iocfc.kva_seg))

Definition at line 268 of file bfa.h.

#define BFA_MEM_REQQ_DMA (   _bfa,
  _qno 
)    (&((_bfa)->iocfc.reqq_dma[(_qno)]))

Definition at line 266 of file bfa.h.

#define BFA_MEM_RSPQ_DMA (   _bfa,
  _qno 
)    (&((_bfa)->iocfc.rspq_dma[(_qno)]))

Definition at line 267 of file bfa.h.

#define bfa_msix (   __bfa,
  __vec 
)    ((__bfa)->msix.handler[__vec](__bfa, __vec))

Definition at line 295 of file bfa.h.

#define bfa_msix_ctrl_install (   __bfa)    ((__bfa)->iocfc.hwif.hw_msix_ctrl_install(__bfa))

Definition at line 274 of file bfa.h.

#define bfa_msix_get_rme_range (   __bfa,
  __start,
  __end 
)    ((__bfa)->iocfc.hwif.hw_msix_get_rme_range(__bfa, __start, __end))

Definition at line 293 of file bfa.h.

#define bfa_msix_getvecs (   __bfa,
  __vecmap,
  __nvecs,
  __maxvec 
)
Value:
((__bfa)->iocfc.hwif.hw_msix_getvecs(__bfa, __vecmap, \
__nvecs, __maxvec))

Definition at line 290 of file bfa.h.

#define bfa_msix_init (   __bfa,
  __nvecs 
)    ((__bfa)->iocfc.hwif.hw_msix_init(__bfa, __nvecs))

Definition at line 272 of file bfa.h.

#define BFA_MSIX_MAX_VECTORS   22

Definition at line 174 of file bfa.h.

#define bfa_msix_queue_install (   __bfa)    ((__bfa)->iocfc.hwif.hw_msix_queue_install(__bfa))

Definition at line 276 of file bfa.h.

#define bfa_msix_uninstall (   __bfa)    ((__bfa)->iocfc.hwif.hw_msix_uninstall(__bfa))

Definition at line 278 of file bfa.h.

#define bfa_pending_q_init (   __qe,
  __cbfn,
  __cbarg,
  __data 
)
Value:
do { \
bfa_q_qe_init(&((__qe)->hcb_qe.qe)); \
(__qe)->hcb_qe.cbfn = (__cbfn); \
(__qe)->hcb_qe.cbarg = (__cbarg); \
(__qe)->hcb_qe.pre_rmv = BFA_TRUE; \
(__qe)->data = (__data); \
} while (0)

Definition at line 440 of file bfa.h.

#define bfa_reqq (   __bfa,
  __reqq 
)    (&(__bfa)->reqq_waitq[__reqq])

Definition at line 104 of file bfa.h.

#define bfa_reqq_ci (   __bfa,
  __reqq 
)    (*(u32 *)((__bfa)->iocfc.req_cq_shadow_ci[__reqq].kva))

Definition at line 44 of file bfa.h.

#define bfa_reqq_full (   __bfa,
  __reqq 
)
Value:
(((bfa_reqq_pi(__bfa, __reqq) + 1) & \
((__bfa)->iocfc.cfg.drvcfg.num_reqq_elems - 1)) == \
bfa_reqq_ci(__bfa, __reqq))

Definition at line 47 of file bfa.h.

#define BFA_REQQ_NELEMS_MIN   (4)

Definition at line 40 of file bfa.h.

#define bfa_reqq_next (   __bfa,
  __reqq 
)
Value:
(bfa_reqq_full(__bfa, __reqq) ? NULL : \
((void *)((struct bfi_msg_s *)((__bfa)->iocfc.req_cq_ba[__reqq].kva) \
+ bfa_reqq_pi((__bfa), (__reqq)))))

Definition at line 52 of file bfa.h.

#define bfa_reqq_pi (   __bfa,
  __reqq 
)    ((__bfa)->iocfc.req_cq_pi[__reqq])

Definition at line 43 of file bfa.h.

#define bfa_reqq_produce (   __bfa,
  __reqq,
  __mh 
)
Value:
do { \
(__mh).mtag.h2i.qid = (__bfa)->iocfc.hw_qid[__reqq];\
(__bfa)->iocfc.req_cq_pi[__reqq]++; \
(__bfa)->iocfc.req_cq_pi[__reqq] &= \
((__bfa)->iocfc.cfg.drvcfg.num_reqq_elems - 1); \
writel((__bfa)->iocfc.req_cq_pi[__reqq], \
(__bfa)->iocfc.bfa_regs.cpe_q_pi[__reqq]); \
mmiowb(); \
} while (0)

Definition at line 57 of file bfa.h.

#define bfa_reqq_wait (   __bfa,
  __reqq,
  __wqe 
)
Value:
do { \
\
struct list_head *waitq = bfa_reqq(__bfa, __reqq); \
WARN_ON(((__reqq) >= BFI_IOC_MAX_CQS)); \
WARN_ON(!((__wqe)->qresume && (__wqe)->cbarg)); \
list_add_tail(&(__wqe)->qe, waitq); \
} while (0)

Definition at line 110 of file bfa.h.

#define bfa_reqq_wcancel (   __wqe)    list_del(&(__wqe)->qe)

Definition at line 120 of file bfa.h.

#define bfa_rspq_ci (   __bfa,
  __rspq 
)    ((__bfa)->iocfc.rsp_cq_ci[__rspq])

Definition at line 70 of file bfa.h.

#define bfa_rspq_elem (   __bfa,
  __rspq,
  __ci 
)    (&((struct bfi_msg_s *)((__bfa)->iocfc.rsp_cq_ba[__rspq].kva))[__ci])

Definition at line 71 of file bfa.h.

#define BFA_RSPQ_NELEMS_MIN   (4)

Definition at line 41 of file bfa.h.

#define bfa_rspq_pi (   __bfa,
  __rspq 
)    (*(u32 *)((__bfa)->iocfc.rsp_cq_shadow_pi[__rspq].kva))

Definition at line 67 of file bfa.h.

#define bfa_stats (   _mod,
  _stats 
)    ((_mod)->stats._stats++)

Definition at line 355 of file bfa.h.

#define bfa_timer_start (   _bfa,
  _timer,
  _timercb,
  _arg,
  _timeout 
)    bfa_timer_begin(&(_bfa)->timer_mod, _timer, _timercb, _arg, _timeout)

Definition at line 431 of file bfa.h.

#define CQ_INCR (   __index,
  __size 
)
Value:
do { \
(__index)++; \
(__index) &= ((__size) - 1); \
} while (0)

Definition at line 74 of file bfa.h.

Typedef Documentation

typedef void(* bfa_cb_cbfn_status_t)(void *cbarg, bfa_status_t status)

Definition at line 30 of file bfa.h.

typedef void(* bfa_cb_ioc_t)(void *cbarg, enum bfa_status status)

Definition at line 422 of file bfa.h.

typedef void(* bfa_cb_iocfc_t)(void *cbarg, enum bfa_status status)

Definition at line 200 of file bfa.h.

typedef void(* bfa_isr_func_t)(struct bfa_s *bfa, struct bfi_msg_s *m)

Definition at line 29 of file bfa.h.

typedef void(* bfa_msix_handler_t)(struct bfa_s *bfa, int vec)

Definition at line 175 of file bfa.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
BFA_REQQ_IOC 
BFA_REQQ_FCXP 
BFA_REQQ_LPS 
BFA_REQQ_PORT 
BFA_REQQ_FLASH 
BFA_REQQ_DIAG 
BFA_REQQ_RPORT 
BFA_REQQ_SBOOT 
BFA_REQQ_QOS_LO 
BFA_REQQ_QOS_MD 
BFA_REQQ_QOS_HI 

Definition at line 82 of file bfa.h.

Function Documentation

void bfa_attach ( struct bfa_s bfa,
void bfad,
struct bfa_iocfc_cfg_s cfg,
struct bfa_meminfo_s meminfo,
struct bfa_pcidev_s pcidev 
)

Definition at line 1821 of file bfa_core.c.

void bfa_cb_init ( void bfad,
bfa_status_t  status 
)

Definition at line 402 of file bfad.c.

void bfa_cb_updateq ( void bfad,
bfa_status_t  status 
)
void bfa_cfg_get_default ( struct bfa_iocfc_cfg_s cfg)

Definition at line 1963 of file bfa_core.c.

void bfa_cfg_get_meminfo ( struct bfa_iocfc_cfg_s cfg,
struct bfa_meminfo_s meminfo,
struct bfa_s bfa 
)

Definition at line 1754 of file bfa_core.c.

void bfa_cfg_get_min ( struct bfa_iocfc_cfg_s cfg)

Definition at line 1987 of file bfa_core.c.

void bfa_comp_deq ( struct bfa_s bfa,
struct list_head comp_q 
)

Definition at line 1891 of file bfa_core.c.

void bfa_comp_free ( struct bfa_s bfa,
struct list_head comp_q 
)

Definition at line 1918 of file bfa_core.c.

void bfa_comp_process ( struct bfa_s bfa,
struct list_head comp_q 
)

Definition at line 1898 of file bfa_core.c.

void bfa_detach ( struct bfa_s bfa)

Definition at line 1881 of file bfa_core.c.

void bfa_get_pciids ( struct bfa_pciid_s **  pciids,
int npciids 
)

Definition at line 1936 of file bfa_core.c.

void bfa_hwcb_isr_mode_set ( struct bfa_s bfa,
bfa_boolean_t  msix 
)

Definition at line 175 of file bfa_hw_cb.c.

void bfa_hwcb_msix_ctrl_install ( struct bfa_s bfa)

Definition at line 124 of file bfa_hw_cb.c.

void bfa_hwcb_msix_get_rme_range ( struct bfa_s bfa,
u32 start,
u32 end 
)

Definition at line 187 of file bfa_hw_cb.c.

void bfa_hwcb_msix_getvecs ( struct bfa_s bfa,
u32 vecmap,
u32 nvecs,
u32 maxvec 
)

Definition at line 78 of file bfa_hw_cb.c.

void bfa_hwcb_msix_init ( struct bfa_s bfa,
int  nvecs 
)

Definition at line 115 of file bfa_hw_cb.c.

void bfa_hwcb_msix_queue_install ( struct bfa_s bfa)

Definition at line 142 of file bfa_hw_cb.c.

void bfa_hwcb_msix_uninstall ( struct bfa_s bfa)

Definition at line 163 of file bfa_hw_cb.c.

void bfa_hwcb_reginit ( struct bfa_s bfa)

Definition at line 23 of file bfa_hw_cb.c.

void bfa_hwcb_rspq_ack ( struct bfa_s bfa,
int  rspq,
u32  ci 
)

Definition at line 67 of file bfa_hw_cb.c.

void bfa_hwct2_reginit ( struct bfa_s bfa)

Definition at line 49 of file bfa_hw_ct.c.

void bfa_hwct2_rspq_ack ( struct bfa_s bfa,
int  rspq,
u32  ci 
)

Definition at line 92 of file bfa_hw_ct.c.

void bfa_hwct_isr_mode_set ( struct bfa_s bfa,
bfa_boolean_t  msix 
)

Definition at line 167 of file bfa_hw_ct.c.

void bfa_hwct_msix_ctrl_install ( struct bfa_s bfa)

Definition at line 122 of file bfa_hw_ct.c.

void bfa_hwct_msix_get_rme_range ( struct bfa_s bfa,
u32 start,
u32 end 
)

Definition at line 174 of file bfa_hw_ct.c.

void bfa_hwct_msix_getvecs ( struct bfa_s bfa,
u32 vecmap,
u32 nvecs,
u32 maxvec 
)

Definition at line 100 of file bfa_hw_ct.c.

void bfa_hwct_msix_init ( struct bfa_s bfa,
int  nvecs 
)

Definition at line 112 of file bfa_hw_ct.c.

void bfa_hwct_msix_queue_install ( struct bfa_s bfa)

Definition at line 134 of file bfa_hw_ct.c.

void bfa_hwct_msix_uninstall ( struct bfa_s bfa)

Definition at line 155 of file bfa_hw_ct.c.

void bfa_hwct_reginit ( struct bfa_s bfa)

Definition at line 33 of file bfa_hw_ct.c.

void bfa_hwct_reqq_ack ( struct bfa_s bfa,
int  rspq 
)

Definition at line 59 of file bfa_hw_ct.c.

void bfa_hwct_rspq_ack ( struct bfa_s bfa,
int  rspq,
u32  ci 
)

Definition at line 74 of file bfa_hw_ct.c.

bfa_boolean_t bfa_intx ( struct bfa_s bfa)

Definition at line 805 of file bfa_core.c.

void bfa_iocfc_attach ( struct bfa_s bfa,
void bfad,
struct bfa_iocfc_cfg_s cfg,
struct bfa_pcidev_s pcidev 
)

Definition at line 1512 of file bfa_core.c.

void bfa_iocfc_disable ( struct bfa_s bfa)

Definition at line 1672 of file bfa_core.c.

void bfa_iocfc_enable ( struct bfa_s bfa)

Definition at line 1663 of file bfa_core.c.

void bfa_iocfc_get_attr ( struct bfa_s bfa,
struct bfa_iocfc_attr_s attr 
)

Definition at line 1604 of file bfa_core.c.

void bfa_iocfc_get_bootwwns ( struct bfa_s bfa,
u8 nwwns,
wwn_t wwns 
)

Definition at line 1692 of file bfa_core.c.

int bfa_iocfc_get_pbc_vports ( struct bfa_s bfa,
struct bfi_pbc_vport_s pbc_vport 
)

Definition at line 1712 of file bfa_core.c.

void bfa_iocfc_init ( struct bfa_s bfa)

Definition at line 1548 of file bfa_core.c.

bfa_boolean_t bfa_iocfc_is_operational ( struct bfa_s bfa)

Definition at line 1682 of file bfa_core.c.

void bfa_iocfc_isr ( void bfa,
struct bfi_mbmsg_s msg 
)

Definition at line 1575 of file bfa_core.c.

bfa_status_t bfa_iocfc_israttr_set ( struct bfa_s bfa,
struct bfa_iocfc_intr_attr_s attr 
)

Definition at line 1622 of file bfa_core.c.

void bfa_iocfc_meminfo ( struct bfa_iocfc_cfg_s cfg,
struct bfa_meminfo_s meminfo,
struct bfa_s bfa 
)

Definition at line 1466 of file bfa_core.c.

void bfa_iocfc_reset_queues ( struct bfa_s bfa)

Definition at line 1312 of file bfa_core.c.

void bfa_iocfc_set_snsbase ( struct bfa_s bfa,
int  seg_no,
u64  snsbase_pa 
)

Definition at line 1652 of file bfa_core.c.

void bfa_iocfc_start ( struct bfa_s bfa)

Definition at line 1558 of file bfa_core.c.

void bfa_iocfc_stop ( struct bfa_s bfa)

Definition at line 1568 of file bfa_core.c.

void bfa_isr_disable ( struct bfa_s bfa)

Definition at line 879 of file bfa_core.c.

void bfa_isr_enable ( struct bfa_s bfa)

Definition at line 848 of file bfa_core.c.

void bfa_isr_unhandled ( struct bfa_s bfa,
struct bfi_msg_s m 
)

Definition at line 894 of file bfa_core.c.

void bfa_msix_all ( struct bfa_s bfa,
int  vec 
)

Definition at line 767 of file bfa_core.c.

void bfa_msix_lpu_err ( struct bfa_s bfa,
int  vec 
)

Definition at line 910 of file bfa_core.c.

void bfa_msix_reqq ( struct bfa_s bfa,
int  vec 
)

Definition at line 888 of file bfa_core.c.

void bfa_msix_rspq ( struct bfa_s bfa,
int  vec 
)

Definition at line 904 of file bfa_core.c.

Variable Documentation

char bfa_version[]