drm causes kernel panic

Steve Kargl sgk at troutmask.apl.washington.edu
Thu Sep 4 17:02:09 UTC 2008


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


More information about the freebsd-current mailing list