drivers/net/ethernet/fungible/funcore/fun_hci.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/fungible/funcore/fun_hci.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/fungible/funcore/fun_hci.h
Extension
.h
Size
30098 bytes
Lines
1243
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 fun_admin_req_common {
	__u8 op;
	__u8 len8;
	__be16 flags;
	__u8 suboff8;
	__u8 rsvd0;
	__be16 cid;
};

#define FUN_ADMIN_REQ_COMMON_INIT(_op, _len8, _flags, _suboff8, _cid)       \
	(struct fun_admin_req_common) {                                     \
		.op = (_op), .len8 = (_len8), .flags = cpu_to_be16(_flags), \
		.suboff8 = (_suboff8), .cid = cpu_to_be16(_cid),            \
	}

#define FUN_ADMIN_REQ_COMMON_INIT2(_op, _len)    \
	(struct fun_admin_req_common) {          \
		.op = (_op), .len8 = (_len) / 8, \
	}

struct fun_admin_rsp_common {
	__u8 op;
	__u8 len8;
	__be16 flags;
	__u8 suboff8;
	__u8 ret;
	__be16 cid;
};

struct fun_admin_write48_req {
	__be64 key_to_data;
};

#define FUN_ADMIN_WRITE48_REQ_KEY_S 56U
#define FUN_ADMIN_WRITE48_REQ_KEY_M 0xff
#define FUN_ADMIN_WRITE48_REQ_KEY_P_NOSWAP(x) \
	(((__u64)x) << FUN_ADMIN_WRITE48_REQ_KEY_S)

#define FUN_ADMIN_WRITE48_REQ_DATA_S 0U
#define FUN_ADMIN_WRITE48_REQ_DATA_M 0xffffffffffff
#define FUN_ADMIN_WRITE48_REQ_DATA_P_NOSWAP(x) \
	(((__u64)x) << FUN_ADMIN_WRITE48_REQ_DATA_S)

#define FUN_ADMIN_WRITE48_REQ_INIT(key, data)                       \
	(struct fun_admin_write48_req) {                            \
		.key_to_data = cpu_to_be64(                         \
			FUN_ADMIN_WRITE48_REQ_KEY_P_NOSWAP(key) |   \
			FUN_ADMIN_WRITE48_REQ_DATA_P_NOSWAP(data)), \
	}

struct fun_admin_write48_rsp {
	__be64 key_to_data;
};

struct fun_admin_read48_req {
	__be64 key_pack;
};

#define FUN_ADMIN_READ48_REQ_KEY_S 56U
#define FUN_ADMIN_READ48_REQ_KEY_M 0xff
#define FUN_ADMIN_READ48_REQ_KEY_P_NOSWAP(x) \
	(((__u64)x) << FUN_ADMIN_READ48_REQ_KEY_S)

#define FUN_ADMIN_READ48_REQ_INIT(key)                                       \
	(struct fun_admin_read48_req) {                                      \
		.key_pack =                                                  \
			cpu_to_be64(FUN_ADMIN_READ48_REQ_KEY_P_NOSWAP(key)), \
	}

struct fun_admin_read48_rsp {
	__be64 key_to_data;
};

#define FUN_ADMIN_READ48_RSP_KEY_S 56U
#define FUN_ADMIN_READ48_RSP_KEY_M 0xff
#define FUN_ADMIN_READ48_RSP_KEY_G(x)                     \
	((be64_to_cpu(x) >> FUN_ADMIN_READ48_RSP_KEY_S) & \
	 FUN_ADMIN_READ48_RSP_KEY_M)

#define FUN_ADMIN_READ48_RSP_RET_S 48U
#define FUN_ADMIN_READ48_RSP_RET_M 0xff
#define FUN_ADMIN_READ48_RSP_RET_G(x)                     \
	((be64_to_cpu(x) >> FUN_ADMIN_READ48_RSP_RET_S) & \
	 FUN_ADMIN_READ48_RSP_RET_M)

#define FUN_ADMIN_READ48_RSP_DATA_S 0U
#define FUN_ADMIN_READ48_RSP_DATA_M 0xffffffffffff
#define FUN_ADMIN_READ48_RSP_DATA_G(x)                     \
	((be64_to_cpu(x) >> FUN_ADMIN_READ48_RSP_DATA_S) & \
	 FUN_ADMIN_READ48_RSP_DATA_M)

Annotation

Implementation Notes