Re: [PATCH 3/3] x86/PCI: Preserve host bridge windows completely covered by E820

From: Hans de Goede
Date: Thu Mar 10 2022 - 07:28:47 EST


Hi Bjorn,

On 3/9/22 19:15, Bjorn Helgaas wrote:
> 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@xxxxxxxxxx>
>>>>>>
>>>>>> 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.

Good point, the reporter of:
https://bugzilla.redhat.com/show_bug.cgi?id=1868899

has done most of the ideapad with touchpad issues testing for me
and has been very helpful. I agree he deserves credit for this.

I've asked him if he is ok with adding a Tested-by tag and if yes,
which email we should use.

Regards,

Hans