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.
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
ras.h
Detected Declarations
struct remote_batch_trace_mgrstruct amdgpu_virt_shared_memstruct vram_blocks_eccstruct amdgpu_virt_ras_cmd
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
- Immediate include surface: `ras.h`.
- Detected declarations: `struct remote_batch_trace_mgr`, `struct amdgpu_virt_shared_mem`, `struct vram_blocks_ecc`, `struct amdgpu_virt_ras_cmd`.
- Atlas domain: Driver Families / drivers/gpu.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.