Skip site navigation (1)Skip section navigation (2)
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>