Commit 3af5a67c authored by Paul Burton's avatar Paul Burton Committed by Ralf Baechle
Browse files

MIPS: Fix early CM probing

Commit c014d164

 ("MIPS: Add platform callback before initializing
the L2 cache") added a platform_early_l2_init function in order to allow
platforms to probe for the CM before L2 initialisation is performed, so
that CM GCRs are available to mips_sc_probe.

That commit actually fails to do anything useful, since it checks
mips_cm_revision to determine whether it should call mips_cm_probe but
the result of mips_cm_revision will always be 0 until mips_cm_probe has
been called. Thus the "early" mips_cm_probe call never occurs.

Fix this & drop the useless weak platform_early_l2_init function by
simply calling mips_cm_probe from setup_arch. For platforms that don't
select CONFIG_MIPS_CM this will be a no-op, and for those that do it
removes the requirement for them to call mips_cm_probe manually
(although doing so isn't harmful for now).

Signed-off-by: default avatarPaul Burton <>
Reviewed-by: default avatarAlexander Sverdlin <>
Cc: Andrzej Hajda <>
Cc: Aaro Koskinen <>
Cc: Masahiro Yamada <>
Cc: Rob Herring <>
Cc: Peter Hurley <>
Cc: Leonid Yegoshin <>
Cc: Jaedon Shin <>
Cc: James Hogan <>
Cc: Jonas Gorski <>
Cc: Markos Chandras <>

Signed-off-by: default avatarRalf Baechle <>
parent e6c058f9
......@@ -782,6 +782,7 @@ static inline void prefill_possible_map(void) {}
void __init setup_arch(char **cmdline_p)
......@@ -181,10 +181,6 @@ static int __init mips_sc_probe_cm3(void)
return 1;
void __weak platform_early_l2_init(void)
static inline int __init mips_sc_probe(void)
struct cpuinfo_mips *c = &current_cpu_data;
......@@ -194,12 +190,6 @@ static inline int __init mips_sc_probe(void)
/* Mark as not present until probe completed */
c->scache.flags |= MIPS_CACHE_NOT_PRESENT;
* Do we need some platform specific probing before
* we configure L2?
if (mips_cm_revision() >= CM_REV_CM3)
return mips_sc_probe_cm3();
......@@ -293,7 +293,6 @@ mips_pci_controller:
/* Early detection of CMP support */
if (!register_cps_smp_ops())
......@@ -304,10 +303,3 @@ mips_pci_controller:
void platform_early_l2_init(void)
/* L2 configuration lives in the CM3 */
if (mips_cm_revision() >= CM_REV_CM3)
Supports Markdown
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