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.
- 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/bitfield.hlinux/fsl/ntmp.h
Detected Declarations
struct ntmp_cmn_req_datastruct ntmp_cmn_resp_querystruct ntmp_req_by_eidstruct maft_req_addstruct maft_resp_querystruct rsst_req_updatestruct ipft_resp_querystruct ipft_ak_eidstruct ipft_req_uastruct ipft_req_qdstruct fdbt_ak_eidstruct fdbt_ak_exactstruct fdbt_ak_searchstruct fdbt_req_uastruct fdbt_req_qdstruct fdbt_resp_querystruct vft_ak_exactstruct vft_req_uastruct vft_req_qdstruct ett_req_uastruct bpt_req_update
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
- Immediate include surface: `linux/bitfield.h`, `linux/fsl/ntmp.h`.
- Detected declarations: `struct ntmp_cmn_req_data`, `struct ntmp_cmn_resp_query`, `struct ntmp_req_by_eid`, `struct maft_req_add`, `struct maft_resp_query`, `struct rsst_req_update`, `struct ipft_resp_query`, `struct ipft_ak_eid`, `struct ipft_req_ua`, `struct ipft_req_qd`.
- 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.