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.

Dependency Surface

Detected Declarations

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

Implementation Notes