diff options
author | Christian Neumüller <cn00@gmx.at> | 2015-12-15 14:51:23 +0100 |
---|---|---|
committer | Caio Schnepper <caioschnepper@gmail.com> | 2016-02-05 12:34:47 -0800 |
commit | 43eae3bb1ab429b1b88bd8c8558b685987f09521 (patch) | |
tree | baa0f5e872834ab7332230d056ed4f117f135cde /drivers/net/wireless/bcmdhd/include/sbsdpcmdev.h | |
parent | 27e5503365652148d4c8b147043ccb638eaa1090 (diff) | |
download | kernel_samsung_smdk4412-43eae3bb1ab429b1b88bd8c8558b685987f09521.zip kernel_samsung_smdk4412-43eae3bb1ab429b1b88bd8c8558b685987f09521.tar.gz kernel_samsung_smdk4412-43eae3bb1ab429b1b88bd8c8558b685987f09521.tar.bz2 |
cpuidle-exynos4: Don't get stuck at 150 MHz.
The following scenario leads to the i9100 getting stuck at 150 MHz:
1. Initially, only CPU0 is online.
2. CPU0 starts to bring CPU1 online.
3. CPU0 is waiting for CPU1 to come online, and meanwhile enters idle. Since it
is the only online CPU, it lowers the CPU speed to save power.
4. CPU1 goes online (NOTE: While CPU0 is still idling!)
Note that local_irq_disable does not help here because CPU1 could
already be starting up (most_likely idle could be entered on CPU0 while in
"wait_for_completion_timeout(&cpu_running, ...)" in arch/arm/kernel/smp.c:126.
This patch treats CPUs as online ("onlining") as soon as the CPU_UP_PREPARE
notifier is fired.
Change-Id: I7964ec3ea79084c3050db79d7d6c89db9f378326
(cherry picked from commit c96e5ebbfa00c07a7867b68799ac4c24a7a1535f)
Diffstat (limited to 'drivers/net/wireless/bcmdhd/include/sbsdpcmdev.h')
0 files changed, 0 insertions, 0 deletions