Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Dec 2009 15:03:17 -0500
From:      Steve Polyack <korvus@comcast.net>
To:        Robert Noland <rnoland@FreeBSD.org>
Cc:        freebsd-x11 <freebsd-x11@freebsd.org>
Subject:   Re: PCI Radeon 9250 - DRI/DRM in 8.0-RELEASE
Message-ID:  <4B215405.2080502@comcast.net>
In-Reply-To: <1260474623.2281.8.camel@balrog.2hip.net>
References:  <4B213D8F.6080906@comcast.net> <1260474623.2281.8.camel@balrog.2hip.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Robert Noland wrote:
> On Thu, 2009-12-10 at 13:27 -0500, Steve Polyack wrote:
>   
>> (II) RADEON(0): [pci] 8192 kB allocated with handle 0xe9b02000
>> (II) RADEON(0): [pci] ring handle = 0xe9b02000
>> (II) RADEON(0): [pci] Ring mapped at 0x28a7d000
>> (II) RADEON(0): [pci] Ring contents 0x00eeeeec
>> (II) RADEON(0): [pci] ring read ptr handle = 0xe9c03000
>> (II) RADEON(0): [pci] Ring read ptr mapped at 0x286ff000
>> (II) RADEON(0): [pci] Ring read ptr contents 0x00ffffff
>> (II) RADEON(0): [pci] vertex/indirect buffers handle = 0xe9c04000
>> (II) RADEON(0): [pci] Vertex/indirect buffers mapped at 0x30c00000
>> (II) RADEON(0): [pci] Vertex/indirect buffers contents 0x00ffffff
>> (II) RADEON(0): [pci] GART texture map handle = 0xe9e04000
>> (II) RADEON(0): [pci] GART Texture map mapped at 0x30e00000
>> (II) RADEON(0): [drm] register handle = 0xfe5d0000
>>     
>
>
> The corruption is due to the ring not being zeroed as it should be.
> This seems to only occur on i386 builds and even then, only sometimes.
> I'm trying to look into this issue again and I've previously eliminated
> everything except libdrm and the kernel from this issue by testing with
> a small sample program that directly interacts with drm without X
> running.  All of the pointers seem to be correct and valid, but the
> contents during startup should always be 0.
>
> Can you do a "sysctl hw.busdma" while X is up with drm enabled?
>
>   
Here's the sysctl output:
hw.busdma.total_bpages: 288
hw.busdma.zone0.total_bpages: 288
hw.busdma.zone0.free_bpages: 288
hw.busdma.zone0.reserved_bpages: 0
hw.busdma.zone0.active_bpages: 0
hw.busdma.zone0.total_bounced: 0
hw.busdma.zone0.total_deferred: 0
hw.busdma.zone0.lowaddr: 0xffffffff
hw.busdma.zone0.alignment: 4096

It doesn't seem to change whether I'm in X with DRM disabled or enabled 
with the display corruption.  Also, it took me a few starts of X to get 
it to even happen, as it seems there is occasionally a pci Out of memory 
(-12) error causing DRM to be disabled as well:

drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 10, (OK)
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 10, (OK)
drmOpenByBusid: Searching for BusID pci:0000:04:00.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 10, (OK)
drmOpenByBusid: drmOpenMinor returns 10
drmOpenByBusid: drmGetBusid reports pci:0000:04:00.0
(II) [drm] DRM interface version 1.2
(II) [drm] DRM open master succeeded.
(II) RADEON(0): [drm] Using the DRM lock SAREA also for drawables.
(II) RADEON(0): [drm] framebuffer handle = 0xe8000000
(II) RADEON(0): [drm] added 1 reserved context for kernel
(II) RADEON(0): X context handle = 0x1
(II) RADEON(0): [drm] installed DRM signal handler
(EE) RADEON(0): [pci] Out of memory (-12)
(EE) RADEON(0): [pci] PCI failed to initialize. Disabling the DRI.
(II) RADEON(0): [drm] removed 1 reserved context for kernel
(II) RADEON(0): [drm] unmapping 8192 bytes of SAREA 0xd06f8000 at 0x286fd000
(II) RADEON(0): [drm] Closed DRM master.
(II) RADEON(0): RADEONRestoreMemMapRegisters() :
(II) RADEON(0):   MC_FB_LOCATION   : 0xefffe000 0x1fff0000
(II) RADEON(0):   MC_AGP_LOCATION  : 0xffffffc0
(==) RADEON(0): Backing store disabled
(WW) RADEON(0): Direct rendering disabled
(II) RADEON(0): Render acceleration enabled for R200 type cards.
(II) RADEON(0): Setting EXA maxPitchBytes

Thanks for taking a look at this again.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B215405.2080502>