Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 55045ff5 authored by Wu Zhangjin's avatar Wu Zhangjin Committed by Ralf Baechle
Browse files

MIPS: Loongson 2F: Cleanup the #if clauses



This patch adds two new kernel options: CPU_SUPPORTS_CPUFREQ and
CPU_SUPPORTS_ADDRWINCFG to describe the new features of Loongons 2F and
replaces the several ugly #if clauses by them.

These two options will be utilized by the future loongson revisions and
related drivers such as the coming Loongson 2F CPUFreq driver.

Signed-off-by: default avatarWu Zhangjin <wuzhangjin@gmail.com>
Cc: linux-mips@linux-mips.org
Cc: Wu Zhangjin <wuzhangjin@gmail.com>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 6e34358e
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1334,6 +1334,8 @@ config SYS_HAS_CPU_LOONGSON2E

config SYS_HAS_CPU_LOONGSON2F
	bool
	select CPU_SUPPORTS_CPUFREQ
	select CPU_SUPPORTS_ADDRWINCFG if 64BIT

config SYS_HAS_CPU_MIPS32_R1
	bool
@@ -1443,6 +1445,10 @@ config CPU_SUPPORTS_32BIT_KERNEL
	bool
config CPU_SUPPORTS_64BIT_KERNEL
	bool
config CPU_SUPPORTS_CPUFREQ
	bool
config CPU_SUPPORTS_ADDRWINCFG
	bool
config CPU_SUPPORTS_HUGEPAGES
	bool
config MIPS_PGD_C0_CONTEXT
+3 −3
Original line number Diff line number Diff line
@@ -227,7 +227,7 @@ extern void mach_irq_dispatch(unsigned int pending);
	((((ADDR)>>26) & LOONGSON_PCIMAP_PCIMAP_LO0) << ((WIN)*6))

/* Chip Config */
#ifdef CONFIG_CPU_LOONGSON2F
#ifdef CONFIG_CPU_SUPPORTS_CPUFREQ
#define LOONGSON_CHIPCFG0		LOONGSON_REG(LOONGSON_REGBASE + 0x80)
#endif

@@ -236,7 +236,7 @@ extern void mach_irq_dispatch(unsigned int pending);
 *
 * loongson2e do not have this module
 */
#if defined(CONFIG_CPU_LOONGSON2F) && defined(CONFIG_64BIT)
#ifdef CONFIG_CPU_SUPPORTS_ADDRWINCFG

/* address window config module base address */
#define LOONGSON_ADDRWINCFG_BASE		0x3ff00000ul
@@ -306,6 +306,6 @@ extern unsigned long _loongson_addrwincfg_base;
#define LOONGSON_ADDRWIN_PCITODDR(win, src, dst, size) \
	LOONGSON_ADDRWIN_CFG(PCIDMA, DDR, win, src, dst, size)

#endif	/* ! CONFIG_CPU_LOONGSON2F && CONFIG_64BIT */
#endif	/* ! CONFIG_CPU_SUPPORTS_ADDRWINCFG */

#endif /* __ASM_MACH_LOONGSON_LOONGSON_H */
+2 −2
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ extern struct pci_ops loongson_pci_ops;
/* this is an offset from mips_io_port_base */
#define LOONGSON_PCI_IO_START	0x00004000UL

#if defined(CONFIG_CPU_LOONGSON2F) && defined(CONFIG_64BIT)
#ifdef CONFIG_CPU_SUPPORTS_ADDRWINCFG

/*
 * we use address window2 to map cpu address space to pci space
@@ -56,6 +56,6 @@ extern struct pci_ops loongson_pci_ops;
/* this is an offset from mips_io_port_base */
#define LOONGSON_PCI_IO_START	0x00004000UL

#endif	/* !(defined(CONFIG_CPU_LOONGSON2F) && defined(CONFIG_64BIT))*/
#endif	/* !CONFIG_CPU_SUPPORTS_ADDRWINCFG */

#endif /* !__ASM_MACH_LOONGSON_PCI_H_ */
+1 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ void __init prom_init(void)
	set_io_port_base((unsigned long)
		ioremap(LOONGSON_PCIIO_BASE, LOONGSON_PCIIO_SIZE));

#if defined(CONFIG_CPU_LOONGSON2F) && defined(CONFIG_64BIT)
#ifdef CONFIG_CPU_SUPPORTS_ADDRWINCFG
	_loongson_addrwincfg_base = (unsigned long)
		ioremap(LOONGSON_ADDRWINCFG_BASE, LOONGSON_ADDRWINCFG_SIZE);
#endif
+4 −4
Original line number Diff line number Diff line
@@ -20,8 +20,7 @@ void __init prom_init_memory(void)

    add_memory_region(memsize << 20, LOONGSON_PCI_MEM_START - (memsize <<
			    20), BOOT_MEM_RESERVED);
#ifdef CONFIG_64BIT
#ifdef CONFIG_CPU_LOONGSON2F
#ifdef CONFIG_CPU_SUPPORTS_ADDRWINCFG
	{
		int bit;

@@ -36,8 +35,9 @@ void __init prom_init_memory(void)
					  0x80000000ul, (1 << bit));
		mmiowb();
	}
#endif				/* CONFIG_CPU_LOONGSON2F */
#endif /* !CONFIG_CPU_SUPPORTS_ADDRWINCFG */

#ifdef CONFIG_64BIT
	if (highmemsize > 0)
		add_memory_region(LOONGSON_HIGHMEM_START,
				  highmemsize << 20, BOOT_MEM_RAM);
@@ -45,7 +45,7 @@ void __init prom_init_memory(void)
	add_memory_region(LOONGSON_PCI_MEM_END + 1, LOONGSON_HIGHMEM_START -
			  LOONGSON_PCI_MEM_END - 1, BOOT_MEM_RESERVED);

#endif				/* CONFIG_64BIT */
#endif /* !CONFIG_64BIT */
}

/* override of arch/mips/mm/cache.c: __uncached_access */
Loading