黄涛
dbc0fca461
sched: Cleanup cpu_active madness
...
commit 5fbd036b55 upstream.
Stepan found:
CPU0 CPUn
_cpu_up()
__cpu_up()
boostrap()
notify_cpu_starting()
set_cpu_online()
while (!cpu_active())
cpu_relax()
<PREEMPT-out>
smp_call_function(.wait=1)
/* we find cpu_online() is true */
arch_send_call_function_ipi_mask()
/* wait-forever-more */
<PREEMPT-in>
local_irq_enable()
cpu_notify(CPU_ONLINE)
sched_cpu_active()
set_cpu_active()
Now the purpose of cpu_active is mostly with bringing down a cpu, where
we mark it !active to avoid the load-balancer from moving tasks to it
while we tear down the cpu. This is required because we only update the
sched_domain tree after we brought the cpu-down. And this is needed so
that some tasks can still run while we bring it down, we just don't want
new tasks to appear.
On cpu-up however the sched_domain tree doesn't yet include the new cpu,
so its invisible to the load-balancer, regardless of the active state.
So instead of setting the active state after we boot the new cpu (and
consequently having to wait for it before enabling interrupts) set the
cpu active before we set it online and avoid the whole mess.
2012-07-12 09:49:51 +08:00
黄涛
8215d8fbbf
rk30: cpufreq: prevent deadlock by disable call get_online_cpus
...
The deadlock happens when:
rk30_cpufreq_temp_limit_work_func:
cpufreq_driver_target
lock_policy_rwsem_write
mutex_lock(&cpufreq_mutex)
cpufreq_interactive_up_task:
mutex_lock(&cpufreq_mutex)
mutex_lock(&cpu_hotplug.lock)
_cpu_down:
mutex_lock(&cpu_hotplug.lock)
lock_policy_rwsem_write
2012-07-12 09:49:51 +08:00
黄涛
9100f92c1f
rk: fiq_debugger: better support cpu cmd, never switch when target cpu is offline
2012-07-12 09:49:51 +08:00
黄涛
da66e13f0c
rk: add RK_CLOCK_PROC config, disable /proc/clocks by default
2012-07-11 14:54:48 +08:00
陈辉
83e84ca2ed
add arm-eabi-4.4.3 toolchain
2012-07-11 00:35:20 +08:00
kfx
fdf7df16f3
i2c: 'move rk30_i2c_platform_data from mach-rk30 to plat-rk' and 'disable i2c4 select on rk2928'
2012-07-10 14:55:11 +08:00
黄涛
0b821e09a8
rk: add RK_PL330_DMA config
2012-07-10 13:07:59 +08:00
赵子初
9f1e202b42
add mt6229 for rk30
2012-07-10 11:23:13 +08:00
许盛飞
a823ab919a
rk30 ☎️ the bug of charge_display
2012-07-09 20:01:42 +08:00
赵子初
edd704202a
add mw100 for rk30
2012-07-09 15:50:25 +08:00
赵子初
c4370f4587
add mu509 for rk30
2012-07-09 15:15:54 +08:00
zwp
9c0c1755b7
add twl60xx low battery detection function at rk30_phone_defconfig.
2012-07-09 10:55:20 +08:00
yangkai
b61b9880f0
hcd nonper channel problem & suspend when no device connect
2012-07-09 10:41:30 +08:00
zwp
9d19ca3097
add charge display function at rk30_phone_defconfig.
2012-07-09 10:06:32 +08:00
许盛飞
a6fd7f7fb5
rk30:sdk:change load order order
2012-07-09 10:01:02 +08:00
hhb
56b9a8b3cd
camera:modify ov5640_for_td8801.c
2012-07-09 09:55:52 +08:00
张晴
30d38160f8
rk30:phone:support pmic tps80032 vbat low detection,support pmic tps80032 early suspend
2012-07-09 09:49:32 +08:00
许盛飞
9e94d2b544
rk30:sdk: update power calculation method
2012-07-06 18:02:17 +08:00
zsq
a0a99a29ca
del rga dump for bug fix
2012-07-06 17:51:20 +08:00
chenxing
54f6c42e54
Revert "rk30:sdk: store clock request frequency and auto scale frequency when limit clock frequency"
...
This reverts commit f0a1404739 .
2012-07-06 15:18:14 +08:00
chenxing
f0a1404739
rk30:sdk: store clock request frequency and auto scale frequency when limit clock frequency
2012-07-06 15:09:02 +08:00
许盛飞
33212cdac1
rk30: not gating the gpios clock
2012-07-05 19:51:52 +08:00
chenxing
ab054a330f
rk30:sdk: protect variable and function
2012-07-05 19:24:10 +08:00
chenxing
3c9e537ef5
rk30:sdk: get avs value under logic 1.1V
2012-07-05 19:02:42 +08:00
chenxing
4d2ccc2bdc
rk30:sdk add interface of avs function and interface to see dvfs tree(/sys/dvfs/dvfs_tree)
2012-07-05 18:28:18 +08:00
huangdesheng
79e6d3223a
revise rga code err
2012-07-05 18:17:17 +08:00
黄涛
5fd4c12616
rk: plat: entry-macro.S use GIC_CPU_BASE macro
2012-07-05 18:11:37 +08:00
huangdesheng
6c68734667
add rga version
2012-07-05 17:47:06 +08:00
黄涛
f8dbfea945
rk: move fiq.c from mach-rk30 to plat-rk
...
add GIC_DIST_BASE, GIC_CPU_BASE, IRQ_DEBUG_UART macro
rename rk30_fiq_init to rk_fiq_init
2012-07-05 17:20:02 +08:00
许盛飞
5114a79469
rk30:sdk: add lowpower check
2012-07-05 16:45:17 +08:00
许盛飞
f40781fe3e
rk30:sdk: add wakelock when charging
2012-07-04 17:46:35 +08:00
chenxing
a44982e459
rk30:sdk: add GPU frequency limit between 133MHz to 400MHz
2012-07-04 17:23:30 +08:00
黄涛
4e5be952a4
rk: plat: add io.h
2012-07-03 10:40:52 +08:00
hhb
2713d0757c
DMA: rk29-pl330.c add new argument 'id' to pl330_request_channel() where it is invoked
2012-07-03 10:21:36 +08:00
黄涛
333872c371
rk: plat: add memory.h
2012-07-03 10:20:28 +08:00
hhb
a93d6edd37
DMA: dma-pl330.c add new argument 'id' to pl330_request_channel() where it is invoked
2012-07-03 10:13:57 +08:00
kfx
e81b40dae0
adc drivers: add comments
2012-07-03 10:03:23 +08:00
hhb
8eff7dd2a6
DMA :pl330.c add new argument 'id' to pl330_request_channel()
2012-07-03 09:54:00 +08:00
黄涛
9fe17ed4a2
rk: plat: add gpio.h
2012-07-02 20:41:37 +08:00
黄涛
b13e4b9414
rk: move fiq.h from mach-rk30 to plat-rk
2012-07-02 20:18:56 +08:00
黄涛
bbfd2efb43
rk: move system.h from mach-rk30 to plat-rk
2012-07-02 19:57:53 +08:00
黄涛
00077a7819
rk: move clkdev.h debug-macro.S entry-macro.S timex.h uncompress.h from mach-rk30 to plat-rk
2012-07-02 19:48:45 +08:00
黄涛
99c22a6fd5
rk30: cpufreq: support build with non-SMP config
2012-07-02 17:07:06 +08:00
hhb
39c2c12ab8
camera: modify ov5640 driver for phone
2012-06-30 16:10:26 +08:00
蓝斌元
301833b9f6
Revert "fix spi driver's bug while dma recieving"
...
This reverts commit b01b358f83 .
2012-06-29 11:10:30 +08:00
gwl
86cb5e4e16
add broadcom OOB function resource,current is not used
2012-06-28 11:31:18 +08:00
黄涛
9a0dc7c04e
rk30: timer: try fix asynchronous read timer, return value may undefined
2012-06-28 11:20:41 +08:00
hhb
4bd540fa8b
rk30 : DMA: add move DMA microcode from DDR to SRAM
2012-06-27 19:08:37 +08:00
chenxing
31abdc88ce
rk30: add retry after dvfs set voltage error, and check voltage value to make sure if it realy failed
2012-06-27 16:35:40 +08:00
chenxing
c187c76560
rk30: record arm voltage value before dvfs start
2012-06-27 16:23:31 +08:00