mirror of
https://github.com/torvalds/linux.git
synced 2026-09-13 15:40:03 +02:00
drm/amdgpu: fix byte/dword unit mismatch in coredump IB dump
In amdgpu_devcoredump_print_ibs(), the NO_CPU_ACCESS VRAM path passed
cursor.start/4 and cursor.size/4 to amdgpu_device_mm_access(), but that
function's pos/size parameters are byte offsets/lengths (confirmed by
amdgpu_ttm_vram_mm_access() and leading to wrong size calculation.
Similarly with that change the off index needs to be calculated
based on dword since that is a u32 type.
Fixes: 7b15fc2d1f ("drm/amdgpu: dump job ibs in the devcoredump")
Signed-off-by: Sunil Khatri <sunil.khatri@amd.com>
Reviewed-by: Vitaly Prosyak <vitaly.prosyak@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 1bd613b0ed98a23575b18674c94b8b3392614681)
Cc: stable@vger.kernel.org
This commit is contained in:
parent
012a026bae
commit
3b5c4f4a47
|
|
@ -299,10 +299,10 @@ amdgpu_devcoredump_print_ibs(struct drm_printer *p,
|
|||
amdgpu_res_first(abo->tbo.resource, offset,
|
||||
coredump->ibs[i].ib_size_dw * 4, &cursor);
|
||||
while (cursor.remaining) {
|
||||
amdgpu_device_mm_access(adev, cursor.start / 4,
|
||||
&ib_content[off], cursor.size / 4,
|
||||
amdgpu_device_mm_access(adev, cursor.start,
|
||||
&ib_content[off], cursor.size,
|
||||
false);
|
||||
off += cursor.size;
|
||||
off += cursor.size / 4;
|
||||
amdgpu_res_next(&cursor, cursor.size);
|
||||
}
|
||||
emit_content = true;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user