drivers/infiniband/hw/hfi1/mad.h

Source file repositories/reference/linux-study-clean/drivers/infiniband/hw/hfi1/mad.h

File Facts

System
Linux kernel
Corpus path
drivers/infiniband/hw/hfi1/mad.h
Extension
.h
Size
12393 bytes
Lines
437
Domain
Driver Families
Bucket
drivers/infiniband
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 opa_mad_notice_attr {
	u8 generic_type;
	u8 prod_type_msb;
	__be16 prod_type_lsb;
	__be16 trap_num;
	__be16 toggle_count;
	__be32 issuer_lid;
	__be32 reserved1;
	union ib_gid issuer_gid;

	union {
		struct {
			u8	details[64];
		} raw_data;

		struct {
			union ib_gid	gid;
		} __packed ntc_64_65_66_67;

		struct {
			__be32	lid;
		} __packed ntc_128;

		struct {
			__be32	lid;		/* where violation happened */
			u8	port_num;	/* where violation happened */
		} __packed ntc_129_130_131;

		struct {
			__be32	lid;		/* LID where change occurred */
			__be32	new_cap_mask;	/* new capability mask */
			__be16	reserved2;
			__be16	cap_mask3;
			__be16	change_flags;	/* low 4 bits only */
		} __packed ntc_144;

		struct {
			__be64	new_sys_guid;
			__be32	lid;		/* lid where sys guid changed */
		} __packed ntc_145;

		struct {
			__be32	lid;
			__be32	dr_slid;
			u8	method;
			u8	dr_trunc_hop;
			__be16	attr_id;
			__be32	attr_mod;
			__be64	mkey;
			u8	dr_rtn_path[30];
		} __packed ntc_256;

		struct {
			__be32		lid1;
			__be32		lid2;
			__be32		key;
			u8		sl;	/* SL: high 5 bits */
			u8		reserved3[3];
			union ib_gid	gid1;
			union ib_gid	gid2;
			__be32		qp1;	/* high 8 bits reserved */
			__be32		qp2;	/* high 8 bits reserved */
		} __packed ntc_257_258;

		struct {
			__be16		flags;	/* low 8 bits reserved */
			__be16		pkey;
			__be32		lid1;
			__be32		lid2;
			u8		sl;	/* SL: high 5 bits */
			u8		reserved4[3];
			union ib_gid	gid1;
			union ib_gid	gid2;
			__be32		qp1;	/* high 8 bits reserved */
			__be32		qp2;	/* high 8 bits reserved */
		} __packed ntc_259;

		struct {
			__be32	lid;
		} __packed ntc_2048;

	};
};

#define IB_VLARB_LOWPRI_0_31    1
#define IB_VLARB_LOWPRI_32_63   2
#define IB_VLARB_HIGHPRI_0_31   3
#define IB_VLARB_HIGHPRI_32_63  4

#define OPA_MAX_PREEMPT_CAP         32

Annotation

Implementation Notes