drivers/net/ethernet/apm/xgene/xgene_enet_cle.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/apm/xgene/xgene_enet_cle.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/apm/xgene/xgene_enet_cle.h- Extension
.h- Size
- 5434 bytes
- Lines
- 291
- 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
linux/io.hlinux/random.h
Detected Declarations
struct xgene_cle_ptree_branchstruct xgene_cle_ptree_ewdnstruct xgene_cle_ptree_keystruct xgene_cle_ptree_knstruct xgene_cle_dbptrstruct xgene_cle_ptreestruct xgene_enet_cleenum xgene_cle_ptree_nodesenum xgene_cle_byte_storeenum xgene_cle_node_typeenum xgene_cle_op_typeenum xgene_cle_parserenum xgene_cle_dram_typeenum xgene_cle_cmd_typeenum xgene_cle_ipv4_rss_hashtypeenum xgene_cle_prot_typeenum xgene_cle_prot_versionenum xgene_cle_ptree_dbptrs
Annotated Snippet
struct xgene_cle_ptree_branch {
bool valid;
u16 next_packet_pointer;
bool jump_bw;
bool jump_rel;
u8 operation;
u16 next_node;
u8 next_branch;
u16 data;
u16 mask;
};
struct xgene_cle_ptree_ewdn {
u8 node_type;
bool last_node;
bool hdr_len_store;
u8 hdr_extn;
u8 byte_store;
u8 search_byte_store;
u16 result_pointer;
u8 num_branches;
struct xgene_cle_ptree_branch branch[6];
};
struct xgene_cle_ptree_key {
u8 priority;
u16 result_pointer;
};
struct xgene_cle_ptree_kn {
u8 node_type;
u8 num_keys;
struct xgene_cle_ptree_key key[32];
};
struct xgene_cle_dbptr {
u8 split_boundary;
u8 mirror_nxtfpsel;
u8 mirror_fpsel;
u16 mirror_dstqid;
u8 drop;
u8 mirror;
u8 hdr_data_split;
u64 hopinfomsbs;
u8 DR;
u8 HR;
u64 hopinfomlsbs;
u16 h0enq_num;
u8 h0fpsel;
u8 nxtfpsel;
u8 fpsel;
u16 dstqid;
u8 cle_priority;
u8 cle_flowgroup;
u8 cle_perflow;
u8 cle_insert_timestamp;
u8 stash;
u8 in;
u8 perprioen;
u8 perflowgroupen;
u8 perflowen;
u8 selhash;
u8 selhdrext;
u8 mirror_nxtfpsel_msb;
u8 mirror_fpsel_msb;
u8 hfpsel_msb;
u8 nxtfpsel_msb;
u8 fpsel_msb;
};
struct xgene_cle_ptree {
struct xgene_cle_ptree_kn *kn;
struct xgene_cle_dbptr *dbptr;
u32 num_kn;
u32 num_dbptr;
u32 start_node;
u32 start_pkt;
u32 start_dbptr;
};
struct xgene_enet_cle {
void __iomem *base;
struct xgene_cle_ptree ptree;
enum xgene_cle_parser active_parser;
u32 parsers;
u32 max_nodes;
u32 max_dbptrs;
u32 jump_bytes;
};
Annotation
- Immediate include surface: `linux/io.h`, `linux/random.h`.
- Detected declarations: `struct xgene_cle_ptree_branch`, `struct xgene_cle_ptree_ewdn`, `struct xgene_cle_ptree_key`, `struct xgene_cle_ptree_kn`, `struct xgene_cle_dbptr`, `struct xgene_cle_ptree`, `struct xgene_enet_cle`, `enum xgene_cle_ptree_nodes`, `enum xgene_cle_byte_store`, `enum xgene_cle_node_type`.
- 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.