drivers/net/ethernet/netronome/nfp/nic/main.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/netronome/nfp/nic/main.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/netronome/nfp/nic/main.h
Extension
.h
Size
1051 bytes
Lines
47
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 nfp_dcb {
	u8 dscp2prio[NFP_NET_MAX_DSCP];
	u8 prio2tc[NFP_NET_MAX_PRIO];
	u8 tc2idx[IEEE_8021QAZ_MAX_TCS];
	u64 tc_maxrate[IEEE_8021QAZ_MAX_TCS];
	u8 tc_tx_pct[IEEE_8021QAZ_MAX_TCS];
	u8 tc_tsa[IEEE_8021QAZ_MAX_TCS];
	u8 dscp_cnt;
	u8 trust_status;
	bool rate_init;
	bool ets_init;

	struct nfp_cpp_area *dcbcfg_tbl_area;
	u8 __iomem *dcbcfg_tbl;
	u32 cfg_offset;
};

int nfp_nic_dcb_init(struct nfp_net *nn);
void nfp_nic_dcb_clean(struct nfp_net *nn);
#else
static inline int nfp_nic_dcb_init(struct nfp_net *nn) { return 0; }
static inline void nfp_nic_dcb_clean(struct nfp_net *nn) {}
#endif

struct nfp_app_nic_private {
#ifdef CONFIG_DCB
	struct nfp_dcb dcb;
#endif
};

#endif

Annotation

Implementation Notes