aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/1144-cache-rb-config-values.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/1144-cache-rb-config-values.patch')
-rw-r--r--common/recipes-kernel/linux/files/1144-cache-rb-config-values.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/1144-cache-rb-config-values.patch b/common/recipes-kernel/linux/files/1144-cache-rb-config-values.patch
new file mode 100644
index 00000000..0c8fe273
--- /dev/null
+++ b/common/recipes-kernel/linux/files/1144-cache-rb-config-values.patch
@@ -0,0 +1,46 @@
+From 0aaf3d10e376981da3d92f037c6e36a5c4e8d348 Mon Sep 17 00:00:00 2001
+From: Sanjay R Mehta <sanju.mehta@amd.com>
+Date: Tue, 6 Dec 2016 19:40:46 +0530
+Subject: [PATCH 06/10] cache rb config values
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Needed when for SR-IOV and when PG is enabled.
+
+Reviewed-by: Christian König <christian.koenig@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Sanjay R Mehta <sanju.mehta@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
+index 20ac07f..479047e 100644
+--- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
+@@ -3671,6 +3671,21 @@ static void gfx_v8_0_setup_rb(struct amdgpu_device *adev)
+ 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_v8_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_v8_0_select_se_sh(adev, 0xffffffff, 0xffffffff);
+ mutex_unlock(&adev->grbm_idx_mutex);
+ }
+
+--
+2.7.4
+