Bug 8804 - r200 gets stuck in r200WaitIrq
Summary: r200 gets stuck in r200WaitIrq
Status: RESOLVED INVALID
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/r200 (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-10-27 23:28 UTC by Jesse Allen
Modified: 2009-08-24 12:24 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Jesse Allen 2006-10-27 23:28:05 UTC
When running Warcraft 3 on my rv280, I can fairly easily reproduce a lockup of
the X server. A backtrace I got when I sshed in looks roughly like:

__GI___ioctl+0x14 in libc.so.6
r200WaitIrq+0x1e (...) ./r200_ioctl.c:375 in r200_dri.so
r200Finish+0x99 (...) ./r200_ioctl.c:846 in r200_dri.so
_mesa_Finish+0x61 main/context.c:1870 in r200_dri.so
wine_glFinish+0x24 dlls/opengl32/opengl_norm.c:1089 in opengl32
...

The code it's looping in (r200_ioctl.c:375):
   do {
      ret = drmCommandWrite( rmesa->dri.fd, DRM_RADEON_IRQ_WAIT,
                             &rmesa->iw, sizeof(rmesa->iw) );
   } while (ret && (errno == EINTR || errno == EBUSY));

drmCommandWrite is calling out an ioctl, and it's obviously not completing the
operation. I can peek at what's in rmesa, but I don't know anything about it. :)
 I'm putting this up for more ideas while I study how to hack the code.

BTW, my xorg.conf options:
Option "EnablePageFlip" "on"
Option "AGPmode" "8"
Comment 1 Jesse Allen 2006-10-28 21:55:56 UTC
After testing it some more, I think that the problem is from overheating.
Apparently passive cooling isn't enough for this chip.
Comment 2 Adam Jackson 2009-08-24 12:24:50 UTC
Mass version move, cvs -> git


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.