Quote:
Originally Posted by manekineko
What was the cause of the issue?
|
Normally, the PLL2 clock is setup to run at 1056mhz and divided by 2 for the regular 528mhz top speed of the cpu. The max speed of PLL2 is 1200mhz, so if a 2 divider is used, the max frequency possible is 600mhz. So for overclocking, we skip the divider and use the frequency directly so that frequencies above 600mhz are possible.
It appears that in the deeper sleep modes, the clocks are automatically being shut down and powered up again on wake up. The wakeup assumes that PLL2 should be brought back up to 1056mhz and does not reset the divider back to 2, so the cpu is trying to run at 1056mhz which will obviously not work.
The fix checks that PLL2 is being run at the frequency we expect at wakeup or whenever the cpu frequency is changed, and corrects if necessary.