MIPS: Avoid magic numbers probing kscratch_mask
authorJames Hogan <james.hogan@imgtec.com>
Wed, 11 May 2016 14:50:27 +0000 (15:50 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 13 May 2016 13:30:25 +0000 (15:30 +0200)
The decode_config4() function reads kscratch_mask from
CP0_Config4.KScrExist using a hard coded shift and mask. We already have
a definition for the mask in mipsregs.h, so add a definition for the
shift and make use of them.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/13227/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/mipsregs.h
arch/mips/kernel/cpu-probe.c

index 08864cb..480d515 100644 (file)
 #define MIPS_CONF4_MMUEXTDEF_MMUSIZEEXT (_ULCAST_(1) << 14)
 #define MIPS_CONF4_MMUEXTDEF_FTLBSIZEEXT       (_ULCAST_(2) << 14)
 #define MIPS_CONF4_MMUEXTDEF_VTLBSIZEEXT       (_ULCAST_(3) << 14)
-#define MIPS_CONF4_KSCREXIST   (_ULCAST_(255) << 16)
+#define MIPS_CONF4_KSCREXIST_SHIFT     (16)
+#define MIPS_CONF4_KSCREXIST   (_ULCAST_(255) << MIPS_CONF4_KSCREXIST_SHIFT)
 #define MIPS_CONF4_VTLBSIZEEXT_SHIFT   (24)
 #define MIPS_CONF4_VTLBSIZEEXT (_ULCAST_(15) << MIPS_CONF4_VTLBSIZEEXT_SHIFT)
 #define MIPS_CONF4_AE          (_ULCAST_(1) << 28)
index 45770d8..31c2757 100644 (file)
@@ -801,7 +801,8 @@ static inline unsigned int decode_config4(struct cpuinfo_mips *c)
                }
        }
 
-       c->kscratch_mask = (config4 >> 16) & 0xff;
+       c->kscratch_mask = (config4 & MIPS_CONF4_KSCREXIST)
+                               >> MIPS_CONF4_KSCREXIST_SHIFT;
 
        asid_mask = MIPS_ENTRYHI_ASID;
        if (config4 & MIPS_CONF4_AE)