diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c index 5d9a34601a1ac54d3a64d57ee39128fae257e401..3d4e6b8b8fb106003a44507e3741929c115f8552 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c @@ -229,7 +229,7 @@ int amdgpu_amdkfd_resume_iommu(struct amdgpu_device *adev) { int r = 0; - if (adev->kfd.dev) + if (adev->kfd.dev && !adev->in_s0ix) r = kgd2kfd_resume_iommu(adev->kfd.dev); return r; diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 9ef83f3ab3a7e85c184b713a5e6252dfe5c85140..adf4bae7c856ade7c7a1f31973213143b9097ec7 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -4148,6 +4148,9 @@ int amdgpu_device_suspend(struct drm_device *dev, bool fbcon) amdgpu_device_ip_suspend_phase1(adev); + DRM_INFO("calling suspend, before KFD check, in_s0ix: %d, in_runpm:%d\n", + adev->in_s0ix, adev->in_runpm); + //if (adev->asic_type == CHIP_RAVEN || !adev->in_s0ix) if (!adev->in_s0ix) amdgpu_amdkfd_suspend(adev, adev->in_runpm);