Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MIPS: Add P6600 cases to CPU switch statements

Add cases supporting the P6600 CPU to various switch statements in
core MIPS kernel code that define behaviour dependent upon the CPU.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: Maciej W. Rozycki <macro@imgtec.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Joshua Kinard <kumba@gentoo.org>
Cc: Andrzej Hajda <a.hajda@samsung.com>
Cc: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Petri Gynther <pgynther@google.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12343/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

authored by

Paul Burton and committed by
Ralf Baechle
1091bfa2 5cd0d5be

+12
+1
arch/mips/include/asm/cpu-type.h
··· 79 79 80 80 #ifdef CONFIG_SYS_HAS_CPU_MIPS64_R6 81 81 case CPU_I6400: 82 + case CPU_P6600: 82 83 #endif 83 84 84 85 #ifdef CONFIG_SYS_HAS_CPU_R3000
+1
arch/mips/kernel/cpu-probe.c
··· 539 539 switch (c->cputype) { 540 540 case CPU_PROAPTIV: 541 541 case CPU_P5600: 542 + case CPU_P6600: 542 543 /* proAptiv & related cores use Config6 to enable the FTLB */ 543 544 config = read_c0_config6(); 544 545 /* Clear the old probability value */
+6
arch/mips/kernel/perf_event_mipsxx.c
··· 1556 1556 #endif 1557 1557 break; 1558 1558 case CPU_P5600: 1559 + case CPU_P6600: 1559 1560 case CPU_I6400: 1560 1561 /* 8-bit event numbers */ 1561 1562 raw_id = config & 0x1ff; ··· 1716 1715 break; 1717 1716 case CPU_P5600: 1718 1717 mipspmu.name = "mips/P5600"; 1718 + mipspmu.general_event_map = &mipsxxcore_event_map2; 1719 + mipspmu.cache_event_map = &mipsxxcore_cache_map2; 1720 + break; 1721 + case CPU_P6600: 1722 + mipspmu.name = "mips/P6600"; 1719 1723 mipspmu.general_event_map = &mipsxxcore_event_map2; 1720 1724 mipspmu.cache_event_map = &mipsxxcore_cache_map2; 1721 1725 break;
+1
arch/mips/kernel/spram.c
··· 210 210 case CPU_P5600: 211 211 case CPU_QEMU_GENERIC: 212 212 case CPU_I6400: 213 + case CPU_P6600: 213 214 config0 = read_c0_config(); 214 215 /* FIXME: addresses are Malta specific */ 215 216 if (config0 & (1<<24)) {
+1
arch/mips/kernel/traps.c
··· 1644 1644 case CPU_P5600: 1645 1645 case CPU_QEMU_GENERIC: 1646 1646 case CPU_I6400: 1647 + case CPU_P6600: 1647 1648 { 1648 1649 #define ERRCTL_PE 0x80000000 1649 1650 #define ERRCTL_L2P 0x00800000
+1
arch/mips/mm/c-r4k.c
··· 1285 1285 case CPU_M5150: 1286 1286 case CPU_QEMU_GENERIC: 1287 1287 case CPU_I6400: 1288 + case CPU_P6600: 1288 1289 if (!(read_c0_config7() & MIPS_CONF7_IAR) && 1289 1290 (c->icache.waysize > PAGE_SIZE)) 1290 1291 c->icache.flags |= MIPS_CACHE_ALIASES;
+1
arch/mips/mm/sc-mips.c
··· 141 141 case CPU_P5600: 142 142 case CPU_BMIPS5000: 143 143 case CPU_QEMU_GENERIC: 144 + case CPU_P6600: 144 145 if (config2 & (1 << 12)) 145 146 return 0; 146 147 }