drivers/scsi/bfa/bfa_defs_svc.h
Source file repositories/reference/linux-study-clean/drivers/scsi/bfa/bfa_defs_svc.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/scsi/bfa/bfa_defs_svc.h- Extension
.h- Size
- 48473 bytes
- Lines
- 1457
- Domain
- Driver Families
- Bucket
- drivers/scsi
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
bfa_defs.hbfa_fc.hbfi.h
Detected Declarations
struct bfa_iocfc_intr_attr_sstruct bfa_iocfc_fwcfg_sstruct bfa_iocfc_drvcfg_sstruct bfa_iocfc_cfg_sstruct bfa_fw_ioim_stats_sstruct bfa_fw_tio_stats_sstruct bfa_fw_io_stats_sstruct bfa_fw_port_fpg_stats_sstruct bfa_fw_port_lksm_stats_sstruct bfa_fw_port_snsm_stats_sstruct bfa_fw_port_physm_stats_sstruct bfa_fw_fip_stats_sstruct bfa_fw_lps_stats_sstruct bfa_fw_fcoe_stats_sstruct bfa_fw_fcoe_port_stats_sstruct bfa_fw_lpsm_stats_sstruct bfa_fw_fc_uport_stats_sstruct bfa_fw_port_stats_sstruct bfa_fw_fcxchg_stats_sstruct bfa_fw_trunk_stats_sstruct bfa_fw_aport_stats_sstruct bfa_fw_iocfc_stats_sstruct bfa_iocfc_attr_sstruct bfa_fw_eth_sndrcv_stats_sstruct bfa_fw_mac_mod_stats_sstruct bfa_fw_ct_mod_stats_sstruct bfa_fw_rds_stats_sstruct bfa_fw_stats_sstruct bfa_qos_bw_sstruct bfa_qos_attr_sstruct bfa_bbcr_attr_sstruct bfa_qos_vc_info_sstruct bfa_qos_vc_attr_sstruct bfa_qos_stats_sstruct bfa_fcoe_stats_sstruct bfa_fcpim_del_itn_stats_sstruct bfa_itnim_iostats_sstruct bfa_lun_mask_sstruct bfa_lunmask_cfg_sstruct bfa_throttle_cfg_sstruct bfa_defs_fcpim_throttle_sstruct bfa_port_cfg_sstruct bfa_port_attr_sstruct bfa_port_fcpmap_sstruct bfa_port_rnid_sstruct bfa_fcport_fcf_sstruct bfa_trunk_vc_attr_sstruct bfa_fcport_loop_info_s
Annotated Snippet
struct bfa_iocfc_intr_attr_s {
u8 coalesce; /* enable/disable coalescing */
u8 rsvd[3];
__be16 latency; /* latency in microseconds */
__be16 delay; /* delay in microseconds */
};
/*
* IOC firmware configuraton
*/
struct bfa_iocfc_fwcfg_s {
u16 num_fabrics; /* number of fabrics */
u16 num_lports; /* number of local lports */
u16 num_rports; /* number of remote ports */
u16 num_ioim_reqs; /* number of IO reqs */
u16 num_tskim_reqs; /* task management requests */
u16 num_fwtio_reqs; /* number of TM IO reqs in FW */
u16 num_fcxp_reqs; /* unassisted FC exchanges */
u16 num_uf_bufs; /* unsolicited recv buffers */
u8 num_cqs;
u8 fw_tick_res; /* FW clock resolution in ms */
u8 rsvd[6];
};
#pragma pack()
struct bfa_iocfc_drvcfg_s {
u16 num_reqq_elems; /* number of req queue elements */
u16 num_rspq_elems; /* number of rsp queue elements */
u16 num_sgpgs; /* number of total SG pages */
u16 num_sboot_tgts; /* number of SAN boot targets */
u16 num_sboot_luns; /* number of SAN boot luns */
u16 ioc_recover; /* IOC recovery mode */
u16 min_cfg; /* minimum configuration */
u16 path_tov; /* device path timeout */
u16 num_tio_reqs; /* number of TM IO reqs */
u8 port_mode;
u8 rsvd_a;
bfa_boolean_t delay_comp; /* delay completion of failed
* inflight IOs */
u16 num_ttsk_reqs; /* TM task management requests */
u32 rsvd;
};
/*
* IOC configuration
*/
struct bfa_iocfc_cfg_s {
struct bfa_iocfc_fwcfg_s fwcfg; /* firmware side config */
struct bfa_iocfc_drvcfg_s drvcfg; /* driver side config */
};
/*
* IOC firmware IO stats
*/
struct bfa_fw_ioim_stats_s {
u32 host_abort; /* IO aborted by host driver*/
u32 host_cleanup; /* IO clean up by host driver */
u32 fw_io_timeout; /* IOs timedout */
u32 fw_frm_parse; /* frame parsed by f/w */
u32 fw_frm_data; /* fcp_data frame parsed by f/w */
u32 fw_frm_rsp; /* fcp_rsp frame parsed by f/w */
u32 fw_frm_xfer_rdy; /* xfer_rdy frame parsed by f/w */
u32 fw_frm_bls_acc; /* BLS ACC frame parsed by f/w */
u32 fw_frm_tgt_abort; /* target ABTS parsed by f/w */
u32 fw_frm_unknown; /* unknown parsed by f/w */
u32 fw_data_dma; /* f/w DMA'ed the data frame */
u32 fw_frm_drop; /* f/w drop the frame */
u32 rec_timeout; /* FW rec timed out */
u32 error_rec; /* FW sending rec on
* an error condition*/
u32 wait_for_si; /* FW wait for SI */
u32 rec_rsp_inval; /* REC rsp invalid */
u32 rec_rsp_xchg_comp; /* REC rsp xchg complete */
u32 rec_rsp_rd_si_ownd; /* REC rsp read si owned */
u32 seqr_io_abort; /* target does not know cmd so abort */
u32 seqr_io_retry; /* SEQR failed so retry IO */
u32 itn_cisc_upd_rsp; /* ITN cisc updated on fcp_rsp */
u32 itn_cisc_upd_data; /* ITN cisc updated on fcp_data */
u32 itn_cisc_upd_xfer_rdy; /* ITN cisc updated on fcp_data */
u32 fcp_data_lost; /* fcp data lost */
u32 ro_set_in_xfer_rdy; /* Target set RO in Xfer_rdy frame */
u32 xfer_rdy_ooo_err; /* Out of order Xfer_rdy received */
u32 xfer_rdy_unknown_err; /* unknown error in xfer_rdy frame */
Annotation
- Immediate include surface: `bfa_defs.h`, `bfa_fc.h`, `bfi.h`.
- Detected declarations: `struct bfa_iocfc_intr_attr_s`, `struct bfa_iocfc_fwcfg_s`, `struct bfa_iocfc_drvcfg_s`, `struct bfa_iocfc_cfg_s`, `struct bfa_fw_ioim_stats_s`, `struct bfa_fw_tio_stats_s`, `struct bfa_fw_io_stats_s`, `struct bfa_fw_port_fpg_stats_s`, `struct bfa_fw_port_lksm_stats_s`, `struct bfa_fw_port_snsm_stats_s`.
- Atlas domain: Driver Families / drivers/scsi.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.