drm/amdgpu: Do not evict VRAM on APUs with disabled HIBERNATE
authorPaul Menzel <pmenzel@molgen.mpg.de>
Wed, 25 Jul 2018 10:54:19 +0000 (12:54 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 27 Aug 2018 16:11:03 +0000 (11:11 -0500)
Improve commit d796d844 (drm/radeon/kms: make hibernate work on IGPs) to
only migrate VRAM objects if the Linux kernel is actually built with
support for hibernation (suspend to disk).

The better solution is to get the information, if this is suspend or
hibernate, from `amdgpu_device_suspend()`, but that’s more involved, so
apply the simple solution first.

Link: https://bugs.freedesktop.org/show_bug.cgi?id=107277
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c

index b0e14a3d54efd44e86580f816f41f05f16368b08..5ddd4e87480bb010dd92dca2a620ec0d8e8e51a6 100644 (file)
@@ -1019,10 +1019,12 @@ int amdgpu_bo_unpin(struct amdgpu_bo *bo)
 int amdgpu_bo_evict_vram(struct amdgpu_device *adev)
 {
        /* late 2.6.33 fix IGP hibernate - we need pm ops to do this correct */
-       if (0 && (adev->flags & AMD_IS_APU)) {
+#ifndef CONFIG_HIBERNATION
+       if (adev->flags & AMD_IS_APU) {
                /* Useless to evict on IGP chips */
                return 0;
        }
+#endif
        return ttm_bo_evict_mm(&adev->mman.bdev, TTM_PL_VRAM);
 }