[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