diff options
| author | Sunil Khatri <[email protected]> | 2024-03-07 16:01:50 +0000 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2024-03-20 17:37:36 +0000 |
| commit | dc406d92a097c669e6468ac4f694b4c927c47ab6 (patch) | |
| tree | 16d7788c668599d158cfd24dfe550fcec5fc4d44 /drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | |
| parent | drm/amd/display: Add some forward declarations (diff) | |
| download | kernel-dc406d92a097c669e6468ac4f694b4c927c47ab6.tar.gz kernel-dc406d92a097c669e6468ac4f694b4c927c47ab6.zip | |
drm/amdgpu: add recent pagefault info in vm_manager
Currently page fault information is stored per
vm and which could be freed or stale during
reset. Add it pagefault information in the
vm_manager which is a global space for vm's
and remains valid across.
Signed-off-by: Sunil Khatri <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index 4299ce386322..81fb3465e197 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c @@ -2924,6 +2924,14 @@ void amdgpu_vm_update_fault_cache(struct amdgpu_device *adev, if (vm && status) { vm->fault_info.addr = addr; vm->fault_info.status = status; + /* + * Update the fault information globally for later usage + * when vm could be stale or freed. + */ + adev->vm_manager.fault_info.addr = addr; + adev->vm_manager.fault_info.vmhub = vmhub; + adev->vm_manager.fault_info.status = status; + if (AMDGPU_IS_GFXHUB(vmhub)) { vm->fault_info.vmhub = AMDGPU_VMHUB_TYPE_GFX; vm->fault_info.vmhub |= |
