diff options
| author | Jesse Zhang <Jesse.Zhang@amd.com> | 2026-10-31 23:31:43 +0800 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2026-11-04 12:43:27 -0500 |
| commit | 71388e1ed836d7645b4807cead35edf24da00bcd (patch) | |
| tree | 033f746a89798e08e91dee047a47d8c9cf7c9a91 /tools/lib/python | |
| parent | e0a1404b34e0002f03f7979cdb791a9b5c3963f5 (diff) | |
drm/amdgpu: rewrite all PTEs of the BOs after a VM reset
amdgpu_vm_bo_reset_state_machine() moves all idle vm_bos to needs_update
so that their mappings are written again, e.g. after a GPU reset lost
VRAM. Since commit 5be7f6720a0f ("drm/amdgpu: Only set bo->moved when
the BO was actually moved") amdgpu_vm_bo_needs_update() no longer sets
the moved flag, so amdgpu_vm_bo_update() writes nothing for the kernel
and always valid BOs. The same applies to vm_bos already on a
needs_update list, e.g. after an AMDGPU_VM_DELAY_UPDATE mapping, where
only the new mapping gets written.
An SDMA write to an always valid BO after a VRAM-losing reset faults:
amdgpu 0000:03:00.0: VRAM is lost due to GPU reset!
amdgpu 0000:03:00.0: [gfxhub] page fault (src_id:0 ring:40 vmid:7 pasid:9)
amdgpu 0000:03:00.0: in page starting at address 0x0000000100000000 from client 10
Set the moved flag for all vm_bos on the needs_update lists after moving
the idle ones there; the root PD still goes back to idle.
Fixes: 5be7f6720a0f ("drm/amdgpu: Only set bo->moved when the BO was actually moved")
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Jesse Zhang <Jesse.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit d397f95f63cc0f711c3e8f2043edc59b575345ab)
Cc: stable@vger.kernel.org
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions
