From: "Rafael J. Wysocki" <rjw@rjwysocki.net>
To: Stephane Eranian <eranian@google.com>
Cc: Borislav Petkov <bp@alien8.de>,
lkml <linux-kernel@vger.kernel.org>, x86 <x86@kernel.org>,
Bjorn Helgaas <bhelgaas@google.com>,
Linux PCI <linux-pci@vger.kernel.org>,
ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
Zhang Rui <rui.zhang@intel.com>, Yinghai Lu <yinghai@kernel.org>,
"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: Info: mapping multiple BARs. Your kernel is fine.
Date: Mon, 17 Mar 2014 01:09:39 +0100 [thread overview]
Message-ID: <1425376.F2qgSAxAbW@vostro.rjw.lan> (raw)
In-Reply-To: <CABPqkBSmes+ee19iVh0EHvMQ=7TAzN3Fx1BKdOZ-2iuk5L0ugw@mail.gmail.com>
On Sunday, March 16, 2014 02:08:16 PM Stephane Eranian wrote:
> Rafael,
>
> Thanks for the analysis.
>
> On Sun, Mar 16, 2014 at 12:55 PM, Borislav Petkov <bp@alien8.de> wrote:
> > On Sat, Mar 15, 2014 at 03:15:04PM +0100, Rafael J. Wysocki wrote:
> >> I've just gone throught this.
> >
> > Thanks.
> >
> >> So the problem is that we have the PNP "system" driver whose only purpose seems
> >> to be to reserve system resources so that the PCI layer doesn't assign them to
> >> new devices on hotplug (disclaimer: I didn't invent it, I only read the code and
> >> comments in there).
> >>
> >> It does that for ACPI device objects having the "PNP0C02" and "PNP0C01" IDs.
> >
> > Right, pnp 00:01 is PNP0C02.
> >
> >> Apparently, snb_uncore_imc_init_box() steps on a range already reserved by that
> >> driver on your box. And this doesn't seem to be a coincidence, because the ACPI
> >> device object in question probably *does* correspond to the memory controller
> >> that the uncore driver attempts to use.
> >>
> >> I'm not sure how to address that right now to be honest. Arguably, the PNP
> >> "system" driver should be replaced with something saner, but still the
> >> resources it claims need to be kept out of reach of the PCI's resource
> >> allocation code.
> >
> > Well, I'm only conjecturing here but there should be a way for the
> > uncore code to tell the PNP "system" driver to free this resource
> > because uncore is going to use it now. Or something to that effect.
> >
> I agree. The snb_uncore_imc() is making real (good) use of the device.
> It needs to own it. So we need a way to free the resource from the PNP
> system or a way to tell PNP need to grab it on systems with the
> snb_uncore_imc() support. Does that kind of API exist?
>
> Where do I look to prevent PNP from grabbing the IMC?
drivers/pnp/system.c is the driver in question and system_pnp_probe() makes
the reservations via reserve_resources_of_dev(), so you'd need to modify that.
I'm not sure what's the right way to go here, though.
--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
next prev parent reply other threads:[~2014-03-16 23:54 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-24 16:24 Info: mapping multiple BARs. Your kernel is fine Borislav Petkov
2014-02-24 20:19 ` Borislav Petkov
2014-02-25 15:48 ` H. Peter Anvin
2014-02-25 16:14 ` Stephane Eranian
2014-02-25 16:30 ` Borislav Petkov
2014-02-25 16:33 ` Stephane Eranian
2014-02-25 17:39 ` Borislav Petkov
2014-02-25 18:54 ` Stephane Eranian
2014-02-25 22:10 ` Borislav Petkov
2014-02-26 6:56 ` Stephane Eranian
2014-02-26 9:29 ` Borislav Petkov
2014-02-26 9:47 ` Stephane Eranian
2014-02-26 9:59 ` Borislav Petkov
2014-02-27 10:12 ` Stephane Eranian
2014-02-27 10:27 ` Borislav Petkov
2014-02-27 22:12 ` Rafael J. Wysocki
2014-02-27 22:21 ` Borislav Petkov
2014-03-05 21:03 ` Stephane Eranian
2014-02-27 10:30 ` Peter Zijlstra
2014-02-27 10:32 ` Stephane Eranian
2014-02-27 11:08 ` Peter Zijlstra
2014-02-27 12:20 ` Stephane Eranian
2014-02-26 13:57 ` Rafael J. Wysocki
2014-02-26 13:50 ` Peter Zijlstra
2014-02-26 13:52 ` Borislav Petkov
2014-03-15 14:15 ` Rafael J. Wysocki
2014-03-16 11:55 ` Borislav Petkov
2014-03-16 13:08 ` Stephane Eranian
2014-03-17 0:09 ` Rafael J. Wysocki [this message]
2014-03-17 0:23 ` Rafael J. Wysocki
2014-03-20 2:24 ` Aaron Lu
2014-03-20 2:29 ` Stephane Eranian
2014-03-20 3:03 ` Zhang, Rui
2014-03-20 3:34 ` Stephane Eranian
2014-03-20 7:53 ` Zhang, Rui
2014-03-20 8:16 ` Yan, Zheng
2014-03-20 13:43 ` Zhang Rui
2014-03-20 16:03 ` Stephane Eranian
2014-03-20 13:35 ` Zhang Rui
2014-03-20 12:29 ` Rafael J. Wysocki
2014-03-20 16:45 ` Bjorn Helgaas
2014-03-20 20:55 ` Rafael J. Wysocki
2014-03-20 20:48 ` Bjorn Helgaas
2014-04-16 19:04 ` Borislav Petkov
2014-04-16 20:24 ` Zhang, Rui
2014-04-16 20:31 ` Bjorn Helgaas
2014-04-16 22:31 ` Dave Jones
2014-04-16 22:56 ` Bjorn Helgaas
2014-04-17 0:18 ` Dave Jones
2014-04-17 10:45 ` Borislav Petkov
2014-04-17 18:26 ` Bjorn Helgaas
2014-04-17 19:48 ` Borislav Petkov
2014-04-17 20:10 ` Bjorn Helgaas
2014-04-17 19:52 ` Dave Jones
2014-04-17 20:01 ` Borislav Petkov
2014-04-17 20:03 ` Dave Jones
2014-04-17 20:53 ` Dave Jones
2014-04-17 21:01 ` Borislav Petkov
[not found] ` <20140417213027.GA22412@redhat.com>
2014-04-18 10:38 ` Borislav Petkov
2014-04-16 23:08 ` Stephane Eranian
2014-04-16 23:11 ` Bjorn Helgaas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1425376.F2qgSAxAbW@vostro.rjw.lan \
--to=rjw@rjwysocki.net \
--cc=bhelgaas@google.com \
--cc=bp@alien8.de \
--cc=eranian@google.com \
--cc=hpa@zytor.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=rui.zhang@intel.com \
--cc=x86@kernel.org \
--cc=yinghai@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).