From 83e58b6bdbbdd4efd89189465cbcdfff3dc695ae Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 14 Jul 2014 12:05:51 -0700 Subject: [PATCH] 3.4-stable patches added patches: drm-radeon-stop-poisoning-the-gart-tlb.patch --- ...m-radeon-stop-poisoning-the-gart-tlb.patch | 43 +++++++++++++++++++ queue-3.4/series | 1 + 2 files changed, 44 insertions(+) create mode 100644 queue-3.4/drm-radeon-stop-poisoning-the-gart-tlb.patch diff --git a/queue-3.4/drm-radeon-stop-poisoning-the-gart-tlb.patch b/queue-3.4/drm-radeon-stop-poisoning-the-gart-tlb.patch new file mode 100644 index 00000000000..974dfa1c52e --- /dev/null +++ b/queue-3.4/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 +@@ -539,8 +539,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.4/series b/queue-3.4/series index 8e0122721c4..67eea97966f 100644 --- a/queue-3.4/series +++ b/queue-3.4/series @@ -6,3 +6,4 @@ hwmon-amc6821-fix-permissions-for-temp2_input.patch hwmon-adm1029-ensure-the-fan_div-cache-is-updated-in-set_fan_div.patch powerpc-perf-never-program-book3s-pmcs-with-values-0x80000000.patch ext4-clarify-error-count-warning-messages.patch +drm-radeon-stop-poisoning-the-gart-tlb.patch -- 2.47.3