Hi,<br><br><div class="gmail_quote">在 2011年10月17日 下午2:34, <span dir="ltr">&lt;<a href="mailto:chenhc@lemote.com">chenhc@lemote.com</a>&gt;</span>写道:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

If I start X but switch to the console, then do suspend &amp; resume, &quot;GPU<br>
reset&quot; hardly happen. but there is a new problem that the IRQ of radeon<br>
card is disabled. Maybe &quot;GPU reset&quot; has something to do with &quot;IRQ<br>
disabled&quot;?<br>
<br>
I have tried &quot;irqpoll&quot;, it doesn&#39;t fix this problem.<br>
<br>
[  571.914062] irq 6: nobody cared (try booting with the &quot;irqpoll&quot; option)<br>
[  571.914062] Call Trace:<br>
[  571.914062] [&lt;ffffffff806f3248&gt;] dump_stack+0x8/0x34<br>
[  571.914062] [&lt;ffffffff8027e1e4&gt;] __report_bad_irq.clone.6+0x44/0x15c<br>
[  571.914062] [&lt;ffffffff8027e584&gt;] note_interrupt+0x204/0x2a0<br>
[  571.914062] [&lt;ffffffff8027c7cc&gt;] handle_irq_event_percpu+0x19c/0x1f8<br>
[  571.914062] [&lt;ffffffff8027c890&gt;] handle_irq_event+0x68/0xa8<br>
[  571.914062] [&lt;ffffffff8027f038&gt;] handle_level_irq+0xd8/0x13c<br>
[  571.914062] [&lt;ffffffff8027bec8&gt;] generic_handle_irq+0x48/0x58<br>
[  571.914062] [&lt;ffffffff80204574&gt;] do_IRQ+0x18/0x24<br>
[  571.914062] [&lt;ffffffff8020152c&gt;] mach_irq_dispatch+0xf0/0x194<br>
[  571.914062] [&lt;ffffffff80202a40&gt;] ret_from_irq+0x0/0x4<br>
[  571.914062]<br>
[  571.914062] handlers:<br>
[  571.914062] [&lt;ffffffff8053bba8&gt;] radeon_driver_irq_handler_kms<br>
<br>
P.S.: use the latest kernel from git, and irq6 is not shared by other<br>
devices.<br>
<br></blockquote><div>Does fence_wait depends on GPU&#39;s interrupt? If yes, then can I say &quot;GPU lockup&quot; is caused by unexpected disabling of GPU&#39;s irq?</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


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