[mipsel+rs780e]Occasionally "GPU lockup" after resuming from suspend.
Alex Deucher
alexdeucher at gmail.com
Wed Oct 5 06:54:52 PDT 2011
2011/10/5 Michel Dänzer <michel at daenzer.net>:
> On Don, 2011-09-29 at 17:17 +0800, Chen Jie wrote:
>>
>> We got occasionally "GPU lockup" after resuming from suspend(on mipsel
>> platform with a mips64 compatible CPU and rs780e, the kernel is
>> 3.1.0-rc8 64bit). Related kernel message:
>
> [...]
>
>> [ 177.085937] radeon 0000:01:05.0: GPU lockup CP stall for more than
>> 10019msec
>> [ 177.089843] ------------[ cut here ]------------
>> [ 177.097656] WARNING: at drivers/gpu/drm/radeon/radeon_fence.c:267
>> radeon_fence_wait+0x25c/0x33c()
>> [ 177.105468] GPU lockup (waiting for 0x000013C3 last fence id
>> 0x000013AD)
>> [ 177.113281] Modules linked in: psmouse serio_raw
>> [ 177.117187] Call Trace:
>> [ 177.121093] [<ffffffff806f3e7c>] dump_stack+0x8/0x34
>> [ 177.125000] [<ffffffff8022e4f4>] warn_slowpath_common+0x78/0xa0
>> [ 177.132812] [<ffffffff8022e5b8>] warn_slowpath_fmt+0x38/0x44
>> [ 177.136718] [<ffffffff80522ed8>] radeon_fence_wait+0x25c/0x33c
>> [ 177.144531] [<ffffffff804e9e70>] ttm_bo_wait+0x108/0x220
>> [ 177.148437] [<ffffffff8053b478>] radeon_gem_wait_idle_ioctl
>> +0x80/0x114
>> [ 177.156250] [<ffffffff804d2fe8>] drm_ioctl+0x2e4/0x3fc
>> [ 177.160156] [<ffffffff805a1820>] radeon_kms_compat_ioctl+0x28/0x38
>> [ 177.167968] [<ffffffff80311a04>] compat_sys_ioctl+0x120/0x35c
>> [ 177.171875] [<ffffffff80211d18>] handle_sys+0x118/0x138
>> [ 177.179687] ---[ end trace 92f63d998efe4c6d ]---
>> [ 177.187500] radeon 0000:01:05.0: GPU softreset
>> [ 177.191406] radeon 0000:01:05.0: R_008010_GRBM_STATUS=0xF57C2030
>> [ 177.195312] radeon 0000:01:05.0: R_008014_GRBM_STATUS2=0x00111103
>> [ 177.203125] radeon 0000:01:05.0: R_000E50_SRBM_STATUS=0x20023040
>> [ 177.363281] radeon 0000:01:05.0: Wait for MC idle timedout !
>
> [...]
>
>> What may cause a "GPU lockup"?
>
> Lots of things... The most common cause is an incorrect command stream
> sent to the GPU by userspace or the kernel.
>
>> Why reset didn't work?
>
> Might be related to 'Wait for MC idle timedout !', but I don't know
> offhand what could be up with that.
>
>
>> BTW, one question:
>> I got 'RADEON_IS_PCI | RADEON_IS_IGP' in rdev->flags, which causes
>> need_dma32 was set.
>> Is it correct? (drivers/char/agp is not available on mips, could that
>> be the reason?)
>
> Not sure, Alex?
You don't AGP for newer IGP cards (rs4xx+). It gets set by default if
the card is not AGP or PCIE. That should be changed as only the
legacy r1xx PCI GART block has that limitation. I'll send a patch out
shortly.
Alex
More information about the dri-devel
mailing list