X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fx86_64%2Fpci%2Fmmconfig.c;h=142b9befee3fa0e84a809acfcc1c5d27b39d0ed5;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=7004ee82f84afac94b73f12c3b45dd465a031629;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/arch/x86_64/pci/mmconfig.c b/arch/x86_64/pci/mmconfig.c index 7004ee82f..142b9befe 100644 --- a/arch/x86_64/pci/mmconfig.c +++ b/arch/x86_64/pci/mmconfig.c @@ -63,9 +63,6 @@ static int pci_mmcfg_write(int seg, int bus, int devfn, int reg, int len, u32 va break; } - /* Dummy read to flush PCI write */ - readl(addr); - return 0; } @@ -81,6 +78,13 @@ static int __init pci_mmcfg_init(void) if (!pci_mmcfg_base_addr) return 0; + /* Kludge for now. Don't use mmconfig on AMD systems because + those have some busses where mmconfig doesn't work, + and we don't parse ACPI MCFG well enough to handle that. + Remove when proper handling is added. */ + if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD) + return 0; + /* RED-PEN i386 doesn't do _nocache right now */ pci_mmcfg_virt = ioremap_nocache(pci_mmcfg_base_addr, MMCONFIG_APER_SIZE); if (!pci_mmcfg_virt) {