Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933198AbbD2SFf (ORCPT ); Wed, 29 Apr 2015 14:05:35 -0400 Received: from mail-vn0-f49.google.com ([209.85.216.49]:34034 "EHLO mail-vn0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751702AbbD2SFc (ORCPT ); Wed, 29 Apr 2015 14:05:32 -0400 MIME-Version: 1.0 In-Reply-To: <1430329628.2636.3.camel@ideak-mobl> References: <1430329628.2636.3.camel@ideak-mobl> Date: Wed, 29 Apr 2015 11:05:31 -0700 Message-ID: Subject: Re: "drm/i915: Iterate through the initialized DDIs to prepare their buffers" causes x86 boot regressions in next-20150429 From: Tyler Baker To: imre.deak@intel.com Cc: damien.lespiau@intel.com, daniel.vetter@ffwll.ch, sivakumar.thulasimani@intel.com, "linux-kernel@vger.kernel.org" , Kevin Hilman , Darren Hart , Jani Nikula Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 9294 Lines: 197 On 29 April 2015 at 10:47, Imre Deak wrote: > The two patches that fix this issue is already reviewed and waiting to > be merged: > http://lists.freedesktop.org/archives/intel-gfx/2015-April/064993.html Thanks for the pointer, happy to see there is a fix in the works. Apologies for the noise. > > On Wed, 2015-04-29 at 10:31 -0700, Tyler Baker wrote: >> Hi, >> >> Today's linux-next (next-20150429) fails to boot to a minimal >> buildroot based ramdisk on my x86 i5 haswell machine with the >> following splat. >> >> [ 3.300154] vgaarb: device changed decodes: >> PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem >> [ 3.314165] BUG: unable to handle kernel paging request at ffff88022c0f81a3 >> [ 3.321151] IP: [] intel_prepare_ddi+0x72/0x350 >> [ 3.327248] PGD 210a067 PUD 210d067 PMD 0 >> [ 3.331389] Oops: 0000 [#1] SMP >> [ 3.334644] Modules linked in: >> [ 3.337712] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W I >> 4.1.0-rc1-next-20150429 #1 >> [ 3.346304] Hardware name: MSI MS-7850/Z87-G41 PC Mate(MS-7850), >> BIOS V1.1 04/26/2013 >> [ 3.354116] task: ffff880216168000 ti: ffff880216154000 task.ti: >> ffff880216154000 >> [ 3.361581] RIP: 0010:[] [] intel_prepare_ddi+0x72/0x350 >> [ 3.370104] RSP: 0000:ffff880216157958 EFLAGS: 00010212 >> [ 3.375406] RAX: ffff880215ab0308 RBX: ffff880217016800 RCX: 0000000015fa0800 >> [ 3.382526] RDX: ffff880217016b40 RSI: 0000000000000282 RDI: ffff880217016800 >> [ 3.389647] RBP: ffff8802161579d8 R08: 0000000000000000 R09: 0000000000000000 >> [ 3.396766] R10: 0000000000000000 R11: 0000000000000000 R12: ffff880215ab0300 >> [ 3.403886] R13: 0000000015fa0800 R14: ffff880217016800 R15: ffff880215960000 >> [ 3.411006] FS: 0000000000000000(0000) GS:ffff88021fa00000(0000) >> knlGS:0000000000000000 >> [ 3.419077] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 >> [ 3.424812] CR2: ffff88022c0f81a3 CR3: 0000000001e0b000 CR4: 00000000001406f0 >> [ 3.431933] Stack: >> [ 3.433940] ffff8802159666d8 0000000000000082 ffff8802159654a0 >> 0000000000000000 >> [ 3.441389] ffff880215960000 0000000000000001 ffff880217016800 >> ffff880217016b40 >> [ 3.448838] ffff8802161579d8 000000000047ce1a ffff8802161579d8 >> ffff880217016800 >> [ 3.456286] Call Trace: >> [ 3.458732] [] intel_modeset_init_hw+0x11/0x40 >> [ 3.464813] [] intel_modeset_gem_init+0x5f/0x1a0 >> [ 3.471073] [] i915_driver_load+0xc9e/0x13b0 >> [ 3.476983] [] ? call_usermodehelper_exec+0xa8/0x150 >> [ 3.483589] [] ? SYSC_kill+0x1a0/0x1b0 >> [ 3.488978] [] ? kobject_uevent_env+0x10b/0x510 >> [ 3.495147] [] ? devtmpfs_create_node+0xfe/0x130 >> [ 3.501407] [] ? get_device+0x14/0x20 >> [ 3.506707] [] ? klist_class_dev_get+0x10/0x20 >> [ 3.512789] [] ? klist_node_init+0x41/0x60 >> [ 3.518521] [] ? put_device+0x12/0x20 >> [ 3.523823] [] ? device_add+0x1f8/0x5b0 >> [ 3.529299] [] drm_dev_register+0xb5/0x110 >> [ 3.535041] [] drm_get_pci_dev+0xe1/0x200 >> [ 3.540697] [] i915_pci_probe+0x38/0x50 >> [ 3.546170] [] local_pci_probe+0x49/0xa0 >> [ 3.551730] [] ? get_device+0x14/0x20 >> [ 3.557030] [] pci_device_probe+0xd9/0x120 >> [ 3.562767] [] driver_probe_device+0x149/0x2b0 >> [ 3.568846] [] __driver_attach+0x9b/0xa0 >> [ 3.574406] [] ? driver_probe_device+0x2b0/0x2b0 >> [ 3.580659] [] bus_for_each_dev+0x5e/0x90 >> [ 3.586309] [] driver_attach+0x19/0x20 >> [ 3.591696] [] bus_add_driver+0x114/0x230 >> [ 3.597343] [] driver_register+0x5f/0xf0 >> [ 3.602904] [] ? mipi_dsi_bus_init+0x12/0x12 >> [ 3.608811] [] __pci_register_driver+0x46/0x50 >> [ 3.614892] [] drm_pci_init+0xf5/0x120 >> [ 3.620288] [] ? mipi_dsi_bus_init+0x12/0x12 >> [ 3.626196] [] i915_init+0xa0/0xa8 >> [ 3.631237] [] ? mipi_dsi_bus_init+0x12/0x12 >> [ 3.637141] [] do_one_initcall+0x89/0x1b0 >> [ 3.642790] [] kernel_init_freeable+0x138/0x1d1 >> [ 3.648956] [] ? do_early_param+0x86/0x86 >> [ 3.654604] [] ? rest_init+0x80/0x80 >> [ 3.659820] [] kernel_init+0x9/0xf0 >> [ 3.664945] [] ret_from_fork+0x42/0x70 >> [ 3.670334] [] ? rest_init+0x80/0x80 >> [ 3.675548] Code: 8d 60 f8 75 1b e9 8f 00 00 00 0f 1f 80 00 00 00 >> 00 49 8b 44 24 08 48 39 45 b8 4c 8d 60 f8 74 79 45 8b ac 24 d8 00 00 >> 00 44 89 e9 <80> 7c 0d cb 00 75 df 48 8b 45 b0 48 8b 58 28 49 63 c5 0f >> b6 84 >> [ 3.695485] RIP [] intel_prepare_ddi+0x72/0x350 >> [ 3.701671] RSP >> [ 3.705162] CR2: ffff88022c0f81a3 >> [ 3.708471] ---[ end trace 48c03f18592033e1 ]--- >> [ 3.713089] Kernel panic - not syncing: Attempted to kill init! >> exitcode=0x00000009 >> [ 3.713089] >> [ 3.722222] Kernel Offset: disabled >> [ 3.725708] ---[ end Kernel panic - not syncing: Attempted to kill >> init! exitcode=0x00000009 >> >> I've gone ahead an bisected this failure. >> >> git bisect start >> # bad: [6b1330a4f1b25f474aa2b9bcaf941e26abfe30af] Add linux-next >> specific files for 20150429 >> git bisect bad 6b1330a4f1b25f474aa2b9bcaf941e26abfe30af >> # good: [b787f68c36d49bb1d9236f403813641efa74a031] Linux 4.1-rc1 >> git bisect good b787f68c36d49bb1d9236f403813641efa74a031 >> # good: [9412b0387c805ef5f172b40ad731a9f84326c3c4] Merge >> remote-tracking branch 'bluetooth/master' >> git bisect good 9412b0387c805ef5f172b40ad731a9f84326c3c4 >> # bad: [4d906c61f6283061b2226e26dd33555017253fcd] Merge >> remote-tracking branch 'sound/for-next' >> git bisect bad 4d906c61f6283061b2226e26dd33555017253fcd >> # good: [3760b59cba7d592e0ed70cb64291f0403b12f805] drm/i915/bxt: >> Determine PLL attached to pipe >> git bisect good 3760b59cba7d592e0ed70cb64291f0403b12f805 >> # bad: [19d0dc4f55f0d4b43b09f8acc89f867013dd349e] Merge >> remote-tracking branch 'drm-intel/for-linux-next' >> git bisect bad 19d0dc4f55f0d4b43b09f8acc89f867013dd349e >> # good: [1c41b88249f623a3c92e53aa7cc221b2245bd044] crypto: testmgr - >> Include linux/fips.h for fips_enabled >> git bisect good 1c41b88249f623a3c92e53aa7cc221b2245bd044 >> # bad: [9258811c961879450502f767773227f5c0d79120] drm/i915: Don't use >> atomics for pg_dirty_rings >> git bisect bad 9258811c961879450502f767773227f5c0d79120 >> # bad: [097f8261ddda4b1896dd335dec95dedeecfeaa1b] drm/i915/audio: >> remove duplicated include from intel_audio.c >> git bisect bad 097f8261ddda4b1896dd335dec95dedeecfeaa1b >> # bad: [9314726b9f7329e223dd279819b42842ab7d413f] drm/i915/bxt: Update >> max level of vswing >> git bisect bad 9314726b9f7329e223dd279819b42842ab7d413f >> # bad: [b403745c84592b26a0713e6944c2b109f6df5c82] drm/i915: Iterate >> through the initialized DDIs to prepare their buffers >> git bisect bad b403745c84592b26a0713e6944c2b109f6df5c82 >> # good: [503604038b739b244781904113a377385a341937] drm/i915: suppress >> false PLL state warnings on non-GMCH platforms >> git bisect good 503604038b739b244781904113a377385a341937 >> # first bad commit: [b403745c84592b26a0713e6944c2b109f6df5c82] >> drm/i915: Iterate through the initialized DDIs to prepare their >> buffers >> >> b403745c84592b26a0713e6944c2b109f6df5c82 is the first bad commit >> commit b403745c84592b26a0713e6944c2b109f6df5c82 >> Author: Damien Lespiau >> Date: Mon Aug 4 22:01:33 2014 +0100 >> >> drm/i915: Iterate through the initialized DDIs to prepare their buffers >> >> Not every DDIs is necessarily connected can be strapped off and, in the >> future, we'll have platforms with a different number of default DDI >> ports. So, let's only call intel_prepare_ddi_buffers() on DDI ports that >> are actually detected. >> >> We also use the opportunity to give a struct intel_digital_port to >> intel_prepare_ddi_buffers() as we'll need it in a following patch to >> query if the port supports HMDI or not. >> >> On my HSW machine this removes the initialization of a couple of >> (unused) DDIs. >> >> Signed-off-by: Damien Lespiau >> Reviewed-by: Sivakumar Thulasimani >> Signed-off-by: Daniel Vetter >> >> :040000 040000 0694baac82a4535f6bd1d4fde14f6d8461077744 >> 7e42d2942053f475ca427d9632af69b05e1428e6 M drivers >> >> This commit reverts cleanly, however creates build errors so I have >> not been able to test if a revert fixes the issue mention above. You >> can find the full logs and a summary here[1][2][3][4]. >> >> Cheers, >> >> Tyler >> >> [1] http://storage.kernelci.org/next/next-20150429/x86-x86_64_defconfig/lab-tbaker/boot-x86.html >> [2] http://storage.kernelci.org/next/next-20150429/x86-defconfig+tiny/lab-tbaker/boot-x86.html >> [3] http://storage.kernelci.org/next/next-20150429/x86-defconfig+kvm_guest/lab-tbaker/boot-x86.html >> [4] http://kernelci.org/boot/all/job/next/kernel/next-20150429/ > > -- Tyler Baker Tech Lead, LAVA Linaro.org | Open source software for ARM SoCs Follow Linaro: http://www.facebook.com/pages/Linaro http://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/