[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220309181518.GA63422@bhelgaas>
Date: Wed, 9 Mar 2022 12:15:18 -0600
From: Bjorn Helgaas <helgaas@...nel.org>
To: Hans de Goede <hdegoede@...hat.com>
Cc: "Rafael J . Wysocki" <rjw@...ysocki.net>,
Borislav Petkov <bp@...en8.de>,
"H . Peter Anvin" <hpa@...or.com>, Ingo Molnar <mingo@...hat.com>,
Mika Westerberg <mika.westerberg@...ux.intel.com>,
Krzysztof Wilczyński <kw@...ux.com>,
Myron Stowe <myron.stowe@...hat.com>,
Juha-Pekka Heikkila <juhapekka.heikkila@...il.com>,
Benoit Grégoire <benoitg@...us.ca>,
Hui Wang <hui.wang@...onical.com>,
Kai-Heng Feng <kai.heng.feng@...onical.com>,
linux-acpi@...r.kernel.org, linux-pci@...r.kernel.org,
x86@...nel.org, linux-kernel@...r.kernel.org,
Bjorn Helgaas <bhelgaas@...gle.com>, wse@...edocomputers.com
Subject: Re: [PATCH 3/3] x86/PCI: Preserve host bridge windows completely
covered by E820
On Sat, Mar 05, 2022 at 11:37:23AM +0100, Hans de Goede wrote:
> On 3/4/22 16:46, Hans de Goede wrote:
> > On 3/4/22 16:32, Bjorn Helgaas wrote:
> >> On Fri, Mar 04, 2022 at 03:16:42PM +0100, Hans de Goede wrote:
> >>> On 3/4/22 04:51, Bjorn Helgaas wrote:
> >>>> From: Bjorn Helgaas <bhelgaas@...gle.com>
> >>>>
> >>>> Many folks have reported PCI devices not working. It could affect any
> >>>> device, but most reports are for Thunderbolt controllers on Lenovo Yoga and
> >>>> Clevo Barebone laptops and the touchpad on Lenovo IdeaPads.
> >>>> ...
> >>>> diff --git a/arch/x86/kernel/resource.c b/arch/x86/kernel/resource.c
> >>>> index 7378ea146976..405f0af53e3d 100644
> >>>> --- a/arch/x86/kernel/resource.c
> >>>> +++ b/arch/x86/kernel/resource.c
> >>>> @@ -39,6 +39,17 @@ void remove_e820_regions(struct device *dev, struct resource *avail)
> >>>> e820_start = entry->addr;
> >>>> e820_end = entry->addr + entry->size - 1;
> >>>>
> >>>> + /*
> >>>> + * If an E820 entry covers just part of the resource, we
> >>>> + * assume E820 is telling us about something like host
> >>>> + * bridge register space that is unavailable for PCI
> >>>> + * devices. But if it covers the *entire* resource, it's
> >>>> + * more likely just telling us that this is MMIO space, and
> >>>> + * that doesn't need to be removed.
> >>>> + */
> >>>> + if (e820_start <= avail->start && avail->end <= e820_end)
> >>>> + continue;
> >>>> +
> >>>
> >>> IMHO it would be good to add some logging here, since hitting this is
> >>> somewhat of a special case. For the Fedora test kernels I did I changed
> >>> this to:
> >>>
> >>> if (e820_start <= avail->start && avail->end <= e820_end) {
> >>> dev_info(dev, "resource %pR fully covered by e820 entry [mem %#010Lx-%#010Lx]\n",
> >>> avail, e820_start, e820_end);
> >>> continue;
> >>> }
> >>>
> >>> And I expect/hope to see this new info message on the ideapad with the
> >>> touchpad issue.
I added this logging.
> So I just got the first report back from the Fedora test 5.16.12 kernel
> with this series added. Good news on the ideapad this wotks fine to
> fix the touchpad issue (as expected).
Any "Tested-by" I could add? If we can, I'd really like to give some
credit to the folks who suffered through this and helped resolve it.
Bjorn
Powered by blists - more mailing lists