aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2180-drm-amdgpu-gfx7-cache-raster_config-values.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2180-drm-amdgpu-gfx7-cache-raster_config-values.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2180-drm-amdgpu-gfx7-cache-raster_config-values.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2180-drm-amdgpu-gfx7-cache-raster_config-values.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2180-drm-amdgpu-gfx7-cache-raster_config-values.patch
new file mode 100644
index 00000000..727ac0b6
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2180-drm-amdgpu-gfx7-cache-raster_config-values.patch
@@ -0,0 +1,46 @@
+From b7b631daaa918a74b46a28641e641c9bf97499a5 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Mon, 13 Nov 2017 15:41:30 -0500
+Subject: [PATCH 2180/4131] drm/amdgpu/gfx7: cache raster_config values
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We did this for gfx6 and 8, but somehow missed gfx7.
+
+Reviewed-by: Christian König <christian.koenig@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
+index 84827a7..d78d1da 100644
+--- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
+@@ -1821,6 +1821,22 @@ static void gfx_v7_0_setup_rb(struct amdgpu_device *adev)
+ adev->gfx.config.backend_enable_mask,
+ num_rb_pipes);
+ }
++
++ /* cache the values for userspace */
++ for (i = 0; i < adev->gfx.config.max_shader_engines; i++) {
++ for (j = 0; j < adev->gfx.config.max_sh_per_se; j++) {
++ gfx_v7_0_select_se_sh(adev, i, j, 0xffffffff);
++ adev->gfx.config.rb_config[i][j].rb_backend_disable =
++ RREG32(mmCC_RB_BACKEND_DISABLE);
++ adev->gfx.config.rb_config[i][j].user_rb_backend_disable =
++ RREG32(mmGC_USER_RB_BACKEND_DISABLE);
++ adev->gfx.config.rb_config[i][j].raster_config =
++ RREG32(mmPA_SC_RASTER_CONFIG);
++ adev->gfx.config.rb_config[i][j].raster_config_1 =
++ RREG32(mmPA_SC_RASTER_CONFIG_1);
++ }
++ }
++ gfx_v7_0_select_se_sh(adev, 0xffffffff, 0xffffffff, 0xffffffff);
+ mutex_unlock(&adev->grbm_idx_mutex);
+ }
+
+--
+2.7.4
+