]> git.hungrycats.org Git - linux/commit
drm/radeon: fix wait to actually occur after the signaling callback
authorMaarten Lankhorst <maarten.lankhorst@ubuntu.com>
Tue, 3 Mar 2015 08:56:42 +0000 (09:56 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Mar 2015 12:59:38 +0000 (13:59 +0100)
commitc7743e0e15d845e740b691df76e39dcb1bc7a1b3
treeb39656d5f24be49c1baa889f1ba112ba049247b8
parent436b2edc6851c3e03a1886c35aea6664aab2c4ed
drm/radeon: fix wait to actually occur after the signaling callback

commit b6610101718d4ab90d793c482625e98eb1262cad upstream.

A normal wait adds to the front of the tail. By doing something
similar to fence_default_wait the fence code can run without racing.

This is a complete fix for "panic on suspend from KDE with radeon",
and a partial fix for "Radeon: System pauses on TAHITI". On tahiti
si_irq_set needs to be fixed too, to completely flush the writes
before radeon_fence_activity is called in radeon_fence_enable_signaling.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=90741
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=90861
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@ubuntu.com>
Reported-by: Jon Arne Jørgensen <jonjon.arnearne@gmail.com>
Reported-and-tested-by: Gustaw Smolarczyk <wielkiegie@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/radeon/radeon_fence.c