HD4550 DRI issues

Robert Noland rnoland at FreeBSD.org
Fri Sep 25 21:55:33 UTC 2009


On Fri, 2009-09-25 at 12:34 -0500, Richard Kolkovich wrote:
> On Fri, Sep 25, 2009 at 11:45:44AM -0500, Robert Noland wrote:
> > Could you also apply this debugging patch.  It should print the kernel
> > perspective of things at allocation time to dmesg.
> > 
> 
> sysctl hw.dri.0:
> 
> hw.dri.0.name: radeon 0xba pci:0000:02:00.0
> hw.dri.0.vm: 
> slot offset             size       type flags address            mtrr
>    0 0x00000000f3ce0000 0x00010000  REG  0x82 0x00000000dc826000 no
>    1 0x000000008ec5a000 0x00002000  SHM  0x20 0x000000008ec5a000 no
>    2 0x00000000d0000000 0x0fff0000   FB  0x10 0x0000000000000000 yes
>    3 0x00000000dc836000 0x00101000   SG  0x0e 0x00000000dc836000 no
>    4 0x00000000dc937000 0x00001000   SG  0x0e 0x00000000dc937000 no
>    5 0x00000000dc938000 0x00200000   SG  0x00 0x00000000dc938000 no
>    6 0x00000000dcb38000 0x01c80000   SG  0x00 0x0000000000000000 no
> 
> hw.dri.0.clients: 
> a dev            pid   uid      magic     ioctls
> y dri/card0     2278     0          0       2760
> 
> hw.dri.0.bufs: 
>  o     size count  free  segs pages    kB
> 16    65536    32     0     0     0     0
> 
>  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 
> hw.dri.0.vblank: 
> crtc ref count    last     enabled inmodeset
>   00  00 00000000 00000000 01      00
>   01  00 00000000 00000000 01      00
> hw.dri.0.debug: 0
> 
> 
> dmesg output when drm is loaded:
> 
> drm0: <ATI Radeon HD 4550> on vgapci0
> info: [drm] MSI enabled 1 message(s)
> vgapci0: child drm0 requested pci_enable_busmaster
> info: [drm] Initialized radeon 1.31.0 20080613
> info: [drm] SG handle=dc836000, kva=0xdc836000, contents=00000000

So, things are all correct at this point... and not much happens between
here and the userland print that show corrupted values.  Basically all
that happens is an mmap to userspace and print the values from the
userspace perspective...  You're not the first report that I have had of
this. (It doesn't appear to be r600 related at all, IIRC prior reports
were on like 9200's)  I think it is restricted to PCI/PCI-E radeons,
though given where it appears to be happening I don't see any reason
that it couldn't effect other cards as well.  I'm really not certain how
to move forward debugging really, without being able to reproduce it and
break out into gdb to try and inspect memory.  There is something
"special" about your setup, since this seems to be a relatively rare
issue.  The only other thing that I can think of to do, is to start
adding a bunch of debugging into the mmap routines, but that is going to
get really noisy.

robert.

> info: [drm] Setting GART location based on new memory map
> info: [drm] Loading RV710 Microcode
> info: [drm] Resetting GPU
> info: [drm] writeback test succeeded in 1 usecs
> drm0: [ITHREAD]
> 
> 
> xorg log attached
> 
-- 
Robert Noland <rnoland at FreeBSD.org>
FreeBSD



More information about the freebsd-x11 mailing list