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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[+cc Matt]

On Fri, Mar 11, 2022 at 08:52:31AM +0100, Hans de Goede wrote:
> On 3/10/22 13:28, Hans de Goede wrote:
> > 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>

Done, thank you very much, Matt!  Many people will benefit from your
work.



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux