Date: Thu, 4 Sep 2008 10:02:08 -0700 From: Steve Kargl <sgk@troutmask.apl.washington.edu> To: Robert Noland <rnoland@FreeBSD.org> Cc: freebsd-current@FreeBSD.org Subject: Re: drm causes kernel panic Message-ID: <20080904170208.GA1463@troutmask.apl.washington.edu> In-Reply-To: <1220493627.2467.6.camel@wombat.2hip.net> References: <20080903011612.GA1242@troutmask.apl.washington.edu> <1220416793.1848.1.camel@wombat.2hip.net> <20080903051228.GA2475@troutmask.apl.washington.edu> <1220471512.11763.9.camel@squirrel.corp.cox.com> <20080903195845.GA1370@troutmask.apl.washington.edu> <1220493627.2467.6.camel@wombat.2hip.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Sep 03, 2008 at 10:00:27PM -0400, Robert Noland wrote: > > Ok, please try the attached patch. I talked it over with another drm > developer and it should be safe to drop all the locks while calling > drm_pci_alloc(). I think I have fixed this for all drivers / paths that > call it. It will log an error now if it is called with either of the > two locks that I found being held. I have tested this on my intel 965gm > so far and all is well. I also had to touch mach64 and radeon, so I > need someone to validate those. (This is a different path from the > panic you received previously) > Your patch fixes the problem. With a new kernel and Xorg's dri module loaded, I now see in /var/log/Xorg.0.log (II) MACH64(0): [drm] SAREA 2200+1208: 3408 drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is 9, (OK) drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is 9, (OK) drmOpenByBusid: Searching for BusID pci:0000:03:06.0 drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is 9, (OK) drmOpenByBusid: drmOpenMinor returns 9 drmOpenByBusid: drmGetBusid reports pci:0000:03:06.0 (II) [drm] DRM interface version 1.2 (II) [drm] DRM open master succeeded. (II) MACH64(0): [drm] Using the DRM lock SAREA also for drawables. (II) MACH64(0): [drm] framebuffer handle = 0xfd000000 (II) MACH64(0): [drm] added 1 reserved context for kernel (II) MACH64(0): X context handle = 0x1 (II) MACH64(0): [drm] installed DRM signal handler (II) MACH64(0): [drm] Will request asynchronous DMA mode (==) MACH64(0): [drm] Using 2 MB for DMA buffers (II) MACH64(0): [pci] ring handle = 0x64a34000 (II) MACH64(0): [pci] Ring mapped at 0x2006d4000 (II) MACH64(0): [drm] register handle = 0xfeaff000 (II) MACH64(0): [dri] Visual configs initialized (II) MACH64(0): [dri] Block 0 base at 0xfeaff400 (WW) MACH64(0): Not enough memory for local textures, disabling DRI (II) MACH64(0): [drm] removed 1 reserved context for kernel (II) MACH64(0): [drm] unmapping 8192 bytes of SAREA 0xfffffffe40962000 at 0x2006d2000 (II) MACH64(0): [drm] Closed DRM master. -- Steve
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080904170208.GA1463>