Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

intel DRMKMS KASSERT



Hi,

I recently switched my Dell XPS 15 laptop to make use of DRMKMS. It
works, thanks ! But after some time, i do encounter a KASSERT ...

panic: kernel diagnostic assertion "!(obj->base.write_domain & ~(0x00000002 | 0x00000004 | 0x00000008 | 0x00000010 | 0x00000020))" failed: file "/local/src/NetBSD/src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c",line 2843

[...]
(gdb) bt
#0  0xffffffff80630985 in cpu_reboot (howto=howto@entry=260,bootstr=bootstr@entry=0x0)
    at /local/src/NetBSD/src/sys/arch/amd64/amd64/machdep.c:671
#1  0xffffffff807ef9a4 in vpanic (fmt=0xffffffff80c14048 "kernel %sassertion \"%s\"failed: file \"%s\",line %d ",
    ap=ap@entry=0xfffffe810f74cc50) at /local/src/NetBSD/src/sys/kern/subr_prf.c:340
#2  0xffffffff80976de3 in kern_assert (fmt=fmt@entry=0xffffffff80c14048 "kernel %sassertion \"%s\"failed: file \"%s\",line %d ")
    at /local/src/NetBSD/src/sys/lib/libkern/kern_assert.c:51
#3  0xffffffff8036292f in i915_gem_object_move_to_inactive (obj=0xfffffe825b4ac700)
    at /local/src/NetBSD/src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:2843
#4  0xffffffff80362998 in i915_gem_retire_requests_ring (ring=ring@entry=0xffff80000e59d8e0)
    at /local/src/NetBSD/src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:3238
#5  0xffffffff80363f20 in i915_gem_object_wait_rendering__tail (ring=0xffff80000e59d8e0,obj=0xfffffe825b4ac700)
    at /local/src/NetBSD/src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:1581
#6  i915_gem_object_wait_rendering__nonblocking (obj=obj@entry=0xfffffe825b4ac700,file_priv=0xfffffe825b65fb10,readonly=<optimized out>)
    at /local/src/NetBSD/src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:1656
#7  0xffffffff803686b2 in i915_gem_set_domain_ioctl (dev=0xfffffe810e7e3010,data=<optimized out>,file=0xfffffe82504bc548)
    at /local/src/NetBSD/src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:1702
#8  0xffffffff802a1895 in drm_ioctl (fp=<optimized out>,cmd=<optimized out>,data=0xfffffe810f74cdf8)
    at /local/src/NetBSD/src/sys/external/bsd/drm2/drm/drm_drv.c:664
#9  0xffffffff807fe8c9 in sys_ioctl (l=<optimized out>,uap=0xfffffe810f74cf00,retval=<optimized out>)
    at /local/src/NetBSD/src/sys/kern/sys_generic.c:681
#10 0xffffffff8080999a in sy_call (rval=0xfffffe810f74ceb8,uap=0xfffffe810f74cf00,l=0xfffffe8250c72120,sy=0xffffffff80f9cae0 <sysent+864>)
    at /local/src/NetBSD/src/sys/sys/syscallvar.h:61
#11 sy_invoke (code=54,rval=0xfffffe810f74ceb8,uap=0xfffffe810f74cf00,l=0xfffffe8250c72120,sy=0xffffffff80f9cae0 <sysent+864>)
    at /local/src/NetBSD/src/sys/sys/syscallvar.h:85
#12 syscall (frame=0xfffffe810f74cf00) at /local/src/NetBSD/src/sys/arch/x86/x86/syscall.c:156
#13 0xffffffff80100691 in Xsyscall ()
(gdb) frame 3
#3  0xffffffff8036292f in i915_gem_object_move_to_inactive (obj=0xfffffe825b4ac700)
    at /local/src/NetBSD/src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:2843
2843            BUG_ON(obj->base.write_domain & ~I915_GEM_GPU_DOMAINS);

(gdb) p/x obj->base.write_domain
$1 = 0x40

Searching for this specific value show that it's the GTT domain
(sys/external/bsd/drm2/dist/uapi/drm/i915_drm.h) :

/** GTT domain - aperture and scanout */
#define I915_GEM_DOMAIN_GTT             0x00000040

Which is indeed not included in the I915_GEM_GPU_DOMAINS
(sys/external/bsd/drm2/dist/drm/i915/i915_drv.h) :

#define I915_GEM_GPU_DOMAINS \
        (I915_GEM_DOMAIN_RENDER | \
         I915_GEM_DOMAIN_SAMPLER | \
         I915_GEM_DOMAIN_COMMAND | \
         I915_GEM_DOMAIN_INSTRUCTION | \
         I915_GEM_DOMAIN_VERTEX)

Leading to the KASSERT i'm facing.

Thanks in advance.

-- 
Nicolas Joly

Biology IT Center
Institut Pasteur, Paris.


Home | Main Index | Thread Index | Old Index