Commit b4720809 authored by Florian Fainelli's avatar Florian Fainelli Committed by Ralf Baechle

MIPS: BMIPS: BMIPS4380 and BMIPS5000 support RIXI

Make BMIPS4380 and BMIPS5000 advertise support for RIXI through
cpu_probe_broadcom(). bmips_cpu_setup() needs to be called shortly after that,
during prom_init() in order to enable the proper Broadcom-specific register to
turn on RIXI and the "rotr" instruction.
Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Cc: john@phrozen.org
Cc: cernekee@gmail.com
Cc: jon.fraser@broadcom.com
Cc: pgynther@google.com
Cc: paul.burton@imgtec.com
Cc: ddaney.cavm@gmail.com
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/12507/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 2e274768
...@@ -1832,6 +1832,7 @@ config CPU_BMIPS4380 ...@@ -1832,6 +1832,7 @@ config CPU_BMIPS4380
select MIPS_L1_CACHE_SHIFT_6 select MIPS_L1_CACHE_SHIFT_6
select SYS_SUPPORTS_SMP select SYS_SUPPORTS_SMP
select SYS_SUPPORTS_HOTPLUG_CPU select SYS_SUPPORTS_HOTPLUG_CPU
select CPU_HAS_RIXI
config CPU_BMIPS5000 config CPU_BMIPS5000
bool bool
...@@ -1839,6 +1840,7 @@ config CPU_BMIPS5000 ...@@ -1839,6 +1840,7 @@ config CPU_BMIPS5000
select MIPS_L1_CACHE_SHIFT_7 select MIPS_L1_CACHE_SHIFT_7
select SYS_SUPPORTS_SMP select SYS_SUPPORTS_SMP
select SYS_SUPPORTS_HOTPLUG_CPU select SYS_SUPPORTS_HOTPLUG_CPU
select CPU_HAS_RIXI
config SYS_HAS_CPU_LOONGSON3 config SYS_HAS_CPU_LOONGSON3
bool bool
......
...@@ -1468,6 +1468,7 @@ static inline void cpu_probe_broadcom(struct cpuinfo_mips *c, unsigned int cpu) ...@@ -1468,6 +1468,7 @@ static inline void cpu_probe_broadcom(struct cpuinfo_mips *c, unsigned int cpu)
c->cputype = CPU_BMIPS4380; c->cputype = CPU_BMIPS4380;
__cpu_name[cpu] = "Broadcom BMIPS4380"; __cpu_name[cpu] = "Broadcom BMIPS4380";
set_elf_platform(cpu, "bmips4380"); set_elf_platform(cpu, "bmips4380");
c->options |= MIPS_CPU_RIXI;
} else { } else {
c->cputype = CPU_BMIPS4350; c->cputype = CPU_BMIPS4350;
__cpu_name[cpu] = "Broadcom BMIPS4350"; __cpu_name[cpu] = "Broadcom BMIPS4350";
...@@ -1483,7 +1484,7 @@ static inline void cpu_probe_broadcom(struct cpuinfo_mips *c, unsigned int cpu) ...@@ -1483,7 +1484,7 @@ static inline void cpu_probe_broadcom(struct cpuinfo_mips *c, unsigned int cpu)
else else
__cpu_name[cpu] = "Broadcom BMIPS5000"; __cpu_name[cpu] = "Broadcom BMIPS5000";
set_elf_platform(cpu, "bmips5000"); set_elf_platform(cpu, "bmips5000");
c->options |= MIPS_CPU_ULRI; c->options |= MIPS_CPU_ULRI | MIPS_CPU_RIXI;
break; break;
} }
} }
......
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