Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: add ip dump for each ip in devcoredump

Add ip dump for each ip of the asic in the
devcoredump for all the ips where a callback
is registered for register dump.

Signed-off-by: Sunil Khatri <sunil.khatri@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Sunil Khatri and committed by
Alex Deucher
af864412 e043a35d

+14
+14
drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c
··· 262 262 drm_printf(&p, "Faulty page starting at address: 0x%016llx\n", fault_info->addr); 263 263 drm_printf(&p, "Protection fault status register: 0x%x\n\n", fault_info->status); 264 264 265 + /* dump the ip state for each ip */ 266 + drm_printf(&p, "IP Dump\n"); 267 + for (int i = 0; i < coredump->adev->num_ip_blocks; i++) { 268 + if (coredump->adev->ip_blocks[i].version->funcs->print_ip_state) { 269 + drm_printf(&p, "IP: %s\n", 270 + coredump->adev->ip_blocks[i] 271 + .version->funcs->name); 272 + coredump->adev->ip_blocks[i] 273 + .version->funcs->print_ip_state( 274 + (void *)coredump->adev, &p); 275 + drm_printf(&p, "\n"); 276 + } 277 + } 278 + 265 279 /* Add ring buffer information */ 266 280 drm_printf(&p, "Ring buffer information\n"); 267 281 for (int i = 0; i < coredump->adev->num_rings; i++) {