diff options
author | Andrey Grodzovsky <andrey.grodzovsky@amd.com> | 2020-08-24 18:30:47 +0200 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2020-09-15 23:25:04 +0200 |
commit | c1dd4aa624076cb6d4724fad2d9e9e71e46bbc9f (patch) | |
tree | 0f5e8174ed47fc938b314ff32da89326b0ba1998 /drivers/gpu/drm/amd/amdgpu/soc15.c | |
parent | drm/amdgpu: Fix SMU error failure (diff) | |
download | linux-c1dd4aa624076cb6d4724fad2d9e9e71e46bbc9f.tar.xz linux-c1dd4aa624076cb6d4724fad2d9e9e71e46bbc9f.zip |
drm/amdgpu: Fix consecutive DPC recovery failures.
Cache the PCI state on boot and before each case where we might
loose it.
v2: Add pci_restore_state while caching the PCI state to avoid
breaking PCI core logic for stuff like suspend/resume.
v3: Extract pci_restore_state from amdgpu_device_cache_pci_state
to avoid superflous restores during GPU resets and suspend/resumes.
v4: Style fixes.
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/soc15.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/soc15.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c b/drivers/gpu/drm/amd/amdgpu/soc15.c index 2f93c475d6d8..ddd55e3176c4 100644 --- a/drivers/gpu/drm/amd/amdgpu/soc15.c +++ b/drivers/gpu/drm/amd/amdgpu/soc15.c @@ -484,13 +484,13 @@ static int soc15_asic_mode1_reset(struct amdgpu_device *adev) /* disable BM */ pci_clear_master(adev->pdev); - pci_save_state(adev->pdev); + amdgpu_device_cache_pci_state(adev->pdev); ret = psp_gpu_reset(adev); if (ret) dev_err(adev->dev, "GPU mode1 reset failed\n"); - pci_restore_state(adev->pdev); + amdgpu_device_load_pci_state(adev->pdev); /* wait for asic to come out of reset */ for (i = 0; i < adev->usec_timeout; i++) { |