drivers/gpu/drm/amd/amdgpu/amdgpu_smuio.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/amdgpu/amdgpu_smuio.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/amd/amdgpu/amdgpu_smuio.h
Extension
.h
Size
2239 bytes
Lines
58
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 amdgpu_smuio_mcm_config_info {
	int socket_id;
	int die_id;
};

struct amdgpu_smuio_funcs {
	u32 (*get_rom_index_offset)(struct amdgpu_device *adev);
	u32 (*get_rom_data_offset)(struct amdgpu_device *adev);
	void (*update_rom_clock_gating)(struct amdgpu_device *adev, bool enable);
	void (*get_clock_gating_state)(struct amdgpu_device *adev, u64 *flags);
	u32 (*get_die_id)(struct amdgpu_device *adev);
	u32 (*get_socket_id)(struct amdgpu_device *adev);
	enum amdgpu_pkg_type (*get_pkg_type)(struct amdgpu_device *adev);
	bool (*is_host_gpu_xgmi_supported)(struct amdgpu_device *adev);
	bool (*is_connected_with_ethernet_switch)(struct amdgpu_device *adev);
	bool (*is_custom_hbm_supported)(struct amdgpu_device *adev);
	u64 (*get_gpu_clock_counter)(struct amdgpu_device *adev);
};

struct amdgpu_smuio {
	const struct amdgpu_smuio_funcs		*funcs;
};

#endif /* __AMDGPU_SMUIO_H__ */

Annotation

Implementation Notes