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.

Dependency Surface

Detected Declarations

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

Implementation Notes