MIPS: Allow FTLB to be turned on for CPU_P5600
authorJames Hogan <james.hogan@imgtec.com>
Wed, 22 Jan 2014 16:19:40 +0000 (16:19 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 26 Mar 2014 22:09:11 +0000 (23:09 +0100)
Allow FTLB to be turned on or off for CPU_P5600 as well as CPU_PROAPTIV.
The existing if statement is converted into a switch to allow for future
expansion.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Reviewed-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/6411/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/cpu-probe.c

index 0b9bbcb64afdec8a2432e12811fb690a7856de65..ee5de360636ddf61767b63b75b6341494868db12 100644 (file)
@@ -181,11 +181,12 @@ static char unknown_isa[] = KERN_ERR \
 static void set_ftlb_enable(struct cpuinfo_mips *c, int enable)
 {
        unsigned int config6;
-       /*
-        * Config6 is implementation dependent and it's currently only
-        * used by proAptiv
-        */
-       if (c->cputype == CPU_PROAPTIV) {
+
+       /* It's implementation dependent how the FTLB can be enabled */
+       switch (c->cputype) {
+       case CPU_PROAPTIV:
+       case CPU_P5600:
+               /* proAptiv & related cores use Config6 to enable the FTLB */
                config6 = read_c0_config6();
                if (enable)
                        /* Enable FTLB */
@@ -194,6 +195,7 @@ static void set_ftlb_enable(struct cpuinfo_mips *c, int enable)
                        /* Disable FTLB */
                        write_c0_config6(config6 &  ~MIPS_CONF6_FTLBEN);
                back_to_back_c0_hazard();
+               break;
        }
 }