HD4550 DRI issues

Robert Noland rnoland at FreeBSD.org
Sat Sep 26 19:36:49 UTC 2009


On Sat, 2009-09-26 at 10:02 -0500, Robert Noland wrote:
> On Fri, 2009-09-25 at 23:57 -0500, Richard Kolkovich wrote:
> > On Fri, Sep 25, 2009 at 07:41:29PM -0500, Robert Noland wrote:
> > > We might go down that path... But, I've had an idea.  I'll try and whip
> > > up a test client that bypasses all of X and just exercises drm.  We can
> > > see if it still seems to corrupt things.  The evidence so far suggests
> > > that it should, but it should rule out any races.  One thing you might
> > > try as a test is to disable SMP just to see if that helps.
> > > 
> > 
> > Disabling SMP did not help.  I'll await the test client...
> 
> Ok, attached is a really simple client that will allocate 32MB of
> scatter-gather memory and map a 1MB ring buffer out of that.  The
> "contents" values should always be 0.  Build the client with:
> 
> gcc -O2 -pipe -I/usr/local/include -I/usr/local/include/drm
> -L/usr/local/lib -ldrm -o drm-test drm-test.c
> 
> To perform the test, you will need to boot up in console. (No X)
> Manually kldload the radeon driver and then as root execute drm-test.

Since nothing that we are doing here is actually device specific, I
loaded this up on the VIA VX800 board, which is an i386 build.
Everything works fine.  Sample *good* output:

gopher% gcc -O2 -pipe -I/usr/local/include -I/usr/local/include/drm
-L/usr/local/lib -ldrm -o drm-test drm-test.c
gopher% sudo ./drm-test
Allocated 32MB with handle=0x00000000e82b8000
Added 1024KB map for ring buffer with handle=0x00000000e82b8000
ring=0x00000028300000, contents=0x0000000000000000

robert.

-- 
Robert Noland <rnoland at FreeBSD.org>
FreeBSD



More information about the freebsd-x11 mailing list