drivers/gpu/drm/xe/xe_late_bind_fw_types.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/xe/xe_late_bind_fw_types.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/xe/xe_late_bind_fw_types.h
Extension
.h
Size
2031 bytes
Lines
79
Domain
Driver Families
Bucket
drivers/gpu
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 xe_late_bind_fw {
	/** @id: firmware index */
	u32 id;
	/** @blob_path: firmware binary path */
	char blob_path[PATH_MAX];
	/** @type: firmware type */
	u32  type;
	/** @flags: firmware flags */
	u32  flags;
	/** @payload: to store the late binding blob */
	const u8  *payload;
	/** @payload_size: late binding blob payload_size */
	size_t payload_size;
	/** @work: worker to upload latebind blob */
	struct work_struct work;
	/** @version: late binding blob manifest version */
	struct gsc_version version;
};

/**
 * struct xe_late_bind_component - Late Binding services component
 * @mei_dev: device that provide Late Binding service.
 * @ops: Ops implemented by Late Binding driver, used by Xe driver.
 *
 * Communication between Xe and MEI drivers for Late Binding services
 */
struct xe_late_bind_component {
	struct device *mei_dev;
	const struct intel_lb_component_ops *ops;
};

/**
 * struct xe_late_bind
 */
struct xe_late_bind {
	/** @component: struct for communication with mei component */
	struct xe_late_bind_component component;
	/** @late_bind_fw: late binding firmware array */
	struct xe_late_bind_fw late_bind_fw[XE_LB_FW_MAX_ID];
	/** @wq: workqueue to submit request to download late bind blob */
	struct workqueue_struct *wq;
	/** @component_added: whether the component has been added */
	bool component_added;
	/** @disable: to block late binding reload during pm resume flow*/
	bool disable;
};

#endif

Annotation

Implementation Notes