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

From: Hans de Goede
Date: Fri Mar 11 2022 - 02:52:49 EST


Hi Bjorn,

On 3/10/22 13:28, Hans de Goede wrote:
> 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.

If you can add the following tag that would be great:

Tested-by: Matt Hansen <2lprbe78@xxxxxxxx>

Regards,

Hans