[PATCH 1/1] PCI: Add MCFG quirk for 2nd node of Cavium ThunderX pass2.x host controller
Bjorn Helgaas
helgaas at kernel.org
Fri Apr 21 12:56:14 EDT 2017
On Wed, Mar 29, 2017 at 02:16:13PM +0200, Tomasz Nowicki wrote:
> Currently SoCs pass2.x do not emulate EA headers for ACPI boot method at all.
> However, for pass2.x some devices (like EDAC) advertise incorrect base addresses
> in their BARs which results in driver probe failure during resource request.
> Since all problematic blocks are on 2nd NUMA node under domain 10 add necessary
> quirk entry to obtain BAR addresses correction using EA header emulation.
>
> Fixes: 44f22bd91e88 ("PCI: Add MCFG quirks for Cavium ThunderX pass2.x host controller")
> Signed-off-by: Tomasz Nowicki <tn at semihalf.com>
> CC: stable at vger.kernel.org # v4.10+
Sorry Tomasz, I must have mistakenly marked this "accepted" in
patchwork, so it fell off my to-do list. It's too late to get this in
v4.11, but I can still apply it for v4.12.
I put it on my pci/host-thunder branch with Robert's ack. I added a preceding
patch to tidy up whitespace, which makes this patch look like just:
/* SoC pass2.x */
THUNDER_PEM_QUIRK(1, 0),
THUNDER_PEM_QUIRK(1, 1),
+ THUNDER_ECAM_QUIRK(1, 10),
Please double-check it to make sure this is what you need.
> ---
> drivers/acpi/pci_mcfg.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/acpi/pci_mcfg.c b/drivers/acpi/pci_mcfg.c
> index a6a4cea..a0a391e 100644
> --- a/drivers/acpi/pci_mcfg.c
> +++ b/drivers/acpi/pci_mcfg.c
> @@ -90,13 +90,14 @@ static struct mcfg_fixup mcfg_quirks[] = {
> &thunder_pem_ecam_ops, THUNDER_PEM_RES(0x894057000000UL, node) }, \
> { "CAVIUM", "THUNDERX", rev, 9 + (10 * (node)), MCFG_BUS_ANY, \
> &thunder_pem_ecam_ops, THUNDER_PEM_RES(0x89808f000000UL, node) }
> +#define THUNDER_ECAM_QUIRK(rev, seg) \
> + { "CAVIUM", "THUNDERX", rev, seg, MCFG_BUS_ANY, \
> + &pci_thunder_ecam_ops }
> /* SoC pass2.x */
> THUNDER_PEM_QUIRK(1, 0),
> THUNDER_PEM_QUIRK(1, 1),
> + THUNDER_ECAM_QUIRK(1, 10),
>
> -#define THUNDER_ECAM_QUIRK(rev, seg) \
> - { "CAVIUM", "THUNDERX", rev, seg, MCFG_BUS_ANY, \
> - &pci_thunder_ecam_ops }
> /* SoC pass1.x */
> THUNDER_PEM_QUIRK(2, 0), /* off-chip devices */
> THUNDER_PEM_QUIRK(2, 1), /* off-chip devices */
> --
> 2.7.4
>
More information about the linux-arm-kernel
mailing list