Commit 6a00c043 authored by Rong Zhang's avatar Rong Zhang Committed by Thomas Bogendoerfer
Browse files

MIPS: Loongson2ef: Register PCI controller in early stage



We are about to set loongson_pci_io_resource.start to 0 and adopt
PCIBIOS_MIN_IO. As the first step, PCI controller needs to be registered
in early stage to make it the root of other resources (e.g., i8259) and
prevent resource conflicts.

Register it in plat_mem_setup() instead of arch_initcall().

Fixes: ae81aad5 ("MIPS: PCI: Use pci_enable_resources()")
Cc: stable@vger.kernel.org
Tested-by: default avatarBeiyan Yun <root@infi.wang>
Tested-by: default avatarYao Zi <me@ziyao.cc>
Signed-off-by: default avatarRong Zhang <rongrong@oss.cipunited.com>
Acked-by: default avatarJiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
parent a6ab150d
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -324,4 +324,10 @@ extern unsigned long _loongson_addrwincfg_base;

#endif	/* ! CONFIG_CPU_SUPPORTS_ADDRWINCFG */

#ifdef CONFIG_PCI
void loongson2ef_pcibios_init(void);
#else
static inline void loongson2ef_pcibios_init(void) { }
#endif

#endif /* __ASM_MACH_LOONGSON2EF_LOONGSON_H */
+1 −6
Original line number Diff line number Diff line
@@ -73,15 +73,10 @@ static void __init setup_pcimap(void)
#endif
}

static int __init pcibios_init(void)
void __init loongson2ef_pcibios_init(void)
{
	setup_pcimap();

	loongson_pci_controller.io_map_base = mips_io_port_base;
	register_pci_controller(&loongson_pci_controller);


	return 0;
}

arch_initcall(pcibios_init);
+1 −0
Original line number Diff line number Diff line
@@ -27,4 +27,5 @@ EXPORT_SYMBOL(__wbflush);

void __init plat_mem_setup(void)
{
	loongson2ef_pcibios_init();
}