Re: i915 driver update testing

From: Adam McDougall <mcdouga9_at_egr.msu.edu>
Date: Sun, 05 Oct 2014 11:01:14 -0400
On 10/03/2014 13:02, Konstantin Belousov wrote:
> Please find at the
> https://kib.kiev.ua/kib/drm/i915.1.patch
> a patch which provides some updates to the i915 driver. At large, this
> is import of the batch of Linux commits, and as such, it is interesting
> mostly as attempt to restart the race to get us more up to date Linux code
> imported. It might provide some bug fixes, most likely for IvyBridge.
> Interesting from the development PoV is the update of the GEM i/o ioctl
> code path to mimic Linux code structure.
> 
> I am asking _only_ for reports of regressions with the patch applied,
> comparing with the code which is currently in HEAD. I will not debug
> any existing bugs, my goal right now is to commit this update, which is
> needed for further work. I.e., only when you get an issue with the patch
> applied, but cannot reproduce the problem without the patch, please
> prepare a bug report.
> 
> FYI, the driver will attach to haswell gfx, but I am not interested in
> reports about this (see above paragraph). On my test box, which is Core
> i7 4770S, the mode-setting and front-buffer rendering works, but Mesa
> immediately cause renderer to bug out.
> 
> Work was sponsored by The FreeBSD Foundation, both by time and hardware,
> and Intel provided access to the documentation.

I receive a Fatal trap 12: page fault while in kernel mode.

I was previously loading i915kms in rc.conf on 10-stable where the
screen would blank out for a short time then switch to native
resolution.  Last night I compiled a fresh kernel from -head so I could
test recent ZFS code (userland still from 10).  It behaved like 10.
After applying i915.1.patch, the screen blanks in the same place then
invisibly panics with a page fault.  I hastily replaced the broken
kernel so I didn't accidentally boot it, but I would be happy to compile
a new one (FYI since info below may not match a new compile).  Please
tell me if or how you would like me to help.  Thanks.

FreeBSD colfax 11.0-CURRENT FreeBSD 11.0-CURRENT #2 r272549M: Sun Oct  5
10:32:28 EDT 2014     mcdouga9_at_colfax:/usr/obj/usr/src/sys/AMD64-11  amd64

panic: page fault

CPU: Intel(R) Core(TM) i5 CPU         660  _at_ 3.33GHz (3325.07-MHz
K8-class CPU)

[11] Loading kernel modules:
[11] info: [drm] Initialized drm 1.1.0 20060810
[11] drmn0: <Intel IronLake> on vgapci0
[11] info: [drm] MSI enabled 1 message(s)
[11] info: [drm] AGP at 0xd0000000 256MB
[11] iicbus0: <Philips I2C bus> on iicbb0 addr 0xff
[11] iic0: <I2C generic I/O> on iicbus0
[11] iic1: <I2C generic I/O> on iicbus1
[11] iicbus2: <Philips I2C bus> on iicbb1 addr 0x0
[11] iic2: <I2C generic I/O> on iicbus2
[11] iic3: <I2C generic I/O> on iicbus3
[11] iicbus4: <Philips I2C bus> on iicbb2 addr 0x0
[11] iic4: <I2C generic I/O> on iicbus4
[11] iic5: <I2C generic I/O> on iicbus5
[11] iicbus6: <Philips I2C bus> on iicbb3 addr 0x0
[11] iic6: <I2C generic I/O> on iicbus6
[11] iic7: <I2C generic I/O> on iicbus7
[11] iicbus8: <Philips I2C bus> on iicbb4 addr 0x0
[11] iic8: <I2C generic I/O> on iicbus8
[11] iic9: <I2C generic I/O> on iicbus9
[11] iicbus10: <Philips I2C bus> on iicbb5 addr 0x0
[11] iic10: <I2C generic I/O> on iicbus10
[11] iic11: <I2C generic I/O> on iicbus11
[11] info: [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[11] info: [drm] Driver supports precise vblank timestamp query.
[11]
[11]
[11] Fatal trap 12: page fault while in kernel mode
[11] cpuid = 0; apic id = 00
[11] fault virtual address      = 0x0
[11] fault code         = supervisor read data, page not present
[11] instruction pointer        = 0x20:0xffffffff8166808e
[11] stack pointer              = 0x28:0xfffffe01fe0b2260
[11] frame pointer              = 0x28:0xfffffe01fe0b22a0
[11] code segment               = base 0x0, limit 0xfffff, type 0x1b
[11]                    = DPL 0, pres 1, long 1, def32 0, gran 1
[11] processor eflags   = interrupt enabled, resume, IOPL = 0
[11] current process            = 124 (kldload)
[11] trap number                = 12
[11] panic: page fault
[11] cpuid = 0
[11] Uptime: 11s
[11] Dumping 252 out of 3874
MB:..7%..13%..26%..32%..45%..51%..64%..76%..83%..95%

Reading symbols from /boot/kernel/zfs.ko.symbols...done.
Loaded symbols for /boot/kernel/zfs.ko.symbols
Reading symbols from /boot/kernel/opensolaris.ko.symbols...done.
Loaded symbols for /boot/kernel/opensolaris.ko.symbols
Reading symbols from /boot/kernel/linprocfs.ko.symbols...done.
Loaded symbols for /boot/kernel/linprocfs.ko.symbols
Reading symbols from /boot/kernel/linux.ko.symbols...done.
Loaded symbols for /boot/kernel/linux.ko.symbols
Reading symbols from /boot/kernel/i915kms.ko.symbols...done.
Loaded symbols for /boot/kernel/i915kms.ko.symbols
Reading symbols from /boot/kernel/drm2.ko.symbols...done.
Loaded symbols for /boot/kernel/drm2.ko.symbols
Reading symbols from /boot/kernel/iicbus.ko.symbols...done.
Loaded symbols for /boot/kernel/iicbus.ko.symbols
Reading symbols from /boot/kernel/iic.ko.symbols...done.
Loaded symbols for /boot/kernel/iic.ko.symbols
Reading symbols from /boot/kernel/iicbb.ko.symbols...done.
Loaded symbols for /boot/kernel/iicbb.ko.symbols
#0  doadump (textdump=1) at pcpu.h:219
219     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) #0  doadump (textdump=1) at pcpu.h:219
#1  0xffffffff80661efd in kern_reboot (howto=260)
    at /usr/src/sys/kern/kern_shutdown.c:447
#2  0xffffffff80662450 in panic (fmt=<value optimized out>)
    at /usr/src/sys/kern/kern_shutdown.c:746
#3  0xffffffff808fe52f in trap_fatal (frame=<value optimized out>,
    eva=<value optimized out>) at /usr/src/sys/amd64/amd64/trap.c:866
#4  0xffffffff808fe87c in trap_pfault (frame=0xfffffe01fe0b21b0,
    usermode=<value optimized out>) at /usr/src/sys/amd64/amd64/trap.c:677
#5  0xffffffff808fde9e in trap (frame=0xfffffe01fe0b21b0)
    at /usr/src/sys/amd64/amd64/trap.c:426
#6  0xffffffff808e00a2 in calltrap ()
    at /usr/src/sys/amd64/amd64/exception.S:231
#7  0xffffffff8166808e in i915_write32 (dev_priv=0xfffff800031f1c00,
    reg=20736, val=0)
    at
/usr/src/sys/modules/drm2/i915kms/../../../dev/drm2/i915/i915_drv.c:992
#8  0xffffffff816928ae in intel_iicbb_pre_xfer (idev=<value optimized out>)
    at
/usr/src/sys/modules/drm2/i915kms/../../../dev/drm2/i915/intel_iic.c:144
#9  0xffffffff81725a17 in iicbb_transfer (dev=0xfffff800066fa400,
    msgs=0xfffffe01fe0b2410, nmsgs=2) at iicbb_if.h:38
#10 0xffffffff816931b7 in intel_gmbus_transfer (idev=<value optimized out>,
    msgs=<value optimized out>, nmsgs=<value optimized out>)
    at iicbus_if.h:131
#11 0xffffffff816a16b3 in intel_sdvo_init (dev=<value optimized out>,
    sdvo_reg=<value optimized out>, is_sdvob=<value optimized out>)
    at
/usr/src/sys/modules/drm2/i915kms/../../../dev/drm2/i915/intel_sdvo.c:286
#12 0xffffffff81681bd7 in intel_modeset_init (dev=0xfffff80003c04000)
    at
/usr/src/sys/modules/drm2/i915kms/../../../dev/drm2/i915/intel_display.c:6603
#13 0xffffffff81664fb7 in i915_driver_load (dev=0xfffff80003c04000,
    flags=20736)
    at
/usr/src/sys/modules/drm2/i915kms/../../../dev/drm2/i915/i915_dma.c:1167
#14 0xffffffff816e4b85 in drm_attach (kdev=0xfffff800031e3500,
    idlist=<value optimized out>)
    at /usr/src/sys/modules/drm2/drm2/../../../dev/drm2/drm_drv.c:591
    at device_if.h:180
#16 0xffffffff806990f9 in bus_generic_driver_added (
    dev=<value optimized out>, driver=<value optimized out>)
    at /usr/src/sys/kern/subr_bus.c:2793
#17 0xffffffff80695d5a in devclass_driver_added (dc=0xfffff80003085580,
    driver=0xffffffff816bdf20) at bus_if.h:204
#18 0xffffffff80695cbc in devclass_add_driver (dc=0xfffff80003085580,
    driver=0xffffffff816bdf20, pass=<value optimized out>,
    dcp=<value optimized out>) at /usr/src/sys/kern/subr_bus.c:1137
#19 0xffffffff80649d12 in module_register_init (arg=0xffffffff816bdf08)
    at /usr/src/sys/kern/kern_module.c:123
#20 0xffffffff8063d214 in linker_load_module (kldname=<value optimized
out>,
    modname=0xfffff800060fc400 "i915kms", parent=0x0, verinfo=0x0,
    lfpp=0xfffffe01fe0b2a80) at /usr/src/sys/kern/kern_linker.c:224
#21 0xffffffff8063ed08 in kern_kldload (td=<value optimized out>,
    file=<value optimized out>, fileid=0xfffffe01fe0b2ac4)
    at /usr/src/sys/kern/kern_linker.c:1029
#22 0xffffffff8063ee4b in sys_kldload (td=0xfffff80006584920,
    uap=<value optimized out>) at /usr/src/sys/kern/kern_linker.c:1055
#23 0xffffffff808fef8b in amd64_syscall (td=0xfffff80006584920, traced=0)
    at subr_syscall.c:133
#24 0xffffffff808e038b in Xfast_syscall ()
    at /usr/src/sys/amd64/amd64/exception.S:390
#25 0x0000000800888cba in ?? ()
Previous frame inner to this frame (corrupt stack?)
Current language:  auto; currently minimal
(kgdb)

Output without patch:

[11] info: [drm] Initialized drm 1.1.0 20060810
[11] drmn0: <Intel IronLake> on vgapci0
[11] info: [drm] MSI enabled 1 message(s)
[11] info: [drm] AGP at 0xd0000000 256MB
[11] iicbus0: <Philips I2C bus> on iicbb0 addr 0xff
[11] iic0: <I2C generic I/O> on iicbus0
[11] iic1: <I2C generic I/O> on iicbus1
[11] iicbus2: <Philips I2C bus> on iicbb1 addr 0x0
[11] iic2: <I2C generic I/O> on iicbus2
[11] iic3: <I2C generic I/O> on iicbus3
[11] iicbus4: <Philips I2C bus> on iicbb2 addr 0x0
[11] iic4: <I2C generic I/O> on iicbus4
[11] iic5: <I2C generic I/O> on iicbus5
[11] iicbus6: <Philips I2C bus> on iicbb3 addr 0x0
[11] iic6: <I2C generic I/O> on iicbus6
[11] iic7: <I2C generic I/O> on iicbus7
[11] iicbus8: <Philips I2C bus> on iicbb4 addr 0x0
[11] iic8: <I2C generic I/O> on iicbus8
[11] iic9: <I2C generic I/O> on iicbus9
[11] iicbus10: <Philips I2C bus> on iicbb5 addr 0x0
[11] iic10: <I2C generic I/O> on iicbus10
[11] iic11: <I2C generic I/O> on iicbus11
[11] iicbus12: <Philips I2C bus> on iicbb6 addr 0x0
[11] iic12: <I2C generic I/O> on iicbus12
[11] iic13: <I2C generic I/O> on iicbus13
[11] iicbus14: <Philips I2C bus> on iicbb7 addr 0x0
[11] iic14: <I2C generic I/O> on iicbus14
[11] iic15: <I2C generic I/O> on iicbus15
[11] info: [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[11] info: [drm] Driver supports precise vblank timestamp query.
[11] drmn0: taking over the fictitious range 0xd0000000-0xe0000000
[11] info: [drm] GMBUS timed out, falling back to bit banging on pin 7
[gmbus bus dpd]
[12] fbd0 on drmn0
[12] VT: Replacing driver "vga" with new "fb".
[12] drmn0: No ACPI video bus found
[12] info: [drm] Initialized i915 1.6.0 20080730
Received on Sun Oct 05 2014 - 13:01:16 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:52 UTC