Commit 466476df authored by Jerome Glisse's avatar Jerome Glisse Committed by Alex Deucher

drm/radeon: Always flush the VM

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=62997Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
parent 2ab91ada
...@@ -180,7 +180,8 @@ int radeon_ib_schedule(struct radeon_device *rdev, struct radeon_ib *ib, ...@@ -180,7 +180,8 @@ int radeon_ib_schedule(struct radeon_device *rdev, struct radeon_ib *ib,
radeon_semaphore_free(rdev, &ib->semaphore, NULL); radeon_semaphore_free(rdev, &ib->semaphore, NULL);
} }
/* if we can't remember our last VM flush then flush now! */ /* 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); radeon_ring_vm_flush(rdev, ib->ring, ib->vm);
} }
if (const_ib) { if (const_ib) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment