]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 14 Jul 2014 19:05:39 +0000 (12:05 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 14 Jul 2014 19:05:39 +0000 (12:05 -0700)
added patches:
drm-radeon-fix-typo-in-golden-register-setup-on-evergreen.patch
drm-radeon-stop-poisoning-the-gart-tlb.patch

queue-3.10/drm-radeon-fix-typo-in-golden-register-setup-on-evergreen.patch [new file with mode: 0644]
queue-3.10/drm-radeon-stop-poisoning-the-gart-tlb.patch [new file with mode: 0644]
queue-3.10/series

diff --git a/queue-3.10/drm-radeon-fix-typo-in-golden-register-setup-on-evergreen.patch b/queue-3.10/drm-radeon-fix-typo-in-golden-register-setup-on-evergreen.patch
new file mode 100644 (file)
index 0000000..64873ca
--- /dev/null
@@ -0,0 +1,59 @@
+From 6abafb78f9881b4891baf74ab4e9f090ae45230e Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Mon, 7 Jul 2014 17:59:37 -0400
+Subject: drm/radeon: fix typo in golden register setup on evergreen
+
+From: Alex Deucher <alexander.deucher@amd.com>
+
+commit 6abafb78f9881b4891baf74ab4e9f090ae45230e upstream.
+
+Fixes hangs on driver load on some cards.
+
+bug:
+https://bugs.freedesktop.org/show_bug.cgi?id=76998
+
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/radeon/evergreen.c |    8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/drivers/gpu/drm/radeon/evergreen.c
++++ b/drivers/gpu/drm/radeon/evergreen.c
+@@ -94,7 +94,7 @@ static const u32 evergreen_golden_regist
+       0x8c1c, 0xffffffff, 0x00001010,
+       0x28350, 0xffffffff, 0x00000000,
+       0xa008, 0xffffffff, 0x00010000,
+-      0x5cc, 0xffffffff, 0x00000001,
++      0x5c4, 0xffffffff, 0x00000001,
+       0x9508, 0xffffffff, 0x00000002,
+       0x913c, 0x0000000f, 0x0000000a
+ };
+@@ -381,7 +381,7 @@ static const u32 cedar_golden_registers[
+       0x8c1c, 0xffffffff, 0x00001010,
+       0x28350, 0xffffffff, 0x00000000,
+       0xa008, 0xffffffff, 0x00010000,
+-      0x5cc, 0xffffffff, 0x00000001,
++      0x5c4, 0xffffffff, 0x00000001,
+       0x9508, 0xffffffff, 0x00000002
+ };
+@@ -540,7 +540,7 @@ static const u32 juniper_mgcg_init[] =
+ static const u32 supersumo_golden_registers[] =
+ {
+       0x5eb4, 0xffffffff, 0x00000002,
+-      0x5cc, 0xffffffff, 0x00000001,
++      0x5c4, 0xffffffff, 0x00000001,
+       0x7030, 0xffffffff, 0x00000011,
+       0x7c30, 0xffffffff, 0x00000011,
+       0x6104, 0x01000300, 0x00000000,
+@@ -624,7 +624,7 @@ static const u32 sumo_golden_registers[]
+ static const u32 wrestler_golden_registers[] =
+ {
+       0x5eb4, 0xffffffff, 0x00000002,
+-      0x5cc, 0xffffffff, 0x00000001,
++      0x5c4, 0xffffffff, 0x00000001,
+       0x7030, 0xffffffff, 0x00000011,
+       0x7c30, 0xffffffff, 0x00000011,
+       0x6104, 0x01000300, 0x00000000,
diff --git a/queue-3.10/drm-radeon-stop-poisoning-the-gart-tlb.patch b/queue-3.10/drm-radeon-stop-poisoning-the-gart-tlb.patch
new file mode 100644 (file)
index 0000000..a51dd53
--- /dev/null
@@ -0,0 +1,43 @@
+From 0986c1a55ca64b44ee126a2f719a6e9f28cbe0ed Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
+Date: Wed, 4 Jun 2014 15:29:56 +0200
+Subject: drm/radeon: stop poisoning the GART TLB
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Christian König <christian.koenig@amd.com>
+
+commit 0986c1a55ca64b44ee126a2f719a6e9f28cbe0ed upstream.
+
+When we set the valid bit on invalid GART entries they are
+loaded into the TLB when an adjacent entry is loaded. This
+poisons the TLB with invalid entries which are sometimes
+not correctly removed on TLB flush.
+
+For stable inclusion the patch probably needs to be modified a bit.
+
+Signed-off-by: Christian König <christian.koenig@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+
+---
+ drivers/gpu/drm/radeon/rs600.c |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/radeon/rs600.c
++++ b/drivers/gpu/drm/radeon/rs600.c
+@@ -582,8 +582,10 @@ int rs600_gart_set_page(struct radeon_de
+               return -EINVAL;
+       }
+       addr = addr & 0xFFFFFFFFFFFFF000ULL;
+-      addr |= R600_PTE_VALID | R600_PTE_SYSTEM | R600_PTE_SNOOPED;
+-      addr |= R600_PTE_READABLE | R600_PTE_WRITEABLE;
++      if (addr != rdev->dummy_page.addr)
++              addr |= R600_PTE_VALID | R600_PTE_READABLE |
++                      R600_PTE_WRITEABLE;
++      addr |= R600_PTE_SYSTEM | R600_PTE_SNOOPED;
+       writeq(addr, ptr + (i * 8));
+       return 0;
+ }
index 28f387a9c502358366f290be26b485085c81f538..7810296e350b0fd59626a12f56fc9380595594f2 100644 (file)
@@ -22,3 +22,5 @@ dm-io-fix-a-race-condition-in-the-wake-up-code-for-sync_io.patch
 ext4-fix-unjournalled-bg-descriptor-while-initializing-inode-bitmap.patch
 ext4-clarify-error-count-warning-messages.patch
 ext4-disable-synchronous-transaction-batching-if-max_batch_time-0.patch
+drm-radeon-fix-typo-in-golden-register-setup-on-evergreen.patch
+drm-radeon-stop-poisoning-the-gart-tlb.patch