diff options
| author | Victor Skvortsov <[email protected]> | 2024-08-08 17:22:34 +0000 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2024-08-13 16:12:52 +0000 |
| commit | f83cec3b3a7c968bbceb810b7acd1baf3fe8cd87 (patch) | |
| tree | c2fc37bb40f7b0a68d1401721b7a45eb743e7b5f /drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | |
| parent | Revert "drm/amdgpu: Extend KIQ reg polling wait for VF" (diff) | |
| download | kernel-f83cec3b3a7c968bbceb810b7acd1baf3fe8cd87.tar.gz kernel-f83cec3b3a7c968bbceb810b7acd1baf3fe8cd87.zip | |
drm/amdgpu: Disable dpm_enabled flag while VF is in reset
VFs do not perform HW fini/suspend in FLR, so the dpm_enabled
is incorrectly kept enabled. Add interface to disable it in
virt_pre_reset call.
v2: Made implementation generic for all asics
v3: Re-order conditionals so PP_MP1_STATE_FLR is only evaluated on VF
Signed-off-by: Victor Skvortsov <[email protected]>
Reviewed-by: Lijo Lazar <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_device.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 29a4adee9286..a6b8d0ba4758 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -5289,10 +5289,8 @@ int amdgpu_device_pre_asic_reset(struct amdgpu_device *adev, if (reset_context->reset_req_dev == adev) job = reset_context->job; - if (amdgpu_sriov_vf(adev)) { - /* stop the data exchange thread */ - amdgpu_virt_fini_data_exchange(adev); - } + if (amdgpu_sriov_vf(adev)) + amdgpu_virt_pre_reset(adev); amdgpu_fence_driver_isr_toggle(adev, true); |
