diff options
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0886-drm-amd-amdgpu-Tidy-up-gfx_v9_0_ngg_en.patch')
-rw-r--r-- | meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0886-drm-amd-amdgpu-Tidy-up-gfx_v9_0_ngg_en.patch | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0886-drm-amd-amdgpu-Tidy-up-gfx_v9_0_ngg_en.patch b/meta-v1000/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-v1000/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 + |