Commit 912708c2 authored by Markos Chandras's avatar Markos Chandras Committed by Ralf Baechle

MIPS: Add default case for the FTLB enable/disable code

Add a default case for the FTLB enable/disable code. This will be used
to detect that something went wrong in the set_ftlb_enable() function
either because that function knows nothing about the running core, or
simply because the core can't turn its FTLB on/off.
Signed-off-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/10650/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent c982c6d6
...@@ -188,7 +188,7 @@ __setup("nohtw", htw_disable); ...@@ -188,7 +188,7 @@ __setup("nohtw", htw_disable);
static int mips_ftlb_disabled; static int mips_ftlb_disabled;
static int mips_has_ftlb_configured; static int mips_has_ftlb_configured;
static void set_ftlb_enable(struct cpuinfo_mips *c, int enable); static int set_ftlb_enable(struct cpuinfo_mips *c, int enable);
static int __init ftlb_disable(char *s) static int __init ftlb_disable(char *s)
{ {
...@@ -202,7 +202,10 @@ static int __init ftlb_disable(char *s) ...@@ -202,7 +202,10 @@ static int __init ftlb_disable(char *s)
return 1; return 1;
/* Disable it in the boot cpu */ /* Disable it in the boot cpu */
set_ftlb_enable(&cpu_data[0], 0); if (set_ftlb_enable(&cpu_data[0], 0)) {
pr_warn("Can't turn FTLB off\n");
return 1;
}
back_to_back_c0_hazard(); back_to_back_c0_hazard();
...@@ -364,7 +367,7 @@ static unsigned int calculate_ftlb_probability(struct cpuinfo_mips *c) ...@@ -364,7 +367,7 @@ static unsigned int calculate_ftlb_probability(struct cpuinfo_mips *c)
return 3; return 3;
} }
static void set_ftlb_enable(struct cpuinfo_mips *c, int enable) static int set_ftlb_enable(struct cpuinfo_mips *c, int enable)
{ {
unsigned int config6; unsigned int config6;
...@@ -386,7 +389,11 @@ static void set_ftlb_enable(struct cpuinfo_mips *c, int enable) ...@@ -386,7 +389,11 @@ static void set_ftlb_enable(struct cpuinfo_mips *c, int enable)
/* Disable FTLB */ /* Disable FTLB */
write_c0_config6(config6 & ~MIPS_CONF6_FTLBEN); write_c0_config6(config6 & ~MIPS_CONF6_FTLBEN);
break; break;
default:
return 1;
} }
return 0;
} }
static inline unsigned int decode_config0(struct cpuinfo_mips *c) static inline unsigned int decode_config0(struct cpuinfo_mips *c)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment