aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/4661-drm-amdgpu-gmc9-disable-partial-wr-rmw-if-ECC-is-not.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4661-drm-amdgpu-gmc9-disable-partial-wr-rmw-if-ECC-is-not.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/4661-drm-amdgpu-gmc9-disable-partial-wr-rmw-if-ECC-is-not.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4661-drm-amdgpu-gmc9-disable-partial-wr-rmw-if-ECC-is-not.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4661-drm-amdgpu-gmc9-disable-partial-wr-rmw-if-ECC-is-not.patch
new file mode 100644
index 00000000..80ac368f
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4661-drm-amdgpu-gmc9-disable-partial-wr-rmw-if-ECC-is-not.patch
@@ -0,0 +1,32 @@
+From 9c1ba9daa7a50291ab825e16d0226c8267e498ab Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Thu, 10 May 2018 15:15:12 -0500
+Subject: [PATCH 4661/5725] drm/amdgpu/gmc9: disable partial wr rmw if ECC is
+ not enabled
+
+The vbios mistakenly sets this bit on some boards without ECC.
+This can lead to reduced performance in some workloads. Disable
+the bit if the board does not have ECC.
+
+Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
+Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
+index 1f3249b..ad65e57c 100644
+--- a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
+@@ -674,6 +674,7 @@ static int gmc_v9_0_late_init(void *handle)
+ DRM_INFO("ECC is active.\n");
+ } else if (r == 0) {
+ DRM_INFO("ECC is not present.\n");
++ adev->df_funcs->enable_ecc_force_par_wr_rmw(adev, false);
+ } else {
+ DRM_ERROR("gmc_v9_0_ecc_available() failed. r: %d\n", r);
+ return r;
+--
+2.7.4
+