drivers/gpu/drm/xe/abi/guc_log_abi.h

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

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/xe/abi/guc_log_abi.h
Extension
.h
Size
4122 bytes
Lines
110
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 guc_log_buffer_state {
	/** @marker: buffer state start marker */
	u32 marker[2];
	/** @read_ptr: the last byte offset that was read by KMD previously */
	u32 read_ptr;
	/**
	 * @write_ptr: the next byte offset location that will be written by
	 * GuC
	 */
	u32 write_ptr;
	/** @size: Log buffer size */
	u32 size;
	/**
	 * @sampled_write_ptr: Log buffer write pointer
	 * This is written by GuC to the byte offset of the next free entry in
	 * the buffer on log buffer half full or state capture notification
	 */
	u32 sampled_write_ptr;
	/**
	 * @wrap_offset: wraparound offset
	 * This is the byte offset of location 1 byte after last valid guc log
	 * event entry written by Guc firmware before there was a wraparound.
	 * This field is updated by guc firmware and should be used by Host
	 * when copying buffer contents to file.
	 */
	u32 wrap_offset;
	/** @flags: Flush to file flag and buffer full count */
	u32 flags;
#define	GUC_LOG_BUFFER_STATE_FLUSH_TO_FILE	GENMASK(0, 0)
#define	GUC_LOG_BUFFER_STATE_BUFFER_FULL_CNT	GENMASK(4, 1)
	/** @version: The Guc-Log-Entry format version */
	u32 version;
} __packed;

#endif

Annotation

Implementation Notes