aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0886-drm-amd-amdgpu-Tidy-up-gfx_v9_0_ngg_en.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0886-drm-amd-amdgpu-Tidy-up-gfx_v9_0_ngg_en.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0886-drm-amd-amdgpu-Tidy-up-gfx_v9_0_ngg_en.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0886-drm-amd-amdgpu-Tidy-up-gfx_v9_0_ngg_en.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0886-drm-amd-amdgpu-Tidy-up-gfx_v9_0_ngg_en.patch
new file mode 100644
index 00000000..88a49f6c
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0886-drm-amd-amdgpu-Tidy-up-gfx_v9_0_ngg_en.patch
@@ -0,0 +1,58 @@
+From 32c33f43984692733ba5b61022f1ca2e94500ff6 Mon Sep 17 00:00:00 2001
+From: Tom St Denis <tom.stdenis@amd.com>
+Date: Thu, 31 Aug 2017 08:50:23 -0400
+Subject: [PATCH 0886/4131] drm/amd/amdgpu: Tidy up gfx_v9_0_ngg_en()
+
+Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 26 +++++++++-----------------
+ 1 file changed, 9 insertions(+), 17 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
+index 7670ca1..544cc87 100644
+--- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
+@@ -1152,30 +1152,22 @@ static int gfx_v9_0_ngg_en(struct amdgpu_device *adev)
+ {
+ struct amdgpu_ring *ring = &adev->gfx.gfx_ring[0];
+ int r;
+- u32 data;
+- u32 size;
+- u32 base;
++ u32 data, base;
+
+ if (!amdgpu_ngg)
+ return 0;
+
+ /* Program buffer size */
+- data = 0;
+- size = adev->gfx.ngg.buf[NGG_PRIM].size / 256;
+- data = REG_SET_FIELD(data, WD_BUF_RESOURCE_1, INDEX_BUF_SIZE, size);
+-
+- size = adev->gfx.ngg.buf[NGG_POS].size / 256;
+- data = REG_SET_FIELD(data, WD_BUF_RESOURCE_1, POS_BUF_SIZE, size);
+-
++ data = REG_SET_FIELD(0, WD_BUF_RESOURCE_1, INDEX_BUF_SIZE,
++ adev->gfx.ngg.buf[NGG_PRIM].size >> 8);
++ data = REG_SET_FIELD(data, WD_BUF_RESOURCE_1, POS_BUF_SIZE,
++ adev->gfx.ngg.buf[NGG_POS].size >> 8);
+ WREG32_SOC15(GC, 0, mmWD_BUF_RESOURCE_1, data);
+
+- data = 0;
+- size = adev->gfx.ngg.buf[NGG_CNTL].size / 256;
+- data = REG_SET_FIELD(data, WD_BUF_RESOURCE_2, CNTL_SB_BUF_SIZE, size);
+-
+- size = adev->gfx.ngg.buf[NGG_PARAM].size / 1024;
+- data = REG_SET_FIELD(data, WD_BUF_RESOURCE_2, PARAM_BUF_SIZE, size);
+-
++ data = REG_SET_FIELD(0, WD_BUF_RESOURCE_2, CNTL_SB_BUF_SIZE,
++ adev->gfx.ngg.buf[NGG_CNTL].size >> 8);
++ data = REG_SET_FIELD(data, WD_BUF_RESOURCE_2, PARAM_BUF_SIZE,
++ adev->gfx.ngg.buf[NGG_PARAM].size >> 10);
+ WREG32_SOC15(GC, 0, mmWD_BUF_RESOURCE_2, data);
+
+ /* Program buffer base address */
+--
+2.7.4
+