Bug 75731 - graphics/dri: DRI support broken on ATI Radeon LW Mobility 7500 M7
Summary: graphics/dri: DRI support broken on ATI Radeon LW Mobility 7500 M7
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Eric Anholt
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-01-03 02:20 UTC by Pierre Beyssac
Modified: 2005-02-14 07:09 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pierre Beyssac freebsd_committer freebsd_triage 2005-01-03 02:20:10 UTC
	glxgears displays a few frames then hangs in glXSwapBuffers()
	causing the X server to freeze, except that the mouse is
	still moving.

	A symptom is radeonWaitIrq() being stuck in a loop, repeatedly
	getting EAGAIN from drmCommandWrite(). See stack dump:

#0  0x28245777 in ioctl () from /lib/libc.so.6
#1  0x280d269b in drmCommandWrite () from /usr/X11R6/lib/libGL.so.1
#2  0x282f936a in radeonWaitIrq (rmesa=0x80a8000) at radeon_ioctl.c:824
#3  0x282f94af in radeonWaitForFrameCompletion (rmesa=0x80a8000)
    at radeon_ioctl.c:847
#4  0x282f9c49 in radeonCopyBuffer (dPriv=0x827b100) at radeon_ioctl.c:893
#5  0x282f7b8d in radeonSwapBuffers (dPriv=0x827b100) at radeon_context.c:568
#6  0x282f5eb9 in driSwapBuffers (dpy=0x805c000, drawablePrivate=0x36)
    at ../common/dri_util.c:744
#7  0x280bfb27 in glXSwapBuffers () from /usr/X11R6/lib/libGL.so.1
#8  0x0804b8a7 in main ()

Fix: 

Downgrading to dri-6.1.p20040507,1 fixes the hang.
How-To-Repeat: 	Activate DRI, start glxgears.
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2005-01-03 06:13:40 UTC
Responsible Changed
From-To: freebsd-ports-bugs->anholt

Over to maintainer.
Comment 2 Eric Anholt 2005-01-12 23:46:12 UTC
I've committed an update to graphics/dri that is likely to help you.
Awaiting feedback.

-- 
Eric Anholt                                eta@lclark.edu          
http://people.freebsd.org/~anholt/         anholt@FreeBSD.org
Comment 3 Eric Anholt freebsd_committer freebsd_triage 2005-01-12 23:51:19 UTC
State Changed
From-To: open->feedback

Committed a port update that's likely to fix it.
Comment 4 Pierre Beyssac freebsd_committer freebsd_triage 2005-01-13 00:59:21 UTC
On Wed, Jan 12, 2005 at 11:51:46PM +0000, Eric Anholt wrote:
> Committed a port update that's likely to fix it.

Thanks. I just tried it (with a 6.0 kernel + DRM as of today) and
it still hangs in glXSwapBuffers()... albeit at a different place.
It seems to be looping in radeonReleaseDmaRegion(). See stack traces
below from two different runs.

#0  0x28245777 in ioctl () from /lib/libc.so.6
#1  0x280d26f3 in drmCommandWriteRead () from /usr/X11R6/lib/libGL.so.1
#2  0x282f7e84 in radeonReleaseDmaRegion ()
   from /usr/X11R6/lib/modules/dri/radeon_dri.so
#3  0x282f812b in radeonReleaseDmaRegion ()
   from /usr/X11R6/lib/modules/dri/radeon_dri.so
#4  0x282f882d in radeonCopyBuffer ()
   from /usr/X11R6/lib/modules/dri/radeon_dri.so
#5  0x282f6749 in radeonSwapBuffers ()
   from /usr/X11R6/lib/modules/dri/radeon_dri.so
#6  0x282f4b41 in __driUtilUpdateDrawableInfo ()
   from /usr/X11R6/lib/modules/dri/radeon_dri.so
#7  0x280bfb27 in glXSwapBuffers () from /usr/X11R6/lib/libGL.so.1
#8  0x0804b8a7 in main ()

#0  0x28245777 in ioctl () from /lib/libc.so.6
#1  0x280d269b in drmCommandWrite () from /usr/X11R6/lib/libGL.so.1
#2  0x282f7f4e in radeonReleaseDmaRegion ()
   from /usr/X11R6/lib/modules/dri/radeon_dri.so
#3  0x282f8093 in radeonReleaseDmaRegion ()
   from /usr/X11R6/lib/modules/dri/radeon_dri.so
#4  0x282f882d in radeonCopyBuffer ()
   from /usr/X11R6/lib/modules/dri/radeon_dri.so
#5  0x282f6749 in radeonSwapBuffers ()
   from /usr/X11R6/lib/modules/dri/radeon_dri.so
#6  0x282f4b41 in __driUtilUpdateDrawableInfo ()
   from /usr/X11R6/lib/modules/dri/radeon_dri.so
#7  0x280bfb27 in glXSwapBuffers () from /usr/X11R6/lib/libGL.so.1
#8  0x0804b8a7 in main ()

-- 
Pierre Beyssac	      	    pb@fasterix.frmug.org pb@fasterix.freenix.org
    Free domains: http://www.eu.org/ or mail dns-manager@EU.org
Comment 5 Eric Anholt freebsd_committer freebsd_triage 2005-01-13 01:17:51 UTC
State Changed
From-To: feedback->open

Port update didn't fix it.  On to other possibilities...
Comment 6 Eric Anholt freebsd_committer freebsd_triage 2005-01-13 23:30:10 UTC
State Changed
From-To: open->feedback

One more time?  xorg-server-6.8.1_2 has a fix for Radeon DRI hangs. 
(Hopefully fixes this.  If this doesn't, that means chasing down my 7500 and 
trying to figure out how I broke it :( )
Comment 7 Pierre Beyssac freebsd_committer freebsd_triage 2005-01-14 00:09:14 UTC
On Thu, Jan 13, 2005 at 11:31:31PM +0000, Eric Anholt wrote:
> One more time?  xorg-server-6.8.1_2 has a fix for Radeon DRI hangs.

Sorry, still the same hang (the patches in xorg-server-6.8.1_2 might
solve instability problems I have seen with a different Radeon on
my main machine, though).

> (Hopefully fixes this.  If this doesn't, that means chasing down my 7500 and
> trying to figure out how I broke it :( )

I can send you some copious output obtained with RADEON_DEBUG on
the previous DRI version that I can't make sense of, if that can
help.
-- 
Pierre Beyssac	      	    pb@fasterix.frmug.org pb@fasterix.freenix.org
    Free domains: http://www.eu.org/ or mail dns-manager@EU.org
Comment 8 Eric Anholt freebsd_committer freebsd_triage 2005-02-14 07:08:56 UTC
State Changed
From-To: feedback->closed

Fixed in CVS.  Really, this time it is!