drivers/scsi/bnx2fc/57xx_hsi_bnx2fc.h
Source file repositories/reference/linux-study-clean/drivers/scsi/bnx2fc/57xx_hsi_bnx2fc.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/scsi/bnx2fc/57xx_hsi_bnx2fc.h- Extension
.h- Size
- 22410 bytes
- Lines
- 1005
- 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
- No C-style include directives detected by the generator.
Detected Declarations
struct b577xx_doorbell_hdrstruct b577xx_doorbellstruct b577xx_doorbell_set_prodstruct regpairstruct fcoe_abts_infostruct fcoe_abts_rsp_unionstruct fcoe_bd_ctxstruct fcoe_cached_sge_ctxstruct fcoe_cleanup_infostruct fcoe_fcp_rsp_flagsstruct fcoe_fcp_rsp_payloadstruct fcoe_fcp_rsp_unionstruct fcoe_fc_hdrstruct fcoe_mp_rsp_unionstruct fcoe_ext_abts_infostruct fcoe_ext_cleanup_infostruct fcoe_fw_tx_seq_ctxstruct fcoe_ext_fw_tx_seq_ctxstruct fcoe_mul_sges_ctxstruct fcoe_ext_mul_sges_ctxstruct fcoe_fcp_cmd_payloadstruct fcoe_fcp_xfr_rdy_payloadstruct fcoe_fc_framestruct fcoe_kcqestruct fcoe_kwqe_headerstruct fcoe_kwqe_init1struct fcoe_kwqe_init2struct fcoe_kwqe_init3struct fcoe_kwqe_conn_offload1struct fcoe_kwqe_conn_offload2struct fcoe_kwqe_conn_offload3struct fcoe_kwqe_conn_offload4struct fcoe_kwqe_conn_enable_disablestruct fcoe_kwqe_conn_destroystruct fcoe_kwqe_destroystruct fcoe_kwqe_statstruct fcoe_read_flow_infostruct fcoe_s_stat_ctxstruct fcoe_rx_seq_ctxstruct fcoe_sqestruct fcoe_tce_tx_onlystruct fcoe_tce_tx_wr_rx_rd_conststruct fcoe_tce_tx_wr_rx_rdstruct fcoe_tce_rx_wr_tx_rd_conststruct fcoe_tce_rx_wr_tx_rd_varstruct fcoe_tce_rx_wr_tx_rdstruct fcoe_tce_rx_onlystruct fcoe_task_ctx_entry
Annotated Snippet
struct b577xx_doorbell_hdr {
u8 header;
#define B577XX_DOORBELL_HDR_RX (0x1<<0)
#define B577XX_DOORBELL_HDR_RX_SHIFT 0
#define B577XX_DOORBELL_HDR_DB_TYPE (0x1<<1)
#define B577XX_DOORBELL_HDR_DB_TYPE_SHIFT 1
#define B577XX_DOORBELL_HDR_DPM_SIZE (0x3<<2)
#define B577XX_DOORBELL_HDR_DPM_SIZE_SHIFT 2
#define B577XX_DOORBELL_HDR_CONN_TYPE (0xF<<4)
#define B577XX_DOORBELL_HDR_CONN_TYPE_SHIFT 4
};
/*
* doorbell message sent to the chip
*/
struct b577xx_doorbell {
#if defined(__BIG_ENDIAN)
u16 zero_fill2;
u8 zero_fill1;
struct b577xx_doorbell_hdr header;
#elif defined(__LITTLE_ENDIAN)
struct b577xx_doorbell_hdr header;
u8 zero_fill1;
u16 zero_fill2;
#endif
};
/*
* doorbell message sent to the chip
*/
struct b577xx_doorbell_set_prod {
#if defined(__BIG_ENDIAN)
u16 prod;
u8 zero_fill1;
struct b577xx_doorbell_hdr header;
#elif defined(__LITTLE_ENDIAN)
struct b577xx_doorbell_hdr header;
u8 zero_fill1;
u16 prod;
#endif
};
struct regpair {
__le32 lo;
__le32 hi;
};
/*
* ABTS info $$KEEP_ENDIANNESS$$
*/
struct fcoe_abts_info {
__le16 aborted_task_id;
__le16 reserved0;
__le32 reserved1;
};
/*
* Fixed size structure in order to plant it in Union structure
* $$KEEP_ENDIANNESS$$
*/
struct fcoe_abts_rsp_union {
u8 r_ctl;
u8 rsrv[3];
__le32 abts_rsp_payload[7];
};
/*
* 4 regs size $$KEEP_ENDIANNESS$$
*/
struct fcoe_bd_ctx {
__le32 buf_addr_hi;
__le32 buf_addr_lo;
__le16 buf_len;
__le16 rsrv0;
__le16 flags;
__le16 rsrv1;
};
/*
* FCoE cached sges context $$KEEP_ENDIANNESS$$
*/
struct fcoe_cached_sge_ctx {
struct regpair cur_buf_addr;
Annotation
- Detected declarations: `struct b577xx_doorbell_hdr`, `struct b577xx_doorbell`, `struct b577xx_doorbell_set_prod`, `struct regpair`, `struct fcoe_abts_info`, `struct fcoe_abts_rsp_union`, `struct fcoe_bd_ctx`, `struct fcoe_cached_sge_ctx`, `struct fcoe_cleanup_info`, `struct fcoe_fcp_rsp_flags`.
- 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.