include/linux/fsl/ntmp.h
Source file repositories/reference/linux-study-clean/include/linux/fsl/ntmp.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/fsl/ntmp.h- Extension
.h- Size
- 9191 bytes
- Lines
- 368
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/bitmap.hlinux/bitops.hlinux/if_ether.h
Detected Declarations
struct maft_keye_datastruct maft_cfge_datastruct netc_cbdr_regsstruct netc_tbl_versstruct netc_swcbdstruct netc_cbdrstruct ntmp_userstruct maft_entry_datastruct ipft_pld_bytestruct ipft_keye_datastruct ipft_cfge_datastruct ipft_entry_datastruct fdbt_keye_datastruct fdbt_cfge_datastruct fdbt_entry_datastruct vft_cfge_datastruct ett_cfge_datastruct bpt_bpse_datastruct bpt_cfge_datafunction ntmp_init_cbdrfunction ntmp_free_cbdrfunction ntmp_maft_query_entryfunction ntmp_maft_delete_entryfunction ntmp_rsst_update_entryfunction ntmp_rsst_query_entry
Annotated Snippet
struct maft_keye_data {
u8 mac_addr[ETH_ALEN];
__le16 resv;
};
struct maft_cfge_data {
__le16 si_bitmap;
__le16 resv;
};
struct netc_cbdr_regs {
void __iomem *pir;
void __iomem *cir;
void __iomem *mr;
void __iomem *bar0;
void __iomem *bar1;
void __iomem *lenr;
};
struct netc_tbl_vers {
u8 maft_ver;
u8 rsst_ver;
u8 fdbt_ver;
u8 vft_ver;
u8 bpt_ver;
u8 ipft_ver;
u8 ett_ver;
u8 ect_ver;
};
struct netc_swcbd {
void *buf;
dma_addr_t dma;
size_t size;
};
struct netc_cbdr {
struct device *dev;
struct netc_cbdr_regs regs;
int bd_num;
int next_to_use;
int next_to_clean;
int dma_size;
void *addr_base;
void *addr_base_align;
dma_addr_t dma_base;
dma_addr_t dma_base_align;
struct netc_swcbd *swcbd;
/* Serialize the order of command BD ring */
struct mutex ring_lock;
};
struct ntmp_user {
int cbdr_num; /* number of control BD ring */
struct device *dev;
struct netc_cbdr *ring;
struct netc_tbl_vers tbl;
/* NTMP table bitmaps for resource management */
u32 ett_bitmap_size;
u32 ect_bitmap_size;
unsigned long *ett_gid_bitmap; /* only valid for switch */
unsigned long *ect_gid_bitmap; /* only valid for switch */
};
struct maft_entry_data {
struct maft_keye_data keye;
struct maft_cfge_data cfge;
};
struct ipft_pld_byte {
u8 data;
u8 mask;
};
struct ipft_keye_data {
__le16 precedence;
__le16 resv0[3];
__le16 frm_attr_flags;
#define IPFT_FAF_OVLAN BIT(2)
#define IPFT_FAF_IVLAN BIT(3)
#define IPFT_FAF_IP_HDR BIT(7)
#define IPFT_FAF_IP_VER6 BIT(8)
#define IPFT_FAF_L4_CODE GENMASK(11, 10)
#define IPFT_FAF_TCP_HDR 1
#define IPFT_FAF_UDP_HDR 2
Annotation
- Immediate include surface: `linux/bitmap.h`, `linux/bitops.h`, `linux/if_ether.h`.
- Detected declarations: `struct maft_keye_data`, `struct maft_cfge_data`, `struct netc_cbdr_regs`, `struct netc_tbl_vers`, `struct netc_swcbd`, `struct netc_cbdr`, `struct ntmp_user`, `struct maft_entry_data`, `struct ipft_pld_byte`, `struct ipft_keye_data`.
- Atlas domain: Core OS / Core Kernel Interface.
- 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.