aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1869-drm-amdgpu-halt-when-vm-fault.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1869-drm-amdgpu-halt-when-vm-fault.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1869-drm-amdgpu-halt-when-vm-fault.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1869-drm-amdgpu-halt-when-vm-fault.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1869-drm-amdgpu-halt-when-vm-fault.patch
new file mode 100644
index 00000000..04844a94
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1869-drm-amdgpu-halt-when-vm-fault.patch
@@ -0,0 +1,56 @@
+From a7618736085d9b701892e649c368f61cb3e76a9f Mon Sep 17 00:00:00 2001
+From: Monk Liu <Monk.Liu@amd.com>
+Date: Tue, 4 Jul 2017 16:40:58 +0800
+Subject: [PATCH 1869/4131] drm/amdgpu:halt when vm fault
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+only with this way we can debug the VMC page fault issue
+
+Change-Id: Ifc8373c3c3c40d54ae94dedf1be74d6314faeb10
+Signed-off-by: Monk Liu <Monk.Liu@amd.com>
+Reviewed-by: Christian König <christian.koenig@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c | 6 ++++++
+ drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c | 7 +++++++
+ 2 files changed, 13 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c b/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c
+index 6c8040e..c17996e 100644
+--- a/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c
++++ b/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c
+@@ -319,6 +319,12 @@ void gfxhub_v1_0_set_fault_enable_default(struct amdgpu_device *adev,
+ WRITE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
+ tmp = REG_SET_FIELD(tmp, VM_L2_PROTECTION_FAULT_CNTL,
+ EXECUTE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
++ if (!value) {
++ tmp = REG_SET_FIELD(tmp, VM_L2_PROTECTION_FAULT_CNTL,
++ CRASH_ON_NO_RETRY_FAULT, 1);
++ tmp = REG_SET_FIELD(tmp, VM_L2_PROTECTION_FAULT_CNTL,
++ CRASH_ON_RETRY_FAULT, 1);
++ }
+ WREG32_SOC15(GC, 0, mmVM_L2_PROTECTION_FAULT_CNTL, tmp);
+ }
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c b/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c
+index 7ff7076..cc21c4b 100644
+--- a/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c
++++ b/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c
+@@ -561,6 +561,13 @@ void mmhub_v1_0_set_fault_enable_default(struct amdgpu_device *adev, bool value)
+ WRITE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
+ tmp = REG_SET_FIELD(tmp, VM_L2_PROTECTION_FAULT_CNTL,
+ EXECUTE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
++ if (!value) {
++ tmp = REG_SET_FIELD(tmp, VM_L2_PROTECTION_FAULT_CNTL,
++ CRASH_ON_NO_RETRY_FAULT, 1);
++ tmp = REG_SET_FIELD(tmp, VM_L2_PROTECTION_FAULT_CNTL,
++ CRASH_ON_RETRY_FAULT, 1);
++ }
++
+ WREG32_SOC15(MMHUB, 0, mmVM_L2_PROTECTION_FAULT_CNTL, tmp);
+ }
+
+--
+2.7.4
+