[PATCH 03/29] x86/pci: don't check mmconf again if it is from MSR withamd faml0h

From: Yinghai Lu
Date: Sun Jan 03 2010 - 22:13:34 EST


for AMD Fam10h, it we read mmconf from MSR early, we should just trust it
because we check it and correct it already.

so skip the reject check there.

Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
---
arch/x86/pci/mmconfig-shared.c | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/arch/x86/pci/mmconfig-shared.c b/arch/x86/pci/mmconfig-shared.c
index b19d1e5..bcce99b 100644
--- a/arch/x86/pci/mmconfig-shared.c
+++ b/arch/x86/pci/mmconfig-shared.c
@@ -168,6 +168,7 @@ static const char __init *pci_mmcfg_intel_945(void)
return "Intel Corporation 945G/GZ/P/PL Express Memory Controller Hub";
}

+static int __initdata amd_fam10h_mmconf_found_via_hostbridge;
static const char __init *pci_mmcfg_amd_fam10h(void)
{
u32 low, high, address;
@@ -215,6 +216,8 @@ static const char __init *pci_mmcfg_amd_fam10h(void)
return NULL;
}

+ amd_fam10h_mmconf_found_via_hostbridge = 1;
+
return "AMD Family 10h NB";
}

@@ -606,7 +609,12 @@ static void __init __pci_mmcfg_init(int early)
if (!known_bridge)
acpi_sfi_table_parse(ACPI_SIG_MCFG, pci_parse_mcfg);

- pci_mmcfg_reject_broken(early);
+ /*
+ * if it is amd fam10h, and that is read from msr,
+ * we don't need check them again.
+ */
+ if (!amd_fam10h_mmconf_found_via_hostbridge)
+ pci_mmcfg_reject_broken(early);

if (list_empty(&pci_mmcfg_list))
return;
--
1.6.4.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/