drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_virt_ras_cmd.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_virt_ras_cmd.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_virt_ras_cmd.h
Extension
.h
Size
2583 bytes
Lines
66
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 remote_batch_trace_mgr {
	struct ras_log_batch_overview  batch_overview;
	struct ras_cmd_batch_trace_record_rsp  batch_trace;
};

struct amdgpu_virt_shared_mem {
	uint64_t gpa;
	void *cpu_addr;
	uint32_t size;
};

struct vram_blocks_ecc {
	struct amdgpu_virt_shared_mem shared_mem;
	bool auto_update_actived;
};

struct amdgpu_virt_ras_cmd {
	bool remote_uniras_supported;
	struct remote_batch_trace_mgr batch_mgr;
	struct vram_blocks_ecc blocks_ecc;
	struct mutex remote_access_lock;
};

int amdgpu_virt_ras_sw_init(struct amdgpu_device *adev);
int amdgpu_virt_ras_sw_fini(struct amdgpu_device *adev);
int amdgpu_virt_ras_hw_init(struct amdgpu_device *adev);
int amdgpu_virt_ras_hw_fini(struct amdgpu_device *adev);
int amdgpu_virt_ras_handle_cmd(struct ras_core_context *ras_core,
		struct ras_cmd_ctx *cmd);
int amdgpu_virt_ras_pre_reset(struct amdgpu_device *adev);
int amdgpu_virt_ras_post_reset(struct amdgpu_device *adev);
void amdgpu_virt_ras_set_remote_uniras(struct amdgpu_device *adev, bool en);
bool amdgpu_virt_ras_remote_uniras_enabled(struct amdgpu_device *adev);
int amdgpu_virt_ras_check_address_validity(struct amdgpu_device *adev,
			uint64_t address, bool *hit);
int amdgpu_virt_ras_convert_retired_address(struct amdgpu_device *adev,
			uint64_t address, uint64_t *pfn, uint32_t max_pfn_sz);
#endif

Annotation

Implementation Notes