aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3453-drm-amdgpu-Set-VM_L2_CNTL.PDE_FAULT_CLASSIFICATION-t.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3453-drm-amdgpu-Set-VM_L2_CNTL.PDE_FAULT_CLASSIFICATION-t.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3453-drm-amdgpu-Set-VM_L2_CNTL.PDE_FAULT_CLASSIFICATION-t.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3453-drm-amdgpu-Set-VM_L2_CNTL.PDE_FAULT_CLASSIFICATION-t.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3453-drm-amdgpu-Set-VM_L2_CNTL.PDE_FAULT_CLASSIFICATION-t.patch
new file mode 100644
index 00000000..4e6d4662
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3453-drm-amdgpu-Set-VM_L2_CNTL.PDE_FAULT_CLASSIFICATION-t.patch
@@ -0,0 +1,58 @@
+From 2c458c0a56b4cf6da708847f1c1b7e4512d2865d Mon Sep 17 00:00:00 2001
+From: Yong Zhao <Yong.Zhao@amd.com>
+Date: Tue, 13 Aug 2019 14:38:03 -0400
+Subject: [PATCH 3453/4256] drm/amdgpu: Set VM_L2_CNTL.PDE_FAULT_CLASSIFICATION
+ to 0 for GFX10
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We have done this for pre-GFX10 asics, but GFX10 did not pick up the
+new change. The below is the commit message for that change.
+
+This is recommended by HW designers. Previously when it was set to 1,
+the PDE walk error in VM fault will be treated as
+PERMISSION_OR_INVALID_PAGE_FAULT rather than usually expected OTHER_FAULT.
+As a result, the retry control in VM_CONTEXT*_CNTL will change accordingly.
+
+The above behavior is kind of abnormal. Furthermore, the
+PDE_FAULT_CLASSIFICATION == 1 feature was targeted for very old ASICs
+and it never made it way to production. Therefore, we should set it to 0.
+
+Change-Id: If1beedb631d16b85d072aa96657a7a75fa378480
+Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
+Reviewed-by: Christian König <christian.koenig@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/gfxhub_v2_0.c | 2 +-
+ drivers/gpu/drm/amd/amdgpu/mmhub_v2_0.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/gfxhub_v2_0.c b/drivers/gpu/drm/amd/amdgpu/gfxhub_v2_0.c
+index 8ce5bf5feb45..8b789f750b72 100644
+--- a/drivers/gpu/drm/amd/amdgpu/gfxhub_v2_0.c
++++ b/drivers/gpu/drm/amd/amdgpu/gfxhub_v2_0.c
+@@ -140,7 +140,7 @@ static void gfxhub_v2_0_init_cache_regs(struct amdgpu_device *adev)
+ /* XXX for emulation, Refer to closed source code.*/
+ tmp = REG_SET_FIELD(tmp, GCVM_L2_CNTL,
+ L2_PDE0_CACHE_TAG_GENERATION_MODE, 0);
+- tmp = REG_SET_FIELD(tmp, GCVM_L2_CNTL, PDE_FAULT_CLASSIFICATION, 1);
++ tmp = REG_SET_FIELD(tmp, GCVM_L2_CNTL, PDE_FAULT_CLASSIFICATION, 0);
+ tmp = REG_SET_FIELD(tmp, GCVM_L2_CNTL, CONTEXT1_IDENTITY_ACCESS_MODE, 1);
+ tmp = REG_SET_FIELD(tmp, GCVM_L2_CNTL, IDENTITY_MODE_FRAGMENT_SIZE, 0);
+ WREG32_SOC15(GC, 0, mmGCVM_L2_CNTL, tmp);
+diff --git a/drivers/gpu/drm/amd/amdgpu/mmhub_v2_0.c b/drivers/gpu/drm/amd/amdgpu/mmhub_v2_0.c
+index 8ee1225d1a18..3542c203c3c8 100644
+--- a/drivers/gpu/drm/amd/amdgpu/mmhub_v2_0.c
++++ b/drivers/gpu/drm/amd/amdgpu/mmhub_v2_0.c
+@@ -126,7 +126,7 @@ static void mmhub_v2_0_init_cache_regs(struct amdgpu_device *adev)
+ /* XXX for emulation, Refer to closed source code.*/
+ tmp = REG_SET_FIELD(tmp, MMVM_L2_CNTL, L2_PDE0_CACHE_TAG_GENERATION_MODE,
+ 0);
+- tmp = REG_SET_FIELD(tmp, MMVM_L2_CNTL, PDE_FAULT_CLASSIFICATION, 1);
++ tmp = REG_SET_FIELD(tmp, MMVM_L2_CNTL, PDE_FAULT_CLASSIFICATION, 0);
+ tmp = REG_SET_FIELD(tmp, MMVM_L2_CNTL, CONTEXT1_IDENTITY_ACCESS_MODE, 1);
+ tmp = REG_SET_FIELD(tmp, MMVM_L2_CNTL, IDENTITY_MODE_FRAGMENT_SIZE, 0);
+ WREG32_SOC15(MMHUB, 0, mmMMVM_L2_CNTL, tmp);
+--
+2.17.1
+