diff --git a/arm11/source/smp.c b/arm11/source/smp.c index f87ebe2..f2d9ab2 100644 --- a/arm11/source/smp.c +++ b/arm11/source/smp.c @@ -31,6 +31,11 @@ static void wait_cycles(unsigned short cycles) static void set_clock(short socmode) { + set_pdn_lgr_socmode(get_pdn_lgr_socmode()); + + if ((get_pdn_lgr_socmode() & 7) == socmode) + return; + set_pdn_lgr_socmode(socmode); // Loop until the ACK bit is set. @@ -95,7 +100,7 @@ static void online_cores23(void) scu_set_cpu_stat(scu_get_cpu_stat() & 0x0F); downclock(); setup_overlays(); - upclock(); + // upclock(); gic_send_swi(2, 2); gic_send_swi(3, 3); }