drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.h
Extension
.h
Size
905 bytes
Lines
34
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

#ifndef __RVU_NPC_FS_H
#define __RVU_NPC_FS_H

#define IPV6_WORDS	4
#define NPC_BYTESM	GENMASK_ULL(19, 16)
#define NPC_HDR_OFFSET	GENMASK_ULL(15, 8)
#define NPC_KEY_OFFSET	GENMASK_ULL(5, 0)
#define NPC_LDATA_EN	BIT_ULL(7)

void npc_update_entry(struct rvu *rvu, enum key_fields type,
		      struct mcam_entry_mdata *mdata, u64 val_lo,
		      u64 val_hi, u64 mask_lo, u64 mask_hi, u8 intf);

void npc_update_flow(struct rvu *rvu, struct mcam_entry_mdata *mdata,
		     u64 features, struct flow_msg *pkt,
		     struct flow_msg *mask,
		     struct rvu_npc_mcam_rule *output, u8 intf,
		     int blkaddr);

void
npc_populate_mcam_mdata(struct rvu *rvu,
			struct mcam_entry_mdata *mdata,
			struct cn20k_mcam_entry *cn20k_entry,
			struct mcam_entry *entry);

#endif /* RVU_NPC_FS_H */

Annotation

Implementation Notes