aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4023-drm-amdgpu-don-t-increment-vram-lost-if-we-are-in-hi.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4023-drm-amdgpu-don-t-increment-vram-lost-if-we-are-in-hi.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4023-drm-amdgpu-don-t-increment-vram-lost-if-we-are-in-hi.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4023-drm-amdgpu-don-t-increment-vram-lost-if-we-are-in-hi.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4023-drm-amdgpu-don-t-increment-vram-lost-if-we-are-in-hi.patch
new file mode 100644
index 00000000..da2f6d7e
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4023-drm-amdgpu-don-t-increment-vram-lost-if-we-are-in-hi.patch
@@ -0,0 +1,63 @@
+From 717d6e84270cf1c0e98901b4be5962339ca911c7 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Tue, 1 Oct 2019 16:45:27 -0500
+Subject: [PATCH 4023/4256] drm/amdgpu: don't increment vram lost if we are in
+ hibernation
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We reset the GPU as part of our hibernation sequence so we need
+to make sure we don't mark vram as lost in that case.
+
+Bug: https://bugs.freedesktop.org/show_bug.cgi?id=111879
+Acked-by: Christian König <christian.koenig@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/nv.c | 6 ++++--
+ drivers/gpu/drm/amd/amdgpu/soc15.c | 6 ++++--
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/nv.c b/drivers/gpu/drm/amd/amdgpu/nv.c
+index 994198ef853a..55a6ed09a953 100644
+--- a/drivers/gpu/drm/amd/amdgpu/nv.c
++++ b/drivers/gpu/drm/amd/amdgpu/nv.c
+@@ -318,10 +318,12 @@ static int nv_asic_reset(struct amdgpu_device *adev)
+ struct smu_context *smu = &adev->smu;
+
+ if (nv_asic_reset_method(adev) == AMD_RESET_METHOD_BACO) {
+- amdgpu_inc_vram_lost(adev);
++ if (!adev->in_suspend)
++ amdgpu_inc_vram_lost(adev);
+ ret = smu_baco_reset(smu);
+ } else {
+- amdgpu_inc_vram_lost(adev);
++ if (!adev->in_suspend)
++ amdgpu_inc_vram_lost(adev);
+ ret = nv_asic_mode1_reset(adev);
+ }
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c b/drivers/gpu/drm/amd/amdgpu/soc15.c
+index eb87d04cb425..3f89a57e823e 100644
+--- a/drivers/gpu/drm/amd/amdgpu/soc15.c
++++ b/drivers/gpu/drm/amd/amdgpu/soc15.c
+@@ -563,12 +563,14 @@ static int soc15_asic_reset(struct amdgpu_device *adev)
+ {
+ switch (soc15_asic_reset_method(adev)) {
+ case AMD_RESET_METHOD_BACO:
+- amdgpu_inc_vram_lost(adev);
++ if (!adev->in_suspend)
++ amdgpu_inc_vram_lost(adev);
+ return soc15_asic_baco_reset(adev);
+ case AMD_RESET_METHOD_MODE2:
+ return soc15_mode2_reset(adev);
+ default:
+- amdgpu_inc_vram_lost(adev);
++ if (!adev->in_suspend)
++ amdgpu_inc_vram_lost(adev);
+ return soc15_asic_mode1_reset(adev);
+ }
+ }
+--
+2.17.1
+