--- zzzz-none-000/linux-3.10.107/arch/mips/mti-malta/malta-pci.c 2017-06-27 09:49:32.000000000 +0000 +++ vr9-7490-729/linux-3.10.107/arch/mips/mti-malta/malta-pci.c 2021-11-10 11:53:54.000000000 +0000 @@ -198,6 +198,12 @@ MSC_READ(MSC01_PCI_SC2PMBASL, start); MSC_READ(MSC01_PCI_SC2PMMSKL, mask); MSC_READ(MSC01_PCI_SC2PMMAPL, map); +#if defined(CONFIG_EVA) && !defined(CONFIG_EVA_OLD_MALTA_MAP) + /* shift PCI devices to upper 2GB, to prevent PCI bridges loop */ + map |= 0xa0000000; + MSC_WRITE(MSC01_PCI_SC2PMMAPL, map); + MSC_READ(MSC01_PCI_SC2PMMAPL, map); +#endif msc_mem_resource.start = start & mask; msc_mem_resource.end = (start & mask) | ~mask; msc_controller.mem_offset = (start & mask) - (map & mask);