[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181023170343.GA4587@bhelgaas-glaptop.roam.corp.google.com>
Date: Tue, 23 Oct 2018 12:03:43 -0500
From: Bjorn Helgaas <helgaas@...nel.org>
To: "Guilherme G. Piccoli" <gpiccoli@...onical.com>
Cc: linux-pci@...r.kernel.org, kexec@...ts.infradead.org,
x86@...nel.org, linux-kernel@...r.kernel.org, bhelgaas@...gle.com,
dyoung@...hat.com, bhe@...hat.com, vgoyal@...hat.com,
tglx@...utronix.de, mingo@...hat.com, bp@...en8.de, hpa@...or.com,
andi@...stfloor.org, lukas@...ner.de, billy.olsen@...onical.com,
cascardo@...onical.com, ddstreet@...onical.com,
fabiomirmar@...onical.com, gavin.guo@...onical.com,
jay.vosburgh@...onical.com, kernel@...ccoli.net, mfo@...onical.com,
shan.gavin@...ux.alibaba.com
Subject: Re: [PATCH 1/3] x86/quirks: Scan all busses for early PCI quirks
On Mon, Oct 22, 2018 at 05:35:06PM -0300, Guilherme G. Piccoli wrote:
> On 18/10/2018 19:15, Bjorn Helgaas wrote:
> > On Thu, Oct 18, 2018 at 03:37:19PM -0300, Guilherme G. Piccoli wrote:
> > [...]
> I understand your point, but I think this is inherently an architecture
> problem. No matter what solution we decide for, it'll need to be applied
> in early boot time, like before the PCI layer gets initialized.
This is the part I want to know more about. Apparently there's some
event X between early_quirks() and the PCI device enumeration, and we
must disable MSIs before X:
setup_arch()
early_quirks() # arch/x86/kernel/early-quirks.c
early_pci_clear_msi()
...
X
...
pci_scan_root_bus_bridge()
...
DECLARE_PCI_FIXUP_EARLY # drivers/pci/quirks.c
I want to know specifically what X is. If we don't know what X is and
all we know is "we have to disable MSIs earlier than PCI init", then
we're likely to break things again in the future by changing the order
of disabling MSIs and whatever X is.
Bjorn
Powered by blists - more mailing lists