Re: [PATCH] drm/amdgpu: always reset the asic in suspend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I was just about to write up my concern as well.

IIRC we used to have that and it didn't really worked that well and we switched to resetting the GPU on driver load instead if initializing it doesn't work of hand.

Christian.

Am 12.11.21 um 17:19 schrieb Alex Deucher:
Actually, ignore this for now.  This will likely cause problems with S0ix.

Alex

On Fri, Nov 12, 2021 at 11:18 AM Alex Deucher <alexander.deucher@xxxxxxx> wrote:
If the platform suspend happens to fail and the power rail
is not turned off, the GPU will be in an unknown state on
resume, so reset the asic so that it will be in a known
good state on resume even if the platform suspend failed.

Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 5 +++--
  1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index 1db76429a673..42af3d88e0ba 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -2165,8 +2165,9 @@ static int amdgpu_pmops_suspend(struct device *dev)
         adev->in_s3 = true;
         r = amdgpu_device_suspend(drm_dev, true);
         adev->in_s3 = false;
-
-       return r;
+       if (r)
+               return r;
+       return amdgpu_asic_reset(adev);
  }

  static int amdgpu_pmops_resume(struct device *dev)
--
2.31.1





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux