diff options
Diffstat (limited to 'arch/mips/kernel/cpu-probe.c')
| -rw-r--r-- | arch/mips/kernel/cpu-probe.c | 13 | 
1 files changed, 6 insertions, 7 deletions
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c index 6bfccc227a9..5fe66a0c322 100644 --- a/arch/mips/kernel/cpu-probe.c +++ b/arch/mips/kernel/cpu-probe.c @@ -580,6 +580,9 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c, unsigned int cpu)  		c->tlbsize = 48;  		break;  	case PRID_IMP_VR41XX: +		set_isa(c, MIPS_CPU_ISA_III); +		c->options = R4K_OPTS; +		c->tlbsize = 32;  		switch (c->processor_id & 0xf0) {  		case PRID_REV_VR4111:  			c->cputype = CPU_VR4111; @@ -604,6 +607,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c, unsigned int cpu)  				__cpu_name[cpu] = "NEC VR4131";  			} else {  				c->cputype = CPU_VR4133; +				c->options |= MIPS_CPU_LLSC;  				__cpu_name[cpu] = "NEC VR4133";  			}  			break; @@ -613,9 +617,6 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c, unsigned int cpu)  			__cpu_name[cpu] = "NEC Vr41xx";  			break;  		} -		set_isa(c, MIPS_CPU_ISA_III); -		c->options = R4K_OPTS; -		c->tlbsize = 32;  		break;  	case PRID_IMP_R4300:  		c->cputype = CPU_R4300; @@ -1226,10 +1227,8 @@ __cpuinit void cpu_probe(void)  	if (c->options & MIPS_CPU_FPU) {  		c->fpu_id = cpu_get_fpu_id(); -		if (c->isa_level == MIPS_CPU_ISA_M32R1 || -		    c->isa_level == MIPS_CPU_ISA_M32R2 || -		    c->isa_level == MIPS_CPU_ISA_M64R1 || -		    c->isa_level == MIPS_CPU_ISA_M64R2) { +		if (c->isa_level & (MIPS_CPU_ISA_M32R1 | MIPS_CPU_ISA_M32R2 | +				    MIPS_CPU_ISA_M64R1 | MIPS_CPU_ISA_M64R2)) {  			if (c->fpu_id & MIPS_FPIR_3D)  				c->ases |= MIPS_ASE_MIPS3D;  		}  |