drivers/gpu/drm/amd/pm/powerplay/smumgr/smu8_smumgr.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/pm/powerplay/smumgr/smu8_smumgr.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/amd/pm/powerplay/smumgr/smu8_smumgr.h
Extension
.h
Size
3581 bytes
Lines
100
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 smu8_buffer_entry {
	uint32_t data_size;
	uint64_t mc_addr;
	void *kaddr;
	enum smu8_scratch_entry firmware_ID;
	struct amdgpu_bo *handle; /* as bo handle used when release bo */
};

struct smu8_register_index_data_pair {
	uint32_t offset;
	uint32_t value;
};

struct smu8_ih_meta_data {
	uint32_t command;
	struct smu8_register_index_data_pair register_index_value_pair[1];
};

struct smu8_smumgr {
	uint8_t driver_buffer_length;
	uint8_t scratch_buffer_length;
	uint16_t toc_entry_used_count;
	uint16_t toc_entry_initialize_index;
	uint16_t toc_entry_power_profiling_index;
	uint16_t toc_entry_aram;
	uint16_t toc_entry_ih_register_restore_task_index;
	uint16_t toc_entry_clock_table;
	uint16_t ih_register_restore_task_size;
	uint16_t smu_buffer_used_bytes;

	struct smu8_buffer_entry toc_buffer;
	struct smu8_buffer_entry smu_buffer;
	struct smu8_buffer_entry firmware_buffer;
	struct smu8_buffer_entry driver_buffer[MAX_NUM_FIRMWARE];
	struct smu8_buffer_entry meta_data_buffer[MAX_NUM_FIRMWARE];
	struct smu8_buffer_entry scratch_buffer[MAX_NUM_SCRATCH];
};

#endif

Annotation

Implementation Notes