From: Greg Kroah-Hartman Date: Mon, 14 Jul 2014 19:05:39 +0000 (-0700) Subject: 3.10-stable patches X-Git-Tag: v3.4.99~36 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3cc29b24d4a7d8bc10fcff4af2b6010ec27f98f9;p=thirdparty%2Fkernel%2Fstable-queue.git 3.10-stable patches added patches: drm-radeon-fix-typo-in-golden-register-setup-on-evergreen.patch drm-radeon-stop-poisoning-the-gart-tlb.patch --- 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 index 00000000000..64873cad4db --- /dev/null +++ b/queue-3.10/drm-radeon-fix-typo-in-golden-register-setup-on-evergreen.patch @@ -0,0 +1,59 @@ +From 6abafb78f9881b4891baf74ab4e9f090ae45230e Mon Sep 17 00:00:00 2001 +From: Alex Deucher +Date: Mon, 7 Jul 2014 17:59:37 -0400 +Subject: drm/radeon: fix typo in golden register setup on evergreen + +From: Alex Deucher + +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 +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..a51dd53dded --- /dev/null +++ b/queue-3.10/drm-radeon-stop-poisoning-the-gart-tlb.patch @@ -0,0 +1,43 @@ +From 0986c1a55ca64b44ee126a2f719a6e9f28cbe0ed Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christian=20K=C3=B6nig?= +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 + +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 +Signed-off-by: Alex Deucher +Signed-off-by: Greg Kroah-Hartman + + +--- + 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; + } diff --git a/queue-3.10/series b/queue-3.10/series index 28f387a9c50..7810296e350 100644 --- a/queue-3.10/series +++ b/queue-3.10/series @@ -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