Date: Mon, 14 Dec 2009 09:12:22 -0500 From: Steve Polyack <korvus@comcast.net> To: Robert Noland <rnoland@FreeBSD.org> Cc: freebsd-x11 <freebsd-x11@freebsd.org>, John Baldwin <jhb@freebsd.org> Subject: Re: PCI Radeon 9250 - DRI/DRM in 8.0-RELEASE Message-ID: <4B2647C6.6080101@comcast.net> In-Reply-To: <1260556637.2281.19.camel@balrog.2hip.net> References: <4B213D8F.6080906@comcast.net> <1260474623.2281.8.camel@balrog.2hip.net> <4B215405.2080502@comcast.net> <1260476369.2281.16.camel@balrog.2hip.net> <1260556637.2281.19.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 14:19 -0600, Robert Noland wrote: > >> On Thu, 2009-12-10 at 15:03 -0500, Steve Polyack wrote: >> >>> 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 >>> >> Ok, it doesn't seem to be related to bounce pages... But it was worth a >> shot... >> >> > > Could you try the attached patch and see if it makes any difference? > > My assembly foo is weak on i386. > > Jhb, > > Does this look at all correct? > > robert. > > I tried the pagezero.patch, but it did not seem to change anything. The corruption looks the same. Here's the section regarding the ring from Xorg.log: (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 (II) RADEON(0): [pci] 8192 kB allocated with handle 0xe96f2000 (II) RADEON(0): [pci] ring handle = 0xe96f2000 (II) RADEON(0): [pci] Ring mapped at 0x28a7d000 (II) RADEON(0): [pci] Ring contents 0xf0f09506 (II) RADEON(0): [pci] ring read ptr handle = 0xe97f3000 (II) RADEON(0): [pci] Ring read ptr mapped at 0x286ff000 (II) RADEON(0): [pci] Ring read ptr contents 0xffffffff (II) RADEON(0): [pci] vertex/indirect buffers handle = 0xe97f4000 (II) RADEON(0): [pci] Vertex/indirect buffers mapped at 0x30c00000 (II) RADEON(0): [pci] Vertex/indirect buffers contents 0x004dffd3 (II) RADEON(0): [pci] GART texture map handle = 0xe99f4000 (II) RADEON(0): [pci] GART Texture map mapped at 0x30e00000 (II) RADEON(0): [drm] register handle = 0xfe5d0000 (II) RADEON(0): [dri] Visual configs initialized (II) RADEON(0): RADEONRestoreMemMapRegisters() : (II) RADEON(0): MC_FB_LOCATION : 0xefffe000 0x1fff0000 (II) RADEON(0): MC_AGP_LOCATION : 0xffffffc0
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B2647C6.6080101>