diff mbox

[Bug,64867] Hangs on Cayman (HD6950) when watching flash/using vdpau

Message ID bug-64867-502-9hK0exeMdz@http.bugs.freedesktop.org/ (mailing list archive)
State Not Applicable
Headers show

Commit Message

bugzilla-daemon@freedesktop.org June 6, 2013, 7:42 p.m. UTC
https://bugs.freedesktop.org/show_bug.cgi?id=64867

--- Comment #4 from Harald Judt <h.judt@gmx.at> ---
Hoping that it would be a workaround, I've applied the following patch from
another bug report:

        radeon_cs_sync_to(parser, radeon_vm_grab_id(rdev, vm, parser->ring));


While the hang happened again while playing a flash video (I'll try if I can
reproduce it somehow), this time I was able to vt switch, and X was killed and
the following additional lines got appended to dmesg:

[30243.510949] radeon 0000:01:00.0: GPU lockup CP stall for more than 10000msec
[30243.510951] radeon 0000:01:00.0: GPU lockup (waiting for 0x00000000005c90bd
last fence id 0x00000000005c90b8)
[30243.510952] radeon 0000:01:00.0: couldn't schedule ib
[30243.510973] radeon 0000:01:00.0: Trying to sync to a disabled ring!
[30243.511047] radeon 0000:01:00.0: couldn't schedule ib
[30243.511048] [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
[30243.511197] radeon 0000:01:00.0: couldn't schedule ib
[30243.511198] [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
[30243.512323] radeon 0000:01:00.0: couldn't schedule ib
[30243.512324] [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
[30243.512851] radeon 0000:01:00.0: couldn't schedule ib
[30243.512852] [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
[30254.004957] radeon 0000:01:00.0: GPU lockup CP stall for more than 10000msec
[30254.004959] radeon 0000:01:00.0: GPU lockup (waiting for 0x0000000000000334
last fence id 0x0000000000000333)
[30254.004961] radeon 0000:01:00.0: couldn't schedule ib
[30254.005052] radeon 0000:01:00.0: couldn't schedule ib
[30254.005064] radeon 0000:01:00.0: couldn't schedule ib
[30254.005070] radeon 0000:01:00.0: couldn't schedule ib
[30254.005084] radeon 0000:01:00.0: couldn't schedule ib
[30254.005092] radeon 0000:01:00.0: couldn't schedule ib
[30254.005097] radeon 0000:01:00.0: Trying to sync to a disabled ring!
[...]
[30243.510949] radeon 0000:01:00.0: GPU lockup CP stall for more than 10000msec
[30243.510951] radeon 0000:01:00.0: GPU lockup (waiting for 0x00000000005c90bd
last fence id 0x00000000005c90b8)
[30243.510952] radeon 0000:01:00.0: couldn't schedule ib
[30243.510973] radeon 0000:01:00.0: Trying to sync to a disabled ring!
[30243.511047] radeon 0000:01:00.0: couldn't schedule ib
[30243.511048] [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
[30243.511197] radeon 0000:01:00.0: couldn't schedule ib
[30243.511198] [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
[30243.512323] radeon 0000:01:00.0: couldn't schedule ib
[30243.512324] [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
[30243.512851] radeon 0000:01:00.0: couldn't schedule ib
[30243.512852] [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
[30254.004957] radeon 0000:01:00.0: GPU lockup CP stall for more than 10000msec
[30254.004959] radeon 0000:01:00.0: GPU lockup (waiting for 0x0000000000000334
last fence id 0x0000000000000333)
[30254.004961] radeon 0000:01:00.0: couldn't schedule ib
[30254.005052] radeon 0000:01:00.0: couldn't schedule ib
[30254.005064] radeon 0000:01:00.0: couldn't schedule ib
[30254.005070] radeon 0000:01:00.0: couldn't schedule ib
[30254.005084] radeon 0000:01:00.0: couldn't schedule ib
[30254.005092] radeon 0000:01:00.0: couldn't schedule ib
[30254.005097] radeon 0000:01:00.0: Trying to sync to a disabled ring!
[30254.012901] [drm:radeon_cs_ib_chunk] *ERROR* Failed to schedule IB !
[...] many similar repeated lines about IB [...]
[30264.498754] radeon 0000:01:00.0: GPU lockup CP stall for more than 10000msec
[30264.498759] radeon 0000:01:00.0: GPU lockup (waiting for 0x00000000000090e5
last fence id 0x00000000000090e3)

Trying to restart X didn't work (X crashed), so I had to reboot the machine.
Not sure if this brings any relevations. Anything I could do to provide more
information next time when this happens?
diff mbox

Patch

diff --git a/drivers/gpu/drm/radeon/radeon_cs.c
b/drivers/gpu/drm/radeon/radeon_cs.c
index 5407459..959e7cf 100644
--- a/drivers/gpu/drm/radeon/radeon_cs.c
+++ b/drivers/gpu/drm/radeon/radeon_cs.c
@@ -477,6 +477,7 @@  static int radeon_cs_ib_vm_chunk(struct radeon_device
*rdev,
        if (r) {
                goto out;
        }
+    radeon_fence_wait(vm->fence, false);
        radeon_cs_sync_rings(parser);
        radeon_cs_sync_to(parser, vm->fence);