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

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

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.h
Extension
.h
Size
2410 bytes
Lines
76
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_coredump_ring {
	u64				rptr;
	u64				wptr;
	u32				ring_index;
	u32				offset;
};

struct amdgpu_coredump_ib_info {
	uint64_t			gpu_addr;
	u32				ib_size_dw;
};

struct amdgpu_coredump_info {
	struct amdgpu_device            *adev;
	struct amdgpu_task_info         reset_task_info;
	struct timespec64               reset_time;

	bool                            skip_vram_check;
	bool                            reset_vram_lost;
	struct amdgpu_ring              *ring;

	struct amdgpu_coredump_ring	*rings;
	u32				*rings_dw;
	u32				num_rings;

	/* Readable form of coredevdump, generate once to speed up
	 * reading it (see drm_coredump_printer's documentation).
	 */
	ssize_t				formatted_size;
	char				*formatted;

	unsigned int			pasid;
	int				num_ibs;
	struct amdgpu_coredump_ib_info	ibs[] __counted_by(num_ibs);
};
#endif

void amdgpu_coredump(struct amdgpu_device *adev, bool skip_vram_check,
		     bool vram_lost, struct amdgpu_job *job);
void amdgpu_coredump_init(struct amdgpu_device *adev);
void amdgpu_coredump_fini(struct amdgpu_device *adev);
#endif

Annotation

Implementation Notes