drivers/net/ethernet/broadcom/bnx2x/bnx2x_dump.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/broadcom/bnx2x/bnx2x_dump.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/broadcom/bnx2x/bnx2x_dump.h- Extension
.h- Size
- 65765 bytes
- Lines
- 2219
- Domain
- Driver Families
- Bucket
- drivers/net
- 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 dump_headerstruct reg_addrstruct wreg_addr
Annotated Snippet
struct dump_header {
u32 header_size; /* Size in DWORDs excluding this field */
u32 version;
u32 preset;
u32 dump_meta_data; /* OR of CHIP and PATH. */
};
#define BNX2X_DUMP_VERSION 0x61111111
struct reg_addr {
u32 addr;
u32 size;
u32 chips;
u32 presets;
};
struct wreg_addr {
u32 addr;
u32 size;
u32 read_regs_count;
const u32 *read_regs;
u32 chips;
u32 presets;
};
#define PAGE_MODE_VALUES_E2 2
#define PAGE_READ_REGS_E2 1
#define PAGE_WRITE_REGS_E2 1
static const u32 page_vals_e2[] = {0, 128};
static const u32 page_write_regs_e2[] = {328476};
static const struct reg_addr page_read_regs_e2[] = {
{0x58000, 4608, DUMP_CHIP_E2, 0x30}
};
#define PAGE_MODE_VALUES_E3 2
#define PAGE_READ_REGS_E3 1
#define PAGE_WRITE_REGS_E3 1
static const u32 page_vals_e3[] = {0, 128};
static const u32 page_write_regs_e3[] = {328476};
static const struct reg_addr page_read_regs_e3[] = {
{0x58000, 4608, DUMP_CHIP_E3A0 | DUMP_CHIP_E3B0, 0x30}
};
static const struct reg_addr reg_addrs[] = {
{ 0x2000, 1, 0x1f, 0xfff},
{ 0x2004, 1, 0x1f, 0x1fff},
{ 0x2008, 25, 0x1f, 0xfff},
{ 0x206c, 1, 0x1f, 0x1fff},
{ 0x2070, 313, 0x1f, 0xfff},
{ 0x2800, 103, 0x1f, 0xfff},
{ 0x3000, 287, 0x1f, 0xfff},
{ 0x3800, 331, 0x1f, 0xfff},
{ 0x8800, 6, 0x1f, 0x924},
{ 0x8818, 1, 0x1e, 0x924},
{ 0x9000, 4, 0x1c, 0x924},
{ 0x9010, 7, 0x1c, 0xfff},
{ 0x902c, 1, 0x1c, 0x924},
{ 0x9030, 1, 0x1c, 0xfff},
{ 0x9034, 13, 0x1c, 0x924},
{ 0x9068, 16, 0x1c, 0xfff},
{ 0x90a8, 98, 0x1c, 0x924},
{ 0x9230, 2, 0x1c, 0xfff},
{ 0x9238, 3, 0x1c, 0x924},
{ 0x9244, 1, 0x1c, 0xfff},
{ 0x9248, 1, 0x1c, 0x924},
{ 0x924c, 1, 0x4, 0x924},
{ 0x9250, 16, 0x1c, 0x924},
{ 0x92a8, 2, 0x1c, 0x1fff},
{ 0x92b4, 1, 0x1c, 0x1fff},
{ 0x9400, 33, 0x1c, 0x924},
{ 0x9484, 5, 0x18, 0x924},
{ 0xa000, 27, 0x1f, 0x924},
{ 0xa06c, 1, 0x3, 0x924},
{ 0xa070, 2, 0x1f, 0x924},
{ 0xa078, 1, 0x1f, 0x1fff},
{ 0xa07c, 31, 0x1f, 0x924},
{ 0xa0f8, 1, 0x1f, 0x1fff},
{ 0xa0fc, 3, 0x1f, 0x924},
{ 0xa108, 1, 0x1f, 0x1fff},
{ 0xa10c, 3, 0x1f, 0x924},
{ 0xa118, 1, 0x1f, 0x1fff},
{ 0xa11c, 28, 0x1f, 0x924},
{ 0xa18c, 4, 0x3, 0x924},
{ 0xa19c, 3, 0x1f, 0x924},
{ 0xa1a8, 1, 0x1f, 0x1fff},
{ 0xa1ac, 3, 0x1f, 0x924},
{ 0xa1b8, 1, 0x1f, 0x1fff},
{ 0xa1bc, 54, 0x1f, 0x924},
{ 0xa294, 2, 0x3, 0x924},
{ 0xa29c, 2, 0x1f, 0x924},
{ 0xa2a4, 2, 0x7, 0x924},
Annotation
- Detected declarations: `struct dump_header`, `struct reg_addr`, `struct wreg_addr`.
- Atlas domain: Driver Families / drivers/net.
- 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.