drivers/net/ethernet/freescale/enetc/ntmp_private.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/freescale/enetc/ntmp_private.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/freescale/enetc/ntmp_private.h
Extension
.h
Size
5414 bytes
Lines
235
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 ntmp_cmn_req_data {
	__le16 update_act;
	u8 dbg_opt;
	u8 tblv_qact;
#define NTMP_QUERY_ACT		GENMASK(3, 0)
#define NTMP_TBL_VER		GENMASK(7, 4)
#define NTMP_TBLV_QACT(v, a)	(FIELD_PREP(NTMP_TBL_VER, (v)) | \
				 ((a) & NTMP_QUERY_ACT))
};

struct ntmp_cmn_resp_query {
	__le32 entry_id;
};

/* Generic structure for request data by entry ID  */
struct ntmp_req_by_eid {
	struct ntmp_cmn_req_data crd;
	__le32 entry_id;
};

/* MAC Address Filter Table Request Data Buffer Format of Add action */
struct maft_req_add {
	struct ntmp_req_by_eid rbe;
	struct maft_keye_data keye;
	struct maft_cfge_data cfge;
};

/* MAC Address Filter Table Response Data Buffer Format of Query action */
struct maft_resp_query {
	__le32 entry_id;
	struct maft_keye_data keye;
	struct maft_cfge_data cfge;
};

/* RSS Table Request Data Buffer Format of Update action */
struct rsst_req_update {
	struct ntmp_req_by_eid rbe;
	u8 groups[];
};

/* Ingress Port Filter Table Response Data Buffer Format of Query action */
struct ipft_resp_query {
	__le32 status;
	__le32 entry_id;
	struct ipft_keye_data keye;
	__le64 match_count; /* STSE_DATA */
	struct ipft_cfge_data cfge;
} __packed;

struct ipft_ak_eid {
	__le32 entry_id;
	__le32 resv[52];
};

union ipft_access_key {
	struct ipft_ak_eid eid;
	struct ipft_keye_data keye;
};

/* Ingress Port Filter Table Request Data Buffer Format of Update and
 * Add actions
 */
struct ipft_req_ua {
	struct ntmp_cmn_req_data crd;
	union ipft_access_key ak;
	struct ipft_cfge_data cfge;
};

/* Ingress Port Filter Table Request Data Buffer Format of Query and
 * Delete actions
 */
struct ipft_req_qd {
	struct ntmp_req_by_eid rbe;
	__le32 resv[52];
};

/* Access Key Format of FDB Table */
struct fdbt_ak_eid {
	__le32 entry_id;
	__le32 resv[7];
};

struct fdbt_ak_exact {
	struct fdbt_keye_data keye;
	__le32 resv[5];
};

struct fdbt_ak_search {
	__le32 resume_eid;
	struct fdbt_keye_data keye;

Annotation

Implementation Notes