i915 regression, Re: git pull] drm for v4.1-rc1

Dave Airlie airlied at gmail.com
Sat Jun 6 15:52:50 PDT 2015


> This commit introduces a regression relative to v4.0 on an Intel
> D945GCLF2 mainboard[1] (Atom 330) with Intel 82945G/GZ onboard graphics
> using its (only-) VGA connector for me.
>

Jani any ideas/plans?

Dave.

> v4.1-rc6-52-gff25ea8:
> [   13.265699] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
> [   13.265723] IP: [<ffffffffa0556f01>] intel_modeset_update_connector_atomic_state+0x61/0x90 [i915]
> [   13.265803] PGD 0
> [   13.265810] Oops: 0002 [#1] PREEMPT SMP
> [   13.265820] Modules linked in: iTCO_wdt i915(+) iTCO_vendor_support snd_hda_codec_realtek snd_hda_codec_generic coretemp gpio_ich pcspkr lpc_ich mfd_core video i2c_algo_bit drm_kms_helper snd_hda_intel drm snd_hda_controller i2c_i801 i2c_core evdev snd_hda_codec psmouse sg serio_raw intel_agp intel_gtt rng_core snd_hda_core snd_hwdep snd_pcm snd_timer snd soundcore floppy(+) 8250_fintek acpi_cpufreq button processor fuse parport_pc ppdev lp parport autofs4 ext4 crc16 jbd2 mbcache dm_mod sr_mod cdrom sd_mod ata_generic pata_acpi ata_piix libata scsi_mod uhci_hcd ehci_pci ehci_hcd usbcore usb_common r8169 mii
> [   13.265958] CPU: 0 PID: 211 Comm: systemd-udevd Not tainted 4.1.0-rc6-aptosid-amd64 #1 aptosid 4.1~rc6-1~git65.slh.1
> [   13.265971] Hardware name:                  /D945GCLF2, BIOS LF94510J.86A.0278.2010.0414.2000 04/14/2010
> [   13.265999] task: ffff8800372f65c0 ti: ffff88007958c000 task.ti: ffff88007958c000
> [   13.266005] RIP: 0010:[<ffffffffa0556f01>]  [<ffffffffa0556f01>] intel_modeset_update_connector_atomic_state+0x61/0x90 [i915]
> [   13.266005] RSP: 0018:ffff88007958f820  EFLAGS: 00010246
> [   13.266005] RAX: ffff88007b0ba800 RBX: ffff88000010b378 RCX: ffff88003738c000
> [   13.266005] RDX: 0000000000000000 RSI: ffff88003738b408 RDI: ffff88000010b330
> [   13.266005] RBP: ffff88007c010000 R08: ffff88007c010000 R09: ffff88003738b000
> [   13.266005] R10: 0000000000000292 R11: 0000000000000020 R12: ffff88000010b348
> [   13.266005] R13: ffff88000010b000 R14: ffff88007c018688 R15: 0000000000000000
> [   13.266005] FS:  00007f4af014a880(0000) GS:ffff88007f200000(0000) knlGS:0000000000000000
> [   13.266005] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [   13.266005] CR2: 0000000000000010 CR3: 00000000371b2000 CR4: 00000000000007f0
> [   13.266005] Stack:
> [   13.266005]  ffffffffa05709d0 ffff880000000002 ffff88007c010000 ffff88000010b330
> [   13.266005]  0000000079f44a80 ffff88000010b348 ffff88000010b378 ffff88000010b000
> [   13.266005]  ffffffffa00f7949 ffff88000010b000 ffff880000000000 ffff880079f44a80
> [   13.266005] Call Trace:
> [   13.266005]  [<ffffffffa05709d0>] ? intel_modeset_setup_hw_state+0x7e0/0xdb0 [i915]
> [   13.266005]  [<ffffffffa00f7949>] ? drm_modeset_lock_all_crtcs+0xa9/0xc0 [drm]
> [   13.266005]  [<ffffffffa05719f4>] ? intel_modeset_init+0x8f4/0x1700 [i915]
> [   13.266005]  [<ffffffffa054c9fb>] ? gen2_read32+0x1b/0x30 [i915]
> [   13.266005]  [<ffffffffa05a4acf>] ? i915_driver_load+0xe6f/0x13d0 [i915]
> [   13.266005]  [<ffffffff8109f96f>] ? __wake_up+0x2f/0x50
> [   13.266005]  [<ffffffff8143b220>] ? netlink_broadcast_filtered+0x130/0x380
> [   13.266005]  [<ffffffff8127a450>] ? kobj_ns_drop+0x50/0x50
> [   13.266005]  [<ffffffff8127a79c>] ? kobject_uevent_env+0xfc/0x400
> [   13.266005]  [<ffffffff81392612>] ? get_device+0x12/0x30
> [   13.266005]  [<ffffffff814ff7ff>] ? klist_add_tail+0x1f/0x50
> [   13.266005]  [<ffffffff81393efd>] ? device_add+0x21d/0x650
> [   13.266005]  [<ffffffffa00e214c>] ? drm_dev_register+0x9c/0xf0 [drm]
> [   13.266005]  [<ffffffffa00e4f54>] ? drm_get_pci_dev+0x84/0x1f0 [drm]
> [   13.266005]  [<ffffffff813a0607>] ? __pm_runtime_resume+0x47/0x60
> [   13.266005]  [<ffffffff812c052a>] ? local_pci_probe+0x3a/0xa0
> [   13.266005]  [<ffffffff812c16a4>] ? pci_match_device+0xe4/0x110
> [   13.266005]  [<ffffffff812c17f8>] ? pci_device_probe+0xe8/0x140
> [   13.266005]  [<ffffffff81396f59>] ? driver_probe_device+0x179/0x2f0
> [   13.266005]  [<ffffffff8139719b>] ? __driver_attach+0x7b/0x80
> [   13.266005]  [<ffffffff81397120>] ? __device_attach+0x50/0x50
> [   13.266005]  [<ffffffff81394eeb>] ? bus_for_each_dev+0x6b/0xc0
> [   13.266005]  [<ffffffff813965d8>] ? bus_add_driver+0x178/0x230
> [   13.266005]  [<ffffffffa022b000>] ? 0xffffffffa022b000
> [   13.266005]  [<ffffffff813977ce>] ? driver_register+0x5e/0xf0
> [   13.266005]  [<ffffffff81002108>] ? do_one_initcall+0x98/0x1f0
> [   13.266005]  [<ffffffff81508d8e>] ? do_init_module+0x50/0x1b0
> [   13.266005]  [<ffffffff810d70f3>] ? load_module+0x1ae3/0x2010
> [   13.266005]  [<ffffffff810d4670>] ? __symbol_put+0x70/0x70
> [   13.266005]  [<ffffffff810d49bd>] ? copy_module_from_fd.isra.55+0xdd/0x170
> [   13.266005]  [<ffffffff810d77ed>] ? SyS_finit_module+0x8d/0xa0
> [   13.266005]  [<ffffffff8150f56e>] ? system_call_fastpath+0x12/0x71
> [   13.266005] Code: 03 00 00 48 8b 49 40 48 89 4a 08 48 8b 50 18 48 39 d7 48 8d 42 e8 74 3a 48 8b 90 b8 02 00 00 48 85 d2 75 c6 48 8b 90 70 03 00 00 <48> c7 42 10 00 00 00 00 48 8b 90 70 03 00 00 48 c7 42 08 00 00
> [   13.266005] RIP  [<ffffffffa0556f01>] intel_modeset_update_connector_atomic_state+0x61/0x90 [i915]
> [   13.266005]  RSP <ffff88007958f820>
> [   13.266005] CR2: 0000000000000010
> [   13.267502] ---[ end trace 365d8347f4bc917c ]---
>
> 00:02.0 VGA compatible controller: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02) (prog-if 00 [VGA controller])
>         Subsystem: Intel Corporation Device 464c
>         Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
>         Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
>         Latency: 0
>         Interrupt: pin A routed to IRQ 16
>         Region 0: Memory at 90200000 (32-bit, non-prefetchable) [size=512K]
>         Region 1: I/O ports at 20e0 [size=8]
>         Region 2: Memory at 80000000 (32-bit, prefetchable) [size=256M]
>         Region 3: Memory at 90280000 (32-bit, non-prefetchable) [size=256K]
>         Expansion ROM at <unassigned> [disabled]
>         Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
>                 Address: 00000000  Data: 0000
>         Capabilities: [d0] Power Management version 2
>                 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
>                 Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
>         Kernel driver in use: i915
>
> The monitor switches off immediately when the modeswitch occurs and
> stays off, the system won't reboot normally afterwards.
>
> Bisecting this problem hints at:
>
> $ git bisect bad
> 08d9bc920d465bbbbd762cac9383249c19bf69a2 is the first bad commit
> commit 08d9bc920d465bbbbd762cac9383249c19bf69a2
> Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
> Date:   Fri Apr 10 10:59:10 2015 +0300
>
>     drm/i915: Allocate connector state together with the connectors
>
>     Connector states were being allocated in intel_setup_outputs() in loop
>     over all connectors. That meant hot-added connectors would have a NULL
>     state. Since the change to use a struct drm_atomic_state for the legacy
>     modeset, connector states are necessary for the i915 driver to function
>     properly, so that would lead to oopses.
>
>     Broken by
>
>     commit 944b0c76575753da5a332aab0a1d8c6df65a076b
>     Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
>     Date:   Fri Mar 20 16:18:07 2015 +0200
>
>         drm/i915: Copy the staged connector config to the legacy atomic state
>
>     v2: Fix test for intel_connector_init() success in lvds and sdvo (PRTS)
>
>     Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
>     Reported-and-tested-by: Nicolas Kalkhof <nkalkhof at web.de>
>     Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
>     Signed-off-by: Jani Nikula <jani.nikula at intel.com>
>
> :040000 040000 cc9b8038218687b7b98630970239fd0e05637c6e 46c31b06a2be069098ff6ee0f509edad019b3c43 M       drivers
>
> $ git bisect log
> git bisect start
> # bad: [ff25ea8f4eeea252bfcaf65289fa57ba6de080dd] Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma
> git bisect bad ff25ea8f4eeea252bfcaf65289fa57ba6de080dd
> # good: [39a8804455fb23f09157341d3ba7db6d7ae6ee76] Linux 4.0
> git bisect good 39a8804455fb23f09157341d3ba7db6d7ae6ee76
> # good: [6d50ff91d9780263160262daeb6adfdda8ddbc6c] Merge tag 'locks-v4.1-1' of git://git.samba.org/jlayton/linux
> git bisect good 6d50ff91d9780263160262daeb6adfdda8ddbc6c
> # bad: [1fc149933fd49a5b0e7738dc0853dbfbac4ae0e1] Merge tag 'char-misc-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
> git bisect bad 1fc149933fd49a5b0e7738dc0853dbfbac4ae0e1
> # good: [e2fdae7e7c5a690b10b2d2891ec819e554dc033d] Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
> git bisect good e2fdae7e7c5a690b10b2d2891ec819e554dc033d
> # bad: [cec32a47010647e8b0603726ebb75b990a4057a4] media-bus: Fixup RGB444_1X12, RGB565_1X16, and YUV8_1X24 media bus format
> git bisect bad cec32a47010647e8b0603726ebb75b990a4057a4
> # good: [3cd919fc010043d67259ccf37ca5c5892582051e] drm/i915: Remove duplicated psr.active unset
> git bisect good 3cd919fc010043d67259ccf37ca5c5892582051e
> # good: [67a0375f5e27c1daa50554de7a01fdfa4a9ea0bf] Merge tag 'omapdrm-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux into drm-next
> git bisect good 67a0375f5e27c1daa50554de7a01fdfa4a9ea0bf
> # good: [bb1dc08c94ead1b98e750caf535422f79363c1a2] Merge tag 'of-graph-drm-2015-04-08' of git://git.pengutronix.de/git/pza/linux into drm-next
> git bisect good bb1dc08c94ead1b98e750caf535422f79363c1a2
> # good: [89025bd458a572f15e30f59d1ac5acb599cb53bc] drm/nouveau/fifo/gm204: initial support
> git bisect good 89025bd458a572f15e30f59d1ac5acb599cb53bc
> # good: [52139bdea1558e854123d7a07e7648f5a8c77a5c] Merge branch 'drm-dwhdmi-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next
> git bisect good 52139bdea1558e854123d7a07e7648f5a8c77a5c
> # good: [16bb079e45f2c3a795b6b0546535cd6466275ec5] drm/radeon: constify more struct drm_*_helper funcs pointers
> git bisect good 16bb079e45f2c3a795b6b0546535cd6466275ec5
> # bad: [37ef01ab5d24d1d520dc79f6a98099d451c2a901] drm/i915: Dont enable CS_PARSER_ERROR interrupts at all
> git bisect bad 37ef01ab5d24d1d520dc79f6a98099d451c2a901
> # good: [af8fcb9c58f1b2f02ddc04ba64710aaa52da00db] drm/i915/chv: Remove DPIO force latency causing interpair skew issue
> git bisect good af8fcb9c58f1b2f02ddc04ba64710aaa52da00db
> # bad: [e0d6149b3debce1a7e17dfda7c2829935917dc58] drm/i915: Move drm_framebuffer_unreference out of struct_mutex for takeover
> git bisect bad e0d6149b3debce1a7e17dfda7c2829935917dc58
> # bad: [08d9bc920d465bbbbd762cac9383249c19bf69a2] drm/i915: Allocate connector state together with the connectors
> git bisect bad 08d9bc920d465bbbbd762cac9383249c19bf69a2
> # first bad commit: [08d9bc920d465bbbbd762cac9383249c19bf69a2] drm/i915: Allocate connector state together with the connectors
>
> Reverting just this commit on top of yesterday evening's
> v4.1-rc6-52-gff25ea8 avoids the problem for me.
>
> Using the very same kernel, other i915 based systems are fine for me:
> DP && HDMI: 00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller [8086:0162] (rev 09)
> DVI:        00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller [8086:0152] (rev 09)
> headless:   00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller [8086:0152] (rev 09)
> headless:   00:02.0 VGA compatible controller [0300]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display [8086:0f31] (rev 0e)
> HDMI:       00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0122] (rev 09)
> LVDS:       00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 945GSE Express Integrated Graphics Controller [8086:27ae] (rev 03)
> headless:   00:02.0 VGA compatible controller [0300]: Intel Corporation 82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device [8086:2562] (rev 01)
>
> Regards
>         Stefan Lippers-Hollmann
>
> [1]     http://www.intel.com/support/motherboards/desktop/d945gclf2/sb/CS-029540.htm


More information about the dri-devel mailing list