From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ob0-f178.google.com ([209.85.214.178]:33369 "EHLO mail-ob0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751618AbbDWVaT (ORCPT ); Thu, 23 Apr 2015 17:30:19 -0400 Received: by oblw8 with SMTP id w8so24082405obl.0 for ; Thu, 23 Apr 2015 14:30:18 -0700 (PDT) Date: Thu, 23 Apr 2015 16:30:15 -0500 From: Bjorn Helgaas To: Linus Torvalds Cc: Dave Airlie , Daniel Vetter , Jani Nikula , DRI mailing list , Linux Kernel Mailing List , intel-gfx , "linux-pci@vger.kernel.org" , Matthew Garrett Subject: Re: git pull] drm for v4.1-rc1 Message-ID: <20150423213015.GA7888@google.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: Sender: linux-pci-owner@vger.kernel.org List-ID: [+cc Matthew] On Tue, Apr 21, 2015 at 09:07:45AM -0700, Linus Torvalds wrote: > Hmm. The odd Intel PCI resource mess is back. > > Or maybe it never went away. > > I get these when suspending. Things *work*, but it's really spamming > my logs a fair bit: > > i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment > pci_bus 0000:01: Allocating resources > pci_bus 0000:02: Allocating resources > i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment > i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment > i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment > i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment > i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment > i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment > > That resource is complete garbage. "flags 0x2" is not even a valid > flag value. I'm *guessing* it might be IORESOURCE_ROM_SHADOW, but if > that is valid, then it should also have have had the IORESOURCE_MEM > bit, and it doesn't. Your i915 does not have a ROM BAR in hardware. If the default video device has no ROM BAR, pci_fixup_video() sets IORESOURCE_ROM_SHADOW even though the resource flags are zero because the BAR itself doesn't exist. If IORESOURCE_ROM_SHADOW is set, pci_map_rom() assumes there's a shadow ROM image at 0xC0000. Is there a shadow image even if the device itself doesn't have a ROM BAR? We could fabricate a resource even if the BAR doesn't exist, e.g., "flags = IORESOURCE_MEM | ... | IORESOURCE_ROM_SHADOW", but that would be ugly and error-prone in other places that use the ROM. Matthew added dev->rom for ROM images supplied by the platform (84c1b80e3263 ("PCI: Add support for non-BAR ROMs")). A shadow image seems like a similar thing. I think it would be cleaner to get rid of IORESOURCE_ROM_SHADOW altogether and instead set "dev->rom = 0xC0000" if there's a shadow image, e.g.: int pcibios_add_device(struct pci_dev *dev) { if (dev-is-default-vga-device) { dev->rom = 0xC0000; dev->romlen = 0x20000; } pa_data = boot_params.hdr.setup_data; while (pa_data) { ... if (data->type == SETUP_PCI) { rom = (struct pci_setup_rom *)data; if (dev-is-rom-dev) { dev->rom = ... dev->romlen = rom->pcilen; } } } But the rules for figuring out which image to use seem ... complicated. Bjorn From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bjorn Helgaas Subject: Re: git pull] drm for v4.1-rc1 Date: Thu, 23 Apr 2015 16:30:15 -0500 Message-ID: <20150423213015.GA7888@google.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Linus Torvalds Cc: Dave Airlie , "linux-pci@vger.kernel.org" , intel-gfx , Linux Kernel Mailing List , DRI mailing list , Matthew Garrett , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org WytjYyBNYXR0aGV3XQoKT24gVHVlLCBBcHIgMjEsIDIwMTUgYXQgMDk6MDc6NDVBTSAtMDcwMCwg TGludXMgVG9ydmFsZHMgd3JvdGU6Cj4gSG1tLiBUaGUgb2RkIEludGVsIFBDSSByZXNvdXJjZSBt ZXNzIGlzIGJhY2suCj4gCj4gT3IgbWF5YmUgaXQgbmV2ZXIgd2VudCBhd2F5Lgo+IAo+IEkgZ2V0 IHRoZXNlIHdoZW4gc3VzcGVuZGluZy4gVGhpbmdzICp3b3JrKiwgYnV0IGl0J3MgcmVhbGx5IHNw YW1taW5nCj4gbXkgbG9ncyBhIGZhaXIgYml0Ogo+IAo+ICAgaTkxNSAwMDAwOjAwOjAyLjA6IEJB UiA2OiBbPz8/IDB4MDAwMDAwMDAgZmxhZ3MgMHgyXSBoYXMgYm9ndXMgYWxpZ25tZW50Cj4gICBw Y2lfYnVzIDAwMDA6MDE6IEFsbG9jYXRpbmcgcmVzb3VyY2VzCj4gICBwY2lfYnVzIDAwMDA6MDI6 IEFsbG9jYXRpbmcgcmVzb3VyY2VzCj4gICBpOTE1IDAwMDA6MDA6MDIuMDogQkFSIDY6IFs/Pz8g MHgwMDAwMDAwMCBmbGFncyAweDJdIGhhcyBib2d1cyBhbGlnbm1lbnQKPiAgIGk5MTUgMDAwMDow MDowMi4wOiBCQVIgNjogWz8/PyAweDAwMDAwMDAwIGZsYWdzIDB4Ml0gaGFzIGJvZ3VzIGFsaWdu bWVudAo+ICAgaTkxNSAwMDAwOjAwOjAyLjA6IEJBUiA2OiBbPz8/IDB4MDAwMDAwMDAgZmxhZ3Mg MHgyXSBoYXMgYm9ndXMgYWxpZ25tZW50Cj4gICBpOTE1IDAwMDA6MDA6MDIuMDogQkFSIDY6IFs/ Pz8gMHgwMDAwMDAwMCBmbGFncyAweDJdIGhhcyBib2d1cyBhbGlnbm1lbnQKPiAgIGk5MTUgMDAw MDowMDowMi4wOiBCQVIgNjogWz8/PyAweDAwMDAwMDAwIGZsYWdzIDB4Ml0gaGFzIGJvZ3VzIGFs aWdubWVudAo+ICAgaTkxNSAwMDAwOjAwOjAyLjA6IEJBUiA2OiBbPz8/IDB4MDAwMDAwMDAgZmxh Z3MgMHgyXSBoYXMgYm9ndXMgYWxpZ25tZW50Cj4gCj4gVGhhdCByZXNvdXJjZSBpcyBjb21wbGV0 ZSBnYXJiYWdlLiAiZmxhZ3MgMHgyIiBpcyBub3QgZXZlbiBhIHZhbGlkCj4gZmxhZyB2YWx1ZS4g SSdtICpndWVzc2luZyogaXQgbWlnaHQgYmUgSU9SRVNPVVJDRV9ST01fU0hBRE9XLCBidXQgaWYK PiB0aGF0IGlzIHZhbGlkLCB0aGVuIGl0IHNob3VsZCBhbHNvIGhhdmUgaGF2ZSBoYWQgdGhlIElP UkVTT1VSQ0VfTUVNCj4gYml0LCBhbmQgaXQgZG9lc24ndC4KCllvdXIgaTkxNSBkb2VzIG5vdCBo YXZlIGEgUk9NIEJBUiBpbiBoYXJkd2FyZS4gIElmIHRoZSBkZWZhdWx0IHZpZGVvCmRldmljZSBo YXMgbm8gUk9NIEJBUiwgcGNpX2ZpeHVwX3ZpZGVvKCkgc2V0cyBJT1JFU09VUkNFX1JPTV9TSEFE T1cKZXZlbiB0aG91Z2ggdGhlIHJlc291cmNlIGZsYWdzIGFyZSB6ZXJvIGJlY2F1c2UgdGhlIEJB UiBpdHNlbGYgZG9lc24ndApleGlzdC4KCklmIElPUkVTT1VSQ0VfUk9NX1NIQURPVyBpcyBzZXQs IHBjaV9tYXBfcm9tKCkgYXNzdW1lcyB0aGVyZSdzIGEKc2hhZG93IFJPTSBpbWFnZSBhdCAweEMw MDAwLiAgSXMgdGhlcmUgYSBzaGFkb3cgaW1hZ2UgZXZlbiBpZiB0aGUKZGV2aWNlIGl0c2VsZiBk b2Vzbid0IGhhdmUgYSBST00gQkFSPwoKV2UgY291bGQgZmFicmljYXRlIGEgcmVzb3VyY2UgZXZl biBpZiB0aGUgQkFSIGRvZXNuJ3QgZXhpc3QsIGUuZy4sCiJmbGFncyA9IElPUkVTT1VSQ0VfTUVN IHwgLi4uIHwgSU9SRVNPVVJDRV9ST01fU0hBRE9XIiwgYnV0IHRoYXQKd291bGQgYmUgdWdseSBh bmQgZXJyb3ItcHJvbmUgaW4gb3RoZXIgcGxhY2VzIHRoYXQgdXNlIHRoZSBST00uCgpNYXR0aGV3 IGFkZGVkIGRldi0+cm9tIGZvciBST00gaW1hZ2VzIHN1cHBsaWVkIGJ5IHRoZSBwbGF0Zm9ybQoo ODRjMWI4MGUzMjYzICgiUENJOiBBZGQgc3VwcG9ydCBmb3Igbm9uLUJBUiBST01zIikpLiAgQSBz aGFkb3cKaW1hZ2Ugc2VlbXMgbGlrZSBhIHNpbWlsYXIgdGhpbmcuICBJIHRoaW5rIGl0IHdvdWxk IGJlIGNsZWFuZXIgdG8gZ2V0CnJpZCBvZiBJT1JFU09VUkNFX1JPTV9TSEFET1cgYWx0b2dldGhl ciBhbmQgaW5zdGVhZCBzZXQgImRldi0+cm9tID0KMHhDMDAwMCIgaWYgdGhlcmUncyBhIHNoYWRv dyBpbWFnZSwgZS5nLjoKCiAgaW50IHBjaWJpb3NfYWRkX2RldmljZShzdHJ1Y3QgcGNpX2RldiAq ZGV2KQogIHsKICAgIGlmIChkZXYtaXMtZGVmYXVsdC12Z2EtZGV2aWNlKSB7CiAgICAgIGRldi0+ cm9tID0gMHhDMDAwMDsKICAgICAgZGV2LT5yb21sZW4gPSAweDIwMDAwOwogICAgfQoKICAgIHBh X2RhdGEgPSBib290X3BhcmFtcy5oZHIuc2V0dXBfZGF0YTsKICAgIHdoaWxlIChwYV9kYXRhKSB7 CiAgICAgIC4uLgogICAgICBpZiAoZGF0YS0+dHlwZSA9PSBTRVRVUF9QQ0kpIHsKICAgICAgICBy b20gPSAoc3RydWN0IHBjaV9zZXR1cF9yb20gKilkYXRhOwoKICAgICAgICBpZiAoZGV2LWlzLXJv bS1kZXYpIHsKICAgICAgICAgIGRldi0+cm9tID0gLi4uCiAgICAgICAgICBkZXYtPnJvbWxlbiA9 IHJvbS0+cGNpbGVuOwogICAgICAgIH0KICAgICAgfQogICAgfQoKQnV0IHRoZSBydWxlcyBmb3Ig ZmlndXJpbmcgb3V0IHdoaWNoIGltYWdlIHRvIHVzZSBzZWVtIC4uLgpjb21wbGljYXRlZC4KCkJq b3JuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==