[PATCH] drm/radeon: Revert try to enable VM flushing once more

Christian König deathsimple at vodafone.de
Fri Aug 15 04:51:31 PDT 2014


From: Christian König <christian.koenig at amd.com>

This reverts commit f77c4f0223a1f0e259007c7431f64df5c29a0bf7.

Just had the afflatus why that doesn't work like it should and we
need to revert it, cause it can happen on every hardware generation.

Signed-off-by: Christian König <christian.koenig at amd.com>
---
 drivers/gpu/drm/radeon/radeon_vm.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_vm.c b/drivers/gpu/drm/radeon/radeon_vm.c
index 058f200..8d15ce6 100644
--- a/drivers/gpu/drm/radeon/radeon_vm.c
+++ b/drivers/gpu/drm/radeon/radeon_vm.c
@@ -238,9 +238,9 @@ void radeon_vm_flush(struct radeon_device *rdev,
 	uint64_t pd_addr = radeon_bo_gpu_offset(vm->page_directory);
 
 	/* if we can't remember our last VM flush then flush now! */
-	/* XXX figure out why we have to flush all the time before CIK */
-	if (rdev->family < CHIP_BONAIRE ||
-	    !vm->last_flush || pd_addr != vm->pd_gpu_addr) {
+	/* flushing only when needed doesn't work because of a hardware race
+	   condition between the DMA and the GFX engines */
+	if (!vm->last_flush || true || pd_addr != vm->pd_gpu_addr) {
 		trace_radeon_vm_flush(pd_addr, ring, vm->id);
 		vm->pd_gpu_addr = pd_addr;
 		radeon_ring_vm_flush(rdev, ring, vm);
-- 
1.9.1



More information about the dri-devel mailing list