linux/debian/patches/bugfix/mips/mips-Change-mips_sc_is_acti...

58 lines
1.6 KiB
Diff

From 88f98365032251a826760b3ce8102bb9a7967c69 Mon Sep 17 00:00:00 2001
From: Ben Hutchings <ben@decadent.org.uk>
Date: Fri, 10 Dec 2010 02:52:35 +0000
Subject: [PATCH 4/4] mips: Change mips_sc_is_activated() to do what the comment says
Add the necessary parameter for mips_sc_is_activated() to compile.
Move the cache.linesz initialisation up into mips_sc_probe().
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
arch/mips/mm/sc-mips.c | 16 +++++++++-------
1 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/arch/mips/mm/sc-mips.c b/arch/mips/mm/sc-mips.c
index 505feca..6b513bf 100644
--- a/arch/mips/mm/sc-mips.c
+++ b/arch/mips/mm/sc-mips.c
@@ -66,7 +66,7 @@ static struct bcache_ops mips_sc_ops = {
* 12..15 as implementation defined so below function will eventually have
* to be replaced by a platform specific probe.
*/
-static inline int mips_sc_is_activated(struct cpuinfo_mips *c)
+static inline int mips_sc_is_activated(struct cpuinfo_mips *c, unsigned config2)
{
/* Check the bypass bit (L2B) */
switch (c->cputype) {
@@ -78,11 +78,7 @@ static inline int mips_sc_is_activated(struct cpuinfo_mips *c)
return 0;
}
- tmp = (config2 >> 4) & 0x0f;
- if (0 < tmp && tmp <= 7)
- c->scache.linesz = 2 << tmp;
- else
- return 0;
+ return 1;
}
static inline int __init mips_sc_probe(void)
@@ -108,7 +104,13 @@ static inline int __init mips_sc_probe(void)
config2 = read_c0_config2();
- if (!mips_sc_is_activated(c))
+ if (!mips_sc_is_activated(c, config2))
+ return 0;
+
+ tmp = (config2 >> 4) & 0x0f;
+ if (0 < tmp && tmp <= 7)
+ c->scache.linesz = 2 << tmp;
+ else
return 0;
tmp = (config2 >> 8) & 0x0f;
--
1.7.2.3