/linux-6.1.9/drivers/scsi/bfa/ |
D | bfa_core.c | 90 bfa_com_port_attach(struct bfa_s *bfa) in bfa_com_port_attach() argument 92 struct bfa_port_s *port = &bfa->modules.port; in bfa_com_port_attach() 93 struct bfa_mem_dma_s *port_dma = BFA_MEM_PORT_DMA(bfa); in bfa_com_port_attach() 95 bfa_port_attach(port, &bfa->ioc, bfa, bfa->trcmod); in bfa_com_port_attach() 103 bfa_com_ablk_attach(struct bfa_s *bfa) in bfa_com_ablk_attach() argument 105 struct bfa_ablk_s *ablk = &bfa->modules.ablk; in bfa_com_ablk_attach() 106 struct bfa_mem_dma_s *ablk_dma = BFA_MEM_ABLK_DMA(bfa); in bfa_com_ablk_attach() 108 bfa_ablk_attach(ablk, &bfa->ioc); in bfa_com_ablk_attach() 113 bfa_com_cee_attach(struct bfa_s *bfa) in bfa_com_cee_attach() argument 115 struct bfa_cee_s *cee = &bfa->modules.cee; in bfa_com_cee_attach() [all …]
|
D | bfa_hw_ct.c | 21 bfa_hwct_msix_dummy(struct bfa_s *bfa, int vec) in bfa_hwct_msix_dummy() argument 26 bfa_hwct_reginit(struct bfa_s *bfa) in bfa_hwct_reginit() argument 28 struct bfa_iocfc_regs_s *bfa_regs = &bfa->iocfc.bfa_regs; in bfa_hwct_reginit() 29 void __iomem *kva = bfa_ioc_bar0(&bfa->ioc); in bfa_hwct_reginit() 30 int fn = bfa_ioc_pcifn(&bfa->ioc); in bfa_hwct_reginit() 42 bfa_hwct2_reginit(struct bfa_s *bfa) in bfa_hwct2_reginit() argument 44 struct bfa_iocfc_regs_s *bfa_regs = &bfa->iocfc.bfa_regs; in bfa_hwct2_reginit() 45 void __iomem *kva = bfa_ioc_bar0(&bfa->ioc); in bfa_hwct2_reginit() 52 bfa_hwct_reqq_ack(struct bfa_s *bfa, int reqq) in bfa_hwct_reqq_ack() argument 56 r32 = readl(bfa->iocfc.bfa_regs.cpe_q_ctrl[reqq]); in bfa_hwct_reqq_ack() [all …]
|
D | bfa_hw_cb.c | 16 bfa_hwcb_reginit(struct bfa_s *bfa) in bfa_hwcb_reginit() argument 18 struct bfa_iocfc_regs_s *bfa_regs = &bfa->iocfc.bfa_regs; in bfa_hwcb_reginit() 19 void __iomem *kva = bfa_ioc_bar0(&bfa->ioc); in bfa_hwcb_reginit() 20 int fn = bfa_ioc_pcifn(&bfa->ioc); in bfa_hwcb_reginit() 32 bfa_hwcb_reqq_ack_msix(struct bfa_s *bfa, int reqq) in bfa_hwcb_reqq_ack_msix() argument 34 writel(__HFN_INT_CPE_Q0 << CPE_Q_NUM(bfa_ioc_pcifn(&bfa->ioc), reqq), in bfa_hwcb_reqq_ack_msix() 35 bfa->iocfc.bfa_regs.intr_status); in bfa_hwcb_reqq_ack_msix() 46 bfa_hwcb_rspq_ack_msix(struct bfa_s *bfa, int rspq, u32 ci) in bfa_hwcb_rspq_ack_msix() argument 48 writel(__HFN_INT_RME_Q0 << RME_Q_NUM(bfa_ioc_pcifn(&bfa->ioc), rspq), in bfa_hwcb_rspq_ack_msix() 49 bfa->iocfc.bfa_regs.intr_status); in bfa_hwcb_rspq_ack_msix() [all …]
|
D | bfa_svc.c | 39 #define BFA_PORT_IS_DISABLED(bfa) \ argument 40 ((bfa_fcport_is_disabled(bfa) == BFA_TRUE) || \ 41 (bfa_ioc_is_disabled(&bfa->ioc) == BFA_TRUE)) 77 if ((__rp)->bfa->fcs) \ 80 bfa_cb_queue((__rp)->bfa, &(__rp)->hcb_qe, \ 86 if ((__rp)->bfa->fcs) \ 89 bfa_cb_queue((__rp)->bfa, &(__rp)->hcb_qe, \ 98 static void hal_fcxp_rx_plog(struct bfa_s *bfa, struct bfa_fcxp_s *fcxp, 100 static void hal_fcxp_tx_plog(struct bfa_s *bfa, u32 reqlen, 109 static void bfa_lps_login_rsp(struct bfa_s *bfa, [all …]
|
D | bfa_svc.h | 56 struct bfa_s *bfa; member 67 bfa_status_t bfa_sgpg_malloc(struct bfa_s *bfa, struct list_head *sgpg_q, 69 void bfa_sgpg_mfree(struct bfa_s *bfa, struct list_head *sgpg_q, int nsgpgs); 72 void bfa_sgpg_wait(struct bfa_s *bfa, struct bfa_sgpg_wqe_s *wqe, int nsgpgs); 73 void bfa_sgpg_wcancel(struct bfa_s *bfa, struct bfa_sgpg_wqe_s *wqe); 90 struct bfa_s *bfa; /* backpointer to BFA */ member 204 struct bfa_s *bfa; member 227 void bfa_fcxp_isr(struct bfa_s *bfa, struct bfi_msg_s *msg); 269 void bfa_rport_isr(struct bfa_s *bfa, struct bfi_msg_s *msg); 270 void bfa_rport_res_recfg(struct bfa_s *bfa, u16 num_rport_fw); [all …]
|
D | bfa.h | 22 typedef void (*bfa_isr_func_t) (struct bfa_s *bfa, struct bfi_msg_s *m); 28 void bfa_isr_unhandled(struct bfa_s *bfa, struct bfi_msg_s *m); 167 typedef void (*bfa_msix_handler_t)(struct bfa_s *bfa, int vec); 177 void (*hw_reginit)(struct bfa_s *bfa); 178 void (*hw_reqq_ack)(struct bfa_s *bfa, int reqq); 179 void (*hw_rspq_ack)(struct bfa_s *bfa, int rspq, u32 ci); 180 void (*hw_msix_init)(struct bfa_s *bfa, int nvecs); 181 void (*hw_msix_ctrl_install)(struct bfa_s *bfa); 182 void (*hw_msix_queue_install)(struct bfa_s *bfa); 183 void (*hw_msix_uninstall)(struct bfa_s *bfa); [all …]
|
D | bfa_fcpim.c | 36 if ((__itnim)->bfa->fcs) \ 39 bfa_cb_queue((__itnim)->bfa, &(__itnim)->hcb_qe, \ 45 if ((__itnim)->bfa->fcs) \ 48 bfa_cb_queue((__itnim)->bfa, &(__itnim)->hcb_qe, \ 54 if ((__itnim)->bfa->fcs) \ 57 bfa_cb_queue((__itnim)->bfa, &(__itnim)->hcb_qe, \ 134 bfa_cb_queue((__tskim)->bfa, &(__tskim)->hcb_qe, __cbfn, (__tskim));\ 312 struct bfa_s *bfa = fcp->bfa; in bfa_fcpim_attach() local 314 bfa_trc(bfa, cfg->drvcfg.path_tov); in bfa_fcpim_attach() 315 bfa_trc(bfa, cfg->fwcfg.num_rports); in bfa_fcpim_attach() [all …]
|
D | bfa_fcpim.h | 34 void bfa_itn_create(struct bfa_s *bfa, struct bfa_rport_s *rport, 35 void (*isr)(struct bfa_s *bfa, struct bfi_msg_s *m)); 36 void bfa_itn_isr(struct bfa_s *bfa, struct bfi_msg_s *m); 38 void bfa_fcp_res_recfg(struct bfa_s *bfa, u16 num_ioim_fw, u16 max_ioim_fw); 110 struct bfa_s *bfa; member 140 struct bfa_s *bfa; member 163 struct bfa_s *bfa; /* BFA module */ member 195 struct bfa_s *bfa; /* BFA module */ member 217 struct bfa_s *bfa; /* bfa instance */ member 271 void bfa_ioim_isr(struct bfa_s *bfa, struct bfi_msg_s *msg); [all …]
|
D | bfad_bsg.c | 26 if (!bfa_ioc_is_disabled(&bfad->bfa.ioc)) { in bfad_iocmd_ioc_enable() 33 bfa_iocfc_enable(&bfad->bfa); in bfad_iocmd_ioc_enable() 48 if (bfa_ioc_is_disabled(&bfad->bfa.ioc)) { in bfad_iocmd_ioc_disable() 61 bfa_iocfc_disable(&bfad->bfa); in bfad_iocmd_ioc_disable() 81 bfa_fcport_get_attr(&bfad->bfa, &pattr); in bfad_iocmd_ioc_get_info() 84 iocmd->ioc_type = bfa_get_type(&bfad->bfa); in bfad_iocmd_ioc_get_info() 85 iocmd->mac = bfa_get_mac(&bfad->bfa); in bfad_iocmd_ioc_get_info() 86 iocmd->factory_mac = bfa_get_mfg_mac(&bfad->bfa); in bfad_iocmd_ioc_get_info() 87 bfa_get_adapter_serial_num(&bfad->bfa, iocmd->serialnum); in bfad_iocmd_ioc_get_info() 117 bfa_ioc_get_attr(&bfad->bfa.ioc, &iocmd->ioc_attr); in bfad_iocmd_ioc_get_attr() [all …]
|
D | Makefile | 2 obj-$(CONFIG_SCSI_BFA_FC) := bfa.o 4 bfa-y := bfad.o bfad_im.o bfad_attr.o bfad_debugfs.o bfad_bsg.o 5 bfa-y += bfa_ioc.o bfa_ioc_cb.o bfa_ioc_ct.o bfa_hw_cb.o bfa_hw_ct.o 6 bfa-y += bfa_fcs.o bfa_fcs_lport.o bfa_fcs_rport.o bfa_fcs_fcpim.o bfa_fcbuild.o 7 bfa-y += bfa_port.o bfa_fcpim.o bfa_core.o bfa_svc.o
|
D | bfa_fcs.c | 58 struct bfa_ioc_s *ioc = &fabric->fcs->bfa->ioc; in bfa_fcs_update_cfg() 88 bfa_iocfc_get_pbc_vports(fcs->bfa, pbc_vports); in bfa_fcs_pbc_vport_init() 90 bfa_fcb_pbc_vport_create(fcs->bfa->bfad, pbc_vports[i]); in bfa_fcs_pbc_vport_init() 140 if (bfa_fcport_get_topology((__fabric)->fcs->bfa) \ 233 struct bfa_s *bfa = fabric->fcs->bfa; in bfa_fcs_fabric_sm_created() local 240 if (!bfa_fcport_is_linkup(fabric->fcs->bfa)) { in bfa_fcs_fabric_sm_created() 244 if (bfa_fcport_get_topology(bfa) == in bfa_fcs_fabric_sm_created() 247 fabric->bport.pid = bfa_fcport_get_myalpa(bfa); in bfa_fcs_fabric_sm_created() 281 struct bfa_s *bfa = fabric->fcs->bfa; in bfa_fcs_fabric_sm_linkdown() local 288 if (bfa_fcport_get_topology(bfa) != BFA_PORT_TOPOLOGY_LOOP) { in bfa_fcs_fabric_sm_linkdown() [all …]
|
D | bfa_fcs_rport.c | 223 bfa_fcxp_walloc_cancel(rport->fcs->bfa, &rport->fcxp_wqe); in bfa_fcs_rport_sm_plogi_sending() 229 bfa_fcxp_walloc_cancel(rport->fcs->bfa, &rport->fcxp_wqe); in bfa_fcs_rport_sm_plogi_sending() 235 bfa_fcxp_walloc_cancel(rport->fcs->bfa, &rport->fcxp_wqe); in bfa_fcs_rport_sm_plogi_sending() 236 bfa_timer_start(rport->fcs->bfa, &rport->timer, in bfa_fcs_rport_sm_plogi_sending() 243 bfa_fcxp_walloc_cancel(rport->fcs->bfa, &rport->fcxp_wqe); in bfa_fcs_rport_sm_plogi_sending() 244 WARN_ON(!(bfa_fcport_get_topology(rport->port->fcs->bfa) != in bfa_fcs_rport_sm_plogi_sending() 254 bfa_fcxp_walloc_cancel(rport->fcs->bfa, &rport->fcxp_wqe); in bfa_fcs_rport_sm_plogi_sending() 255 bfa_timer_start(rport->fcs->bfa, &rport->timer, in bfa_fcs_rport_sm_plogi_sending() 285 bfa_fcxp_walloc_cancel(rport->fcs->bfa, &rport->fcxp_wqe); in bfa_fcs_rport_sm_plogiacc_sending() 299 bfa_fcxp_walloc_cancel(rport->fcs->bfa, &rport->fcxp_wqe); in bfa_fcs_rport_sm_plogiacc_sending() [all …]
|
D | bfad_debugfs.c | 85 rc = bfa_ioc_debug_fwtrc(&bfad->bfa.ioc, in bfad_debugfs_open_fwtrc() 127 rc = bfa_ioc_debug_fwsave(&bfad->bfa.ioc, in bfad_debugfs_open_fwsave() 191 bfad_reg_offset_check(struct bfa_s *bfa, u32 offset, u32 len) in bfad_reg_offset_check() argument 207 if ((offset + (len<<2)) > BFA_REG_ADDRMSK(&bfa->ioc)) in bfad_reg_offset_check() 244 struct bfa_s *bfa = &bfad->bfa; in bfad_debugfs_write_regrd() local 245 struct bfa_ioc_s *ioc = &bfa->ioc; in bfad_debugfs_write_regrd() 283 rc = bfad_reg_offset_check(bfa, addr, len); in bfad_debugfs_write_regrd() 313 struct bfa_s *bfa = &bfad->bfa; in bfad_debugfs_write_regwr() local 314 struct bfa_ioc_s *ioc = &bfa->ioc; in bfad_debugfs_write_regwr() 337 rc = bfad_reg_offset_check(bfa, addr, 1); in bfad_debugfs_write_regwr()
|
D | bfad_attr.c | 153 bfa_fcport_get_attr(&bfad->bfa, &attr); in bfad_im_get_host_port_state() 209 bfa_fcport_get_attr(&bfad->bfa, &attr); in bfad_im_get_host_speed() 275 rc = bfa_port_get_stats(BFA_FCPORT(&bfad->bfa), in bfad_im_get_stats() 320 rc = bfa_port_clear_stats(BFA_FCPORT(&bfad->bfa), bfad_hcb_comp, in bfad_im_reset_stats() 344 uint16_t path_tov = bfa_fcpim_path_tov_get(&bfad->bfa); in bfad_im_set_rport_loss_tmo() 420 bfad_im_supported_speeds(&bfad->bfa); in bfad_im_vport_create() 422 bfa_fcport_get_maxfrsize(&bfad->bfa); in bfad_im_vport_create() 452 status = bfa_port_disable(&bfad->bfa.modules.port, in bfad_im_issue_fc_host_lip() 464 status = bfa_port_enable(&bfad->bfa.modules.port, in bfad_im_issue_fc_host_lip() 713 bfa_get_adapter_serial_num(&bfad->bfa, serial_num); in bfad_im_serial_num_show() [all …]
|
D | bfa_modules.h | 83 void bfa_fcp_iocdisable(struct bfa_s *bfa); 99 void bfa_fcdiag_attach(struct bfa_s *bfa, void *, struct bfa_iocfc_cfg_s *, 102 void bfa_lps_iocdisable(struct bfa_s *bfa); 107 void bfa_rport_iocdisable(struct bfa_s *bfa);
|
D | bfad.c | 215 bfa_iocfc_init(&bfad->bfa); in bfad_sm_created() 597 bfa_cfg_get_meminfo(&bfad->ioc_cfg, hal_meminfo, &bfad->bfa); in bfad_hal_mem_alloc() 694 bfa_timer_beat(&bfad->bfa.timer_mod); in bfad_bfa_tmo() 696 bfa_comp_deq(&bfad->bfa, &doneq); in bfad_bfa_tmo() 700 bfa_comp_process(&bfad->bfa, &doneq); in bfad_bfa_tmo() 702 bfa_comp_free(&bfad->bfa, &doneq); in bfad_bfa_tmo() 829 bfad->bfa.trcmod = bfad->trcmod; in bfad_drv_init() 830 bfad->bfa.plog = &bfad->plog_buf; in bfad_drv_init() 835 bfa_attach(&bfad->bfa, bfad, &bfad->ioc_cfg, &bfad->meminfo, in bfad_drv_init() 841 bfa_fcs_attach(&bfad->bfa_fcs, &bfad->bfa, bfad, BFA_FALSE); in bfad_drv_init() [all …]
|
D | bfa_ioc.c | 337 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE); in bfa_ioc_sm_enabling() 344 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE); in bfa_ioc_sm_enabling() 392 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE); in bfa_ioc_sm_getattr() 414 struct bfad_s *bfad = (struct bfad_s *)ioc->bfa->bfad; in bfa_ioc_sm_op_entry() 416 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_OK); in bfa_ioc_sm_op_entry() 462 struct bfad_s *bfad = (struct bfad_s *)ioc->bfa->bfad; in bfa_ioc_sm_disabling_entry() 520 ioc->cbfn->disable_cbfn(ioc->bfa); in bfa_ioc_sm_disabled() 558 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE); in bfa_ioc_sm_fail_retry() 565 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE); in bfa_ioc_sm_fail_retry() 604 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE); in bfa_ioc_sm_fail() [all …]
|
D | bfad_im.c | 249 tskim = bfa_tskim_alloc(&bfad->bfa, (struct bfad_tskim_s *) cmnd); in bfad_im_target_reset_send() 315 tskim = bfa_tskim_alloc(&bfad->bfa, (struct bfad_tskim_s *) cmnd); in bfad_im_reset_lun_handler() 932 struct bfa_s *bfa = itnim_data->itnim->bfa_itnim->bfa; in bfad_im_check_if_make_lun_visible() local 934 struct bfa_lun_mask_s *lun_list = bfa_get_lun_mask_list(bfa); in bfad_im_check_if_make_lun_visible() 957 struct bfa_s *bfa; in bfad_im_slave_alloc() local 963 bfa = itnim_data->itnim->bfa_itnim->bfa; in bfad_im_slave_alloc() 965 if (bfa_get_lun_mask_status(bfa) == BFA_LUNMASK_ENABLED) { in bfad_im_slave_alloc() 991 bfad_im_supported_speeds(struct bfa_s *bfa) in bfad_im_supported_speeds() argument 1000 bfa_ioc_get_attr(&bfa->ioc, ioc_attr); in bfad_im_supported_speeds() 1031 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(&bfad->bfa); in bfad_fc_host_init() [all …]
|
D | bfa_fcs_lport.c | 1291 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(port->fcs->bfa); in bfa_fcport_get_loop_attr() 1299 bfa_trc(port->fcs->bfa, fcport->alpabm.alpa_bm[i]); in bfa_fcport_get_loop_attr() 1305 bfa_trc(port->fcs->bfa, k); in bfa_fcport_get_loop_attr() 1306 bfa_trc(port->fcs->bfa, in bfa_fcport_get_loop_attr() 1340 bfa_trc(port->fcs->bfa, port->pid); in bfa_fcs_lport_loop_online() 1341 bfa_trc(port->fcs->bfa, num_alpa); in bfa_fcs_lport_loop_online() 1344 bfa_trc(port->fcs->bfa, alpa_map[i]); in bfa_fcs_lport_loop_online() 1347 bfa_trc(port->fcs->bfa, pid); in bfa_fcs_lport_loop_online() 1359 bfa_trc(port->fcs->bfa, pid); in bfa_fcs_lport_loop_online() 1874 bfa_fcs_fcxp_alloc_wait(port->fcs->bfa, &fdmi->fcxp_wqe, in bfa_fcs_lport_fdmi_send_rhba() [all …]
|
D | bfa_ioc.h | 249 typedef void (*bfa_ioc_enable_cbfn_t)(void *bfa, enum bfa_status status); 250 typedef void (*bfa_ioc_disable_cbfn_t)(void *bfa); 251 typedef void (*bfa_ioc_hbfail_cbfn_t)(void *bfa); 252 typedef void (*bfa_ioc_reset_cbfn_t)(void *bfa); 295 struct bfa_s *bfa; member 784 struct bfa_s *bfa; member 800 void bfa_dconf_modinit(struct bfa_s *bfa); 801 void bfa_dconf_modexit(struct bfa_s *bfa); 802 bfa_status_t bfa_dconf_update(struct bfa_s *bfa); 878 void bfa_ioc_attach(struct bfa_ioc_s *ioc, void *bfa,
|
D | bfa_fcs_fcpim.c | 116 bfa_fcxp_walloc_cancel(itnim->fcs->bfa, &itnim->fcxp_wqe); in bfa_fcs_itnim_sm_prli_send() 122 bfa_fcxp_walloc_cancel(itnim->fcs->bfa, &itnim->fcxp_wqe); in bfa_fcs_itnim_sm_prli_send() 128 bfa_fcxp_walloc_cancel(itnim->fcs->bfa, &itnim->fcxp_wqe); in bfa_fcs_itnim_sm_prli_send() 157 bfa_timer_start(itnim->fcs->bfa, &itnim->timer, in bfa_fcs_itnim_sm_prli() 199 itnim->bfa_itnim = bfa_itnim_create(itnim->fcs->bfa, in bfa_fcs_itnim_sm_hal_rport_online() 456 bfa_fcs_fcxp_alloc_wait(port->fcs->bfa, &itnim->fcxp_wqe, in bfa_fcs_itnim_send_prli()
|
/linux-6.1.9/drivers/net/ethernet/brocade/bna/ |
D | bfa_ioc.h | 118 typedef void (*bfa_ioc_enable_cbfn_t)(void *bfa, enum bfa_status status); 119 typedef void (*bfa_ioc_disable_cbfn_t)(void *bfa); 120 typedef void (*bfa_ioc_hbfail_cbfn_t)(void *bfa); 121 typedef void (*bfa_ioc_reset_cbfn_t)(void *bfa); 160 struct bfa *bfa; member 266 void bfa_nw_ioc_attach(struct bfa_ioc *ioc, void *bfa,
|
D | bfa_ioc.c | 274 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE); in bfa_ioc_sm_enabling() 281 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE); in bfa_ioc_sm_enabling() 326 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE); in bfa_ioc_sm_getattr() 348 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_OK); in bfa_ioc_sm_op_entry() 437 ioc->cbfn->disable_cbfn(ioc->bfa); in bfa_ioc_sm_disabled() 469 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE); in bfa_ioc_sm_fail_retry() 476 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE); in bfa_ioc_sm_fail_retry() 508 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE); in bfa_ioc_sm_fail() 541 ioc->cbfn->enable_cbfn(ioc->bfa, BFA_STATUS_IOC_FAILURE); in bfa_ioc_sm_hwfail() 545 ioc->cbfn->disable_cbfn(ioc->bfa); in bfa_ioc_sm_hwfail() [all …]
|
/linux-6.1.9/Documentation/scsi/ |
D | bfa.rst | 10 bfa 3.0.2.2 driver supports all Brocade FC/FCOE adapters. Below is a list of 39 The latest Firmware package for 3.0.2.2 bfa driver can be found at: 55 The latest driver configuration & management utility for 3.0.2.2 bfa driver can
|
D | index.rst | 17 bfa
|