commit: 466476dfdcafbb4286ffa232a3a792731b9dc852
From: Jerome Glisse <[email protected]>
Date: Tue, 16 Apr 2013 12:20:15 -0400
Subject: drm/radeon: Always flush the VM
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This is slightly cleaned up version of Jerome's patch.
There seems to be an issue tracking the last flush of
the VM which results in hangs in certain cases when
VM is used.  For now just flush the VM for every IB.

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=62959
https://bugs.freedesktop.org/show_bug.cgi?id=62997

Signed-off-by: Jerome Glisse <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Cc: [email protected]
---
 drivers/gpu/drm/radeon/radeon_ring.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/radeon/radeon_ring.c 
b/drivers/gpu/drm/radeon/radeon_ring.c
index 31e47d8..e17faa7 100644
--- a/drivers/gpu/drm/radeon/radeon_ring.c
+++ b/drivers/gpu/drm/radeon/radeon_ring.c
@@ -180,7 +180,8 @@ int radeon_ib_schedule(struct radeon_device *rdev, struct 
radeon_ib *ib,
                radeon_semaphore_free(rdev, &ib->semaphore, NULL);
        }
        /* if we can't remember our last VM flush then flush now! */
-       if (ib->vm && !ib->vm->last_flush) {
+       /* XXX figure out why we have to flush for every IB */
+       if (ib->vm /*&& !ib->vm->last_flush*/) {
                radeon_ring_vm_flush(rdev, ib->ring, ib->vm);
        }
        if (const_ib) {
-- 
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to