Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751911AbaBZJr3 (ORCPT ); Wed, 26 Feb 2014 04:47:29 -0500 Received: from mail-ob0-f178.google.com ([209.85.214.178]:33988 "EHLO mail-ob0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750799AbaBZJrG (ORCPT ); Wed, 26 Feb 2014 04:47:06 -0500 MIME-Version: 1.0 In-Reply-To: <20140226092903.GA22639@pd.tnic> References: <20140224162400.GE16457@pd.tnic> <20140224201943.GA4397@pd.tnic> <530CBB3D.3080604@zytor.com> <20140225163010.GG24636@pd.tnic> <20140225173946.GH24636@pd.tnic> <20140225221027.GB21559@pd.tnic> <20140226092903.GA22639@pd.tnic> Date: Wed, 26 Feb 2014 10:47:05 +0100 Message-ID: Subject: Re: Info: mapping multiple BARs. Your kernel is fine. From: Stephane Eranian To: Borislav Petkov Cc: "H. Peter Anvin" , lkml , Peter Zijlstra , Paul Mackerras , Arnaldo Carvalho de Melo , x86 , Daniel Vetter , Jani Nikula , David Airlie , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Jiri Kosina Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Ok, so I am getting the same error message as you. I checked my syslog now. I have my uncore_imc addr=0xfed10000 (after masking) And I also have pnp 00:01 overlapping the imc range completely. What pnp device does it really represent? the DRAM controller? So I think my laptop behaves like yours. On Wed, Feb 26, 2014 at 10:29 AM, Borislav Petkov wrote: > On Wed, Feb 26, 2014 at 07:56:58AM +0100, Stephane Eranian wrote: >> > Also IVB, model 58? >> > >> Yes. > > Right, so it must be chipset-specific. > >> > Dunno. What do you mean by "pm callbacks" exactly? I don't know that >> > code so I have to ask. >> > >> power management callbacks. > > Ok, just as I thought. But why would they be relevant if this happens > very early during boot? > >> > #define PCI_DEVICE_ID_INTEL_IVB_IMC 0x0154 >> Yes. Needs to point to the DRAM controller. > > It seems I have it :-) > > $ lspci -xxx -s 00.0 > 00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09) > 00: 86 80 54 01 06 00 90 20 09 00 00 06 00 00 00 00 > ^^^^^ > > 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 20: 00 00 00 00 00 00 00 00 00 00 00 00 aa 17 fa 21 > 30: 00 00 00 00 e0 00 00 00 00 00 00 00 00 00 00 00 > 40: 01 90 d1 fe 00 00 00 00 01 00 d1 fe 00 00 00 00 > 50: 11 02 00 00 11 00 00 00 07 00 90 df 01 00 00 db > 60: 05 00 00 f8 00 00 00 00 01 80 d1 fe 00 00 00 00 > 70: 00 00 00 fe 01 00 00 00 00 0c 00 fe 7f 00 00 00 > 80: 10 11 11 11 11 11 11 00 1a 00 00 00 00 00 00 00 > 90: 01 00 00 fe 01 00 00 00 01 00 50 1e 02 00 00 00 > a0: 01 00 00 00 02 00 00 00 01 00 60 1e 02 00 00 00 > b0: 01 00 a0 db 01 00 80 db 01 00 00 db 01 00 a0 df > c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > e0: 09 00 0c 01 9b 61 00 e2 d0 00 e8 76 00 00 00 00 > f0: 00 00 00 01 00 00 00 00 c8 0f 09 00 00 00 00 00 > > Anyway, here's some more debugging output and some more staring: > > So we're correctly getting 0x154 and then snb_uncore_imc_init_box() > tries to ioremap 0xfed10000 but this fails the resource map check with: > > [ 0.485356] resource map sanity check conflict: 0xfed10000 0xfed15fff 0xfed10000 0xfed13fff pnp 00:01 > > and the pnp 00:01 device already partially occupies that range (from > /proc/iomem): > > fed10000-fed13fff : pnp 00:01 > > Oh, and snb_uncore_imc_init_box() gets that address from > SNB_UNCORE_PCI_IMC_BAR_OFFSET and SNB_UNCORE_PCI_IMC_BAR_OFFSET+4 and > they start at offset 0x48 in the PCI config space above, i.e. > > 40: 01 90 d1 fe 00 00 00 00 01 00 d1 fe 00 00 00 00 > ^^^^^^^^^^^^^^^^^^^^^^^ > > which is 0x000000fed10001 (the 0x1 bit disappears after addr &= ~(PAGE_SIZE - 1);) > > So I'm guessing it is time to talk to platform guys and ask them why > they're putting SNB_UNCORE_PCI_IMC_BAR_OFFSET{,+4} in an overlapping > range with pnp 00:01. > > [ 0.484023] PCI-DMA: Using software bounce buffering for IO (SWIOTLB) > [ 0.484108] software IO TLB [mem 0xcac30000-0xcec30000] (64MB) mapped at [ffff8800cac30000-ffff8800cec2ffff] > [ 0.484971] DBG: will get device: 0x8086:154 > [ 0.485054] DBG: Got device, bus: 0x0 > [ 0.485254] DBG: ioremapping addr: 0xfed10000 > [ 0.485356] resource map sanity check conflict: 0xfed10000 0xfed15fff 0xfed10000 0xfed13fff pnp 00:01 > [ 0.485460] ------------[ cut here ]------------ > [ 0.485544] WARNING: CPU: 2 PID: 1 at arch/x86/mm/ioremap.c:171 __ioremap_caller+0x372/0x380() > [ 0.485643] Info: mapping multiple BARs. Your kernel is fine. > [ 0.485709] Modules linked in: > [ 0.485935] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 3.14.0-rc4+ #6 > [ 0.486019] Hardware name: LENOVO 2320CTO/2320CTO, BIOS G2ET86WW (2.06 ) 11/13/2012 > [ 0.486117] 00000000000000ab ffff880213d01ad8 ffffffff81611339 0000000000000006 > [ 0.486411] ffff880213d01b28 ffff880213d01b18 ffffffff8104e9cc ffff880213d01b08 > [ 0.488308] ffffc90000c58000 00000000fed10000 00000000fed10000 0000000000006000 > [ 0.488595] Call Trace: > [ 0.488671] [] dump_stack+0x4f/0x7c > [ 0.488754] [] warn_slowpath_common+0x8c/0xc0 > [ 0.488877] [] warn_slowpath_fmt+0x46/0x50 > [ 0.488966] [] __ioremap_caller+0x372/0x380 > [ 0.489052] [] ? snb_uncore_imc_init_box+0x76/0xa0 > [ 0.489137] [] ioremap_nocache+0x17/0x20 > [ 0.489221] [] snb_uncore_imc_init_box+0x76/0xa0 > [ 0.489307] [] uncore_pci_probe+0xe5/0x1e0 > [ 0.489391] [] local_pci_probe+0x4e/0xa0 > [ 0.489474] [] ? get_device+0x19/0x20 > [ 0.489558] [] pci_device_probe+0xe1/0x130 > [ 0.489642] [] driver_probe_device+0x7b/0x240 > [ 0.489726] [] __driver_attach+0xab/0xb0 > [ 0.489834] [] ? driver_probe_device+0x240/0x240 > [ 0.489920] [] bus_for_each_dev+0x5e/0x90 > [ 0.490003] [] driver_attach+0x1e/0x20 > [ 0.490086] [] bus_add_driver+0x117/0x230 > [ 0.490170] [] driver_register+0x64/0xf0 > [ 0.490251] [] __pci_register_driver+0x64/0x70 > [ 0.490337] [] ? uncore_types_init+0x19c/0x19c > [ 0.490421] [] intel_uncore_init+0x196/0x462 > [ 0.490504] [] ? uncore_types_init+0x19c/0x19c > [ 0.490591] [] do_one_initcall+0x4e/0x170 > [ 0.490676] [] ? parse_args+0x50/0x360 > [ 0.490762] [] kernel_init_freeable+0x106/0x19a > [ 0.490863] [] ? do_early_param+0x86/0x86 > [ 0.490948] [] ? rest_init+0xd0/0xd0 > [ 0.491032] [] kernel_init+0xe/0xf0 > [ 0.491116] [] ret_from_fork+0x7c/0xb0 > [ 0.491199] [] ? rest_init+0xd0/0xd0 > [ 0.491289] ---[ end trace b31a7f760e34b24a ]--- > [ 0.491547] RAPL PMU detected, hw unit 2^-16 Joules, API unit is 2^-32 Joules, 3 fixed counters 163840 ms ovfl timer > [ 0.493962] futex hash table entries: 1024 (order: 5, 131072 bytes) > > -- > Regards/Gruss, > Boris. > > Sent from a fat crate under my desk. Formatting is fine. > -- -- 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/