58 lines
1.6 KiB
Diff
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
|
|
|