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>