]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 6 Jan 2014 17:37:13 +0000 (09:37 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 6 Jan 2014 17:37:13 +0000 (09:37 -0800)
added patches:
drm-radeon-fix-asic-gfx-values-for-scrapper-asics.patch

queue-3.4/drm-radeon-fix-asic-gfx-values-for-scrapper-asics.patch [new file with mode: 0644]
queue-3.4/series

diff --git a/queue-3.4/drm-radeon-fix-asic-gfx-values-for-scrapper-asics.patch b/queue-3.4/drm-radeon-fix-asic-gfx-values-for-scrapper-asics.patch
new file mode 100644 (file)
index 0000000..cc9db33
--- /dev/null
@@ -0,0 +1,74 @@
+From e2f6c88fb903e123edfd1106b0b8310d5117f774 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Thu, 19 Dec 2013 19:41:46 -0500
+Subject: drm/radeon: fix asic gfx values for scrapper asics
+
+From: Alex Deucher <alexander.deucher@amd.com>
+
+commit e2f6c88fb903e123edfd1106b0b8310d5117f774 upstream.
+
+Fixes gfx corruption on certain TN/RL parts.
+
+bug:
+https://bugs.freedesktop.org/show_bug.cgi?id=60389
+
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/radeon/ni.c |   20 ++++++++++++++++----
+ 1 file changed, 16 insertions(+), 4 deletions(-)
+
+--- a/drivers/gpu/drm/radeon/ni.c
++++ b/drivers/gpu/drm/radeon/ni.c
+@@ -672,6 +672,10 @@ static void cayman_gpu_init(struct radeo
+                   (rdev->pdev->device == 0x999C)) {
+                       rdev->config.cayman.max_simds_per_se = 6;
+                       rdev->config.cayman.max_backends_per_se = 2;
++                      rdev->config.cayman.max_hw_contexts = 8;
++                      rdev->config.cayman.sx_max_export_size = 256;
++                      rdev->config.cayman.sx_max_export_pos_size = 64;
++                      rdev->config.cayman.sx_max_export_smx_size = 192;
+               } else if ((rdev->pdev->device == 0x9903) ||
+                          (rdev->pdev->device == 0x9904) ||
+                          (rdev->pdev->device == 0x990A) ||
+@@ -682,6 +686,10 @@ static void cayman_gpu_init(struct radeo
+                          (rdev->pdev->device == 0x999D)) {
+                       rdev->config.cayman.max_simds_per_se = 4;
+                       rdev->config.cayman.max_backends_per_se = 2;
++                      rdev->config.cayman.max_hw_contexts = 8;
++                      rdev->config.cayman.sx_max_export_size = 256;
++                      rdev->config.cayman.sx_max_export_pos_size = 64;
++                      rdev->config.cayman.sx_max_export_smx_size = 192;
+               } else if ((rdev->pdev->device == 0x9919) ||
+                          (rdev->pdev->device == 0x9990) ||
+                          (rdev->pdev->device == 0x9991) ||
+@@ -692,9 +700,17 @@ static void cayman_gpu_init(struct radeo
+                          (rdev->pdev->device == 0x99A0)) {
+                       rdev->config.cayman.max_simds_per_se = 3;
+                       rdev->config.cayman.max_backends_per_se = 1;
++                      rdev->config.cayman.max_hw_contexts = 4;
++                      rdev->config.cayman.sx_max_export_size = 128;
++                      rdev->config.cayman.sx_max_export_pos_size = 32;
++                      rdev->config.cayman.sx_max_export_smx_size = 96;
+               } else {
+                       rdev->config.cayman.max_simds_per_se = 2;
+                       rdev->config.cayman.max_backends_per_se = 1;
++                      rdev->config.cayman.max_hw_contexts = 4;
++                      rdev->config.cayman.sx_max_export_size = 128;
++                      rdev->config.cayman.sx_max_export_pos_size = 32;
++                      rdev->config.cayman.sx_max_export_smx_size = 96;
+               }
+               rdev->config.cayman.max_texture_channel_caches = 2;
+               rdev->config.cayman.max_gprs = 256;
+@@ -702,10 +718,6 @@ static void cayman_gpu_init(struct radeo
+               rdev->config.cayman.max_gs_threads = 32;
+               rdev->config.cayman.max_stack_entries = 512;
+               rdev->config.cayman.sx_num_of_sets = 8;
+-              rdev->config.cayman.sx_max_export_size = 256;
+-              rdev->config.cayman.sx_max_export_pos_size = 64;
+-              rdev->config.cayman.sx_max_export_smx_size = 192;
+-              rdev->config.cayman.max_hw_contexts = 8;
+               rdev->config.cayman.sq_num_cf_insts = 2;
+               rdev->config.cayman.sc_prim_fifo_size = 0x40;
index 2c90d5f3232bdfe8f6083f31a1b79b4331a81179..ebac56d2283a75df6ec0eeb0247deb6dc4251549 100644 (file)
@@ -16,3 +16,4 @@ ext4-check-for-overlapping-extents-in-ext4_valid_extent_entries.patch
 sched-rt-fix-rq-s-cpupri-leak-while-enqueue-dequeue-child-rt-entities.patch
 drm-edid-add-quirk-for-bpc-in-samsung-np700g7a-s01pl-notebook.patch
 net_dma-mark-broken.patch
+drm-radeon-fix-asic-gfx-values-for-scrapper-asics.patch