黄涛 [Mon, 16 Jul 2012 06:25:38 +0000 (14:25 +0800)]
rk: cpufreq_stats.c: fix boot time crash
fix this bug:
[ 2.300817] Unable to handle kernel NULL pointer dereference at virtual address
00000000
[ 2.308902] pgd =
c0404000
[ 2.311615] [
00000000] *pgd=
00000000
[ 2.315198] Internal error: Oops: 5 [#1] PREEMPT SMP
[ 2.320157] CPU: 1 Not tainted (3.0.8+ #70)
[ 2.324689] PC is at cpufreq_stat_notifier_trans+0x40/0xa8
[ 2.330169] LR is at notifier_call_chain+0x2c/0x70
[ 2.334954] pc : [<
c06ce1d4>] lr : [<
c0481440>] psr:
80000013
[ 2.334959] sp :
eee47e50 ip :
c0a13104 fp :
30a32c00
[ 2.346424] r10:
eee47ec8 r9 :
00118c30 r8 :
00000000
[ 2.351641] r7 :
fffffffc r6 :
00000000 r5 :
ed8c1d80 r4 :
00000000
[ 2.358158] r3 :
00000009 r2 :
000f6180 r1 :
00000000 r0 :
00000000
[ 2.364678] Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
[ 2.371976] Control:
10c53c7d Table:
6040404a DAC:
00000015
[ 2.377712]
[ 2.924838] [<
c06ce1d4>] (cpufreq_stat_notifier_trans+0x40/0xa8) from [<
c0481440>] (notifier_call_chain+0x2c/0x70)
[ 2.935178] [<
c0481440>] (notifier_call_chain+0x2c/0x70) from [<
c04815a0>] (__srcu_notifier_call_chain+0x40/0x58)
[ 2.945430] [<
c04815a0>] (__srcu_notifier_call_chain+0x40/0x58) from [<
c04815cc>] (srcu_notifier_call_chain+0x14/0x18)
[ 2.956115] [<
c04815cc>] (srcu_notifier_call_chain+0x14/0x18) from [<
c06cccd8>] (cpufreq_notify_transition+0xb4/0xe8)
[ 2.966721] [<
c06cccd8>] (cpufreq_notify_transition+0xb4/0xe8) from [<
c044b584>] (cpufreq_scale_rate_for_dvfs+0x10c/0x164)
[ 2.977755] [<
c044b584>] (cpufreq_scale_rate_for_dvfs+0x10c/0x164) from [<
c044cb94>] (dvfs_target_cpu+0x378/0x67c)
[ 2.988093] [<
c044cb94>] (dvfs_target_cpu+0x378/0x67c) from [<
c044c1dc>] (dvfs_set_rate+0x48/0x68)
[ 2.997044] [<
c044c1dc>] (dvfs_set_rate+0x48/0x68) from [<
c044b1f0>] (rk30_target+0x1a8/0x200)
[ 3.005648] [<
c044b1f0>] (rk30_target+0x1a8/0x200) from [<
c06cbff0>] (__cpufreq_driver_target+0x4c/0x60)
[ 3.015121] [<
c06cbff0>] (__cpufreq_driver_target+0x4c/0x60) from [<
c06d05ec>] (cpufreq_interactive_up_task+0x128/0x184)
[ 3.025981] [<
c06d05ec>] (cpufreq_interactive_up_task+0x128/0x184) from [<
c047c3d0>] (kthread+0x80/0x88)
[ 3.035453] [<
c047c3d0>] (kthread+0x80/0x88) from [<
c04375f8>] (kernel_thread_exit+0x0/0x8)
[ 3.043796] Code:
e5956018 e5953010 ea000004 e5951020 (
e7911104)
黄涛 [Mon, 16 Jul 2012 02:23:39 +0000 (10:23 +0800)]
Revert "rk30: clock: disable pd_vio gating function before rga, lcdc, cif support properly"
This reverts commit
2186d7743ad119ca8b5eea702970463fe4aba3df.
yxj [Sat, 14 Jul 2012 10:56:34 +0000 (18:56 +0800)]
rkfb:add three buffer support for menuconfig,redefine FBIOPUT_NUM_BUFFERS 0x4625
yxj [Sat, 14 Jul 2012 09:14:33 +0000 (17:14 +0800)]
rkfb:add ioctl to get buffers number
yxj [Sat, 14 Jul 2012 07:12:34 +0000 (15:12 +0800)]
turn of lcdc power domain and clk in earyl suspend
root [Sat, 14 Jul 2012 02:07:45 +0000 (10:07 +0800)]
fix bugs of early suspend when display_pd is closed.
黄涛 [Fri, 13 Jul 2012 06:56:27 +0000 (14:56 +0800)]
rk: move CLK_SWITCH_TO_32K config from mach-rk30 to plat-rk
yxj [Fri, 13 Jul 2012 04:17:00 +0000 (12:17 +0800)]
rkfb:use macro HDMI_HPD_ACTIVED to judge HDMI plug or not
yxj [Thu, 3 May 2012 01:37:28 +0000 (09:37 +0800)]
rk30fb :fix a bug in rk_fb_switch_screeen
after close lcdc the hdmi used ,return directly
黄涛 [Fri, 13 Jul 2012 03:44:33 +0000 (11:44 +0800)]
rk30: ddr.c: always compile with Os, else may hung on boot
chenhui [Fri, 13 Jul 2012 01:50:32 +0000 (09:50 +0800)]
update arm and logic voltage,
from product experiment
Zheng Yang [Thu, 12 Jul 2012 09:31:05 +0000 (17:31 +0800)]
rk30 hdmi: lower ddc frequency to pass hdmi cts.
zwp [Thu, 12 Jul 2012 02:11:07 +0000 (10:11 +0800)]
solve gsensor deadlock problem.
黄涛 [Thu, 12 Jul 2012 01:46:55 +0000 (09:46 +0800)]
sched: Cleanup cpu_active madness
commit
5fbd036b552f633abb394a319f7c62a5c86a9cd7 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.
黄涛 [Thu, 12 Jul 2012 01:31:21 +0000 (09:31 +0800)]
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
黄涛 [Thu, 12 Jul 2012 01:30:38 +0000 (09:30 +0800)]
rk: fiq_debugger: better support cpu cmd, never switch when target cpu is offline
黄涛 [Wed, 11 Jul 2012 06:53:45 +0000 (14:53 +0800)]
rk: add RK_CLOCK_PROC config, disable /proc/clocks by default
陈辉 [Tue, 10 Jul 2012 16:35:20 +0000 (00:35 +0800)]
add arm-eabi-4.4.3 toolchain
kfx [Tue, 10 Jul 2012 06:55:11 +0000 (14:55 +0800)]
i2c: 'move rk30_i2c_platform_data from mach-rk30 to plat-rk' and 'disable i2c4 select on rk2928'
黄涛 [Tue, 10 Jul 2012 05:07:39 +0000 (13:07 +0800)]
rk: add RK_PL330_DMA config
赵子初 [Tue, 10 Jul 2012 03:22:48 +0000 (11:22 +0800)]
add mt6229 for rk30
许盛飞 [Mon, 9 Jul 2012 12:01:42 +0000 (20:01 +0800)]
rk30:phone: the bug of charge_display
赵子初 [Mon, 9 Jul 2012 07:50:25 +0000 (15:50 +0800)]
add mw100 for rk30
赵子初 [Mon, 9 Jul 2012 07:15:54 +0000 (15:15 +0800)]
add mu509 for rk30
zwp [Mon, 9 Jul 2012 02:53:23 +0000 (10:53 +0800)]
add twl60xx low battery detection function at rk30_phone_defconfig.
yangkai [Mon, 9 Jul 2012 02:41:30 +0000 (10:41 +0800)]
hcd nonper channel problem & suspend when no device connect
zwp [Mon, 9 Jul 2012 02:05:30 +0000 (10:05 +0800)]
add charge display function at rk30_phone_defconfig.
许盛飞 [Mon, 9 Jul 2012 02:01:02 +0000 (10:01 +0800)]
rk30:sdk:change load order order
hhb [Mon, 9 Jul 2012 01:55:52 +0000 (09:55 +0800)]
camera:modify ov5640_for_td8801.c
张晴 [Mon, 9 Jul 2012 01:49:32 +0000 (09:49 +0800)]
rk30:phone:support pmic tps80032 vbat low detection,support pmic tps80032 early suspend
许盛飞 [Fri, 6 Jul 2012 10:02:17 +0000 (18:02 +0800)]
rk30:sdk: update power calculation method
zsq [Fri, 6 Jul 2012 09:51:20 +0000 (17:51 +0800)]
del rga dump for bug fix
chenxing [Fri, 6 Jul 2012 07:18:14 +0000 (15:18 +0800)]
Revert "rk30:sdk: store clock request frequency and auto scale frequency when limit clock frequency"
This reverts commit
f0a1404739d7e0e63e8e2745bf92af10faeb0fc4.
chenxing [Fri, 6 Jul 2012 07:09:02 +0000 (15:09 +0800)]
rk30:sdk: store clock request frequency and auto scale frequency when limit clock frequency
许盛飞 [Thu, 5 Jul 2012 11:51:52 +0000 (19:51 +0800)]
rk30: not gating the gpios clock
chenxing [Thu, 5 Jul 2012 11:24:10 +0000 (19:24 +0800)]
rk30:sdk: protect variable and function
chenxing [Thu, 5 Jul 2012 11:02:42 +0000 (19:02 +0800)]
rk30:sdk: get avs value under logic 1.1V
chenxing [Thu, 5 Jul 2012 10:28:18 +0000 (18:28 +0800)]
rk30:sdk add interface of avs function and interface to see dvfs tree(/sys/dvfs/dvfs_tree)
huangdesheng [Thu, 5 Jul 2012 10:17:17 +0000 (18:17 +0800)]
revise rga code err
黄涛 [Thu, 5 Jul 2012 10:11:15 +0000 (18:11 +0800)]
rk: plat: entry-macro.S use GIC_CPU_BASE macro
huangdesheng [Thu, 5 Jul 2012 09:47:06 +0000 (17:47 +0800)]
add rga version
黄涛 [Thu, 5 Jul 2012 09:16:55 +0000 (17:16 +0800)]
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
许盛飞 [Thu, 5 Jul 2012 08:45:17 +0000 (16:45 +0800)]
rk30:sdk: add lowpower check
许盛飞 [Wed, 4 Jul 2012 09:46:35 +0000 (17:46 +0800)]
rk30:sdk: add wakelock when charging
chenxing [Wed, 4 Jul 2012 09:23:30 +0000 (17:23 +0800)]
rk30:sdk: add GPU frequency limit between 133MHz to 400MHz
黄涛 [Tue, 3 Jul 2012 02:40:29 +0000 (10:40 +0800)]
rk: plat: add io.h
hhb [Tue, 3 Jul 2012 02:21:05 +0000 (10:21 +0800)]
DMA: rk29-pl330.c add new argument 'id' to pl330_request_channel() where it is invoked
黄涛 [Tue, 3 Jul 2012 02:20:19 +0000 (10:20 +0800)]
rk: plat: add memory.h
hhb [Tue, 3 Jul 2012 02:12:12 +0000 (10:12 +0800)]
DMA: dma-pl330.c add new argument 'id' to pl330_request_channel() where it is invoked
kfx [Tue, 3 Jul 2012 02:03:23 +0000 (10:03 +0800)]
adc drivers: add comments
hhb [Tue, 3 Jul 2012 01:54:00 +0000 (09:54 +0800)]
DMA :pl330.c add new argument 'id' to pl330_request_channel()
黄涛 [Mon, 2 Jul 2012 12:41:37 +0000 (20:41 +0800)]
rk: plat: add gpio.h
黄涛 [Mon, 2 Jul 2012 12:18:56 +0000 (20:18 +0800)]
rk: move fiq.h from mach-rk30 to plat-rk
黄涛 [Mon, 2 Jul 2012 11:57:53 +0000 (19:57 +0800)]
rk: move system.h from mach-rk30 to plat-rk
黄涛 [Mon, 2 Jul 2012 11:48:45 +0000 (19:48 +0800)]
rk: move clkdev.h debug-macro.S entry-macro.S timex.h uncompress.h from mach-rk30 to plat-rk
黄涛 [Mon, 2 Jul 2012 09:07:06 +0000 (17:07 +0800)]
rk30: cpufreq: support build with non-SMP config
hhb [Sat, 30 Jun 2012 08:10:26 +0000 (16:10 +0800)]
camera: modify ov5640 driver for phone
蓝斌元 [Fri, 29 Jun 2012 03:10:30 +0000 (11:10 +0800)]
Revert "fix spi driver's bug while dma recieving"
This reverts commit
b01b358f83249ee24bc26232ee3afed5e5e6feec.
gwl [Thu, 28 Jun 2012 03:31:18 +0000 (11:31 +0800)]
add broadcom OOB function resource,current is not used
黄涛 [Thu, 28 Jun 2012 03:17:55 +0000 (11:17 +0800)]
rk30: timer: try fix asynchronous read timer, return value may undefined
hhb [Wed, 27 Jun 2012 11:08:37 +0000 (19:08 +0800)]
rk30 : DMA: add move DMA microcode from DDR to SRAM
chenxing [Wed, 27 Jun 2012 08:35:40 +0000 (16:35 +0800)]
rk30: add retry after dvfs set voltage error, and check voltage value to make sure if it realy failed
chenxing [Wed, 27 Jun 2012 08:23:31 +0000 (16:23 +0800)]
rk30: record arm voltage value before dvfs start
root [Wed, 27 Jun 2012 02:55:42 +0000 (10:55 +0800)]
camera rk30: rk_camera_querycap func has bug of quering orintation.
zwp [Wed, 27 Jun 2012 02:11:49 +0000 (10:11 +0800)]
solve the problem we should push power button twice when device resume.
lw@rock-chips.com [Tue, 26 Jun 2012 12:18:36 +0000 (20:18 +0800)]
fix spi driver's bug while dma recieving
ddl [Tue, 26 Jun 2012 09:18:02 +0000 (17:18 +0800)]
camera rk29: fix error when calculate crop left-top point coordinate, version update to v0.x.d
xxx [Tue, 26 Jun 2012 06:14:07 +0000 (23:14 -0700)]
gpll support 300M
zwp [Tue, 26 Jun 2012 01:05:38 +0000 (09:05 +0800)]
modify tdsc8800 bug.
Zheng Yang [Mon, 25 Jun 2012 11:52:31 +0000 (19:52 +0800)]
rk30 hdmi:
1. Fix HDMI 480P video parameter setting error.
2. Print EDID data when debug is enabled.
hhb [Mon, 25 Jun 2012 03:39:56 +0000 (11:39 +0800)]
rk30 phone: camera update ov5640_for_td8801.c
hhb [Mon, 25 Jun 2012 03:39:29 +0000 (11:39 +0800)]
rk30 phone: camera config :change back camera from ov5640.c to ov5640_for_td8801.c
zsq [Thu, 21 Jun 2012 03:00:01 +0000 (11:00 +0800)]
Merge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into develop-3.0
zsq [Thu, 21 Jun 2012 02:59:25 +0000 (10:59 +0800)]
fix rga prescale mode mem leak
张晴 [Thu, 21 Jun 2012 02:58:35 +0000 (10:58 +0800)]
rk30:sdk:Single battery of low-power detection by wm8326
yangkai [Wed, 20 Jun 2012 09:12:48 +0000 (17:12 +0800)]
diasble host2.0 if no device connect, fix a pcd disconnect bug
yangkai [Wed, 20 Jun 2012 08:45:20 +0000 (16:45 +0800)]
down the power consume in suspend state with 100ohm between diff CLK
蓝斌元 [Wed, 20 Jun 2012 08:26:37 +0000 (16:26 +0800)]
sc8803: update sc8800.c
lw [Wed, 20 Jun 2012 07:20:39 +0000 (15:20 +0800)]
add spi bus test code
lw@rock-chips.com [Wed, 20 Jun 2012 04:02:50 +0000 (12:02 +0800)]
modify gsensor lis3dh active function
Zheng Yang [Tue, 19 Jun 2012 08:52:47 +0000 (16:52 +0800)]
rk30 hdmi:
add CONFIG_HDMI_RK30_CTL_CODEC to enable control codec:
When HDMI inserted, mute codec analog output;
When HDMI removed, unmute codec analog output.
lw@rock-chips.com [Tue, 19 Jun 2012 06:13:24 +0000 (14:13 +0800)]
modify temperature Kconfig
kfx [Tue, 19 Jun 2012 02:07:08 +0000 (10:07 +0800)]
update adc drivers: fix: 'adc get value timeout' and 'adc get zero, but voltage is NOT zero'
zwp [Mon, 18 Jun 2012 03:53:38 +0000 (11:53 +0800)]
disable usb host2.0 to save power when early suspend.
lw@rock-chips.com [Fri, 15 Jun 2012 12:52:40 +0000 (20:52 +0800)]
fix sensor stk3171's problem
zwp [Fri, 15 Jun 2012 02:37:40 +0000 (10:37 +0800)]
disable psensor temporarily because psensor is barricaded by mold.
许盛飞 [Fri, 15 Jun 2012 02:25:25 +0000 (10:25 +0800)]
phone :RK30:phone: the bug of battery indicator
xxx [Wed, 13 Jun 2012 21:23:54 +0000 (14:23 -0700)]
gpll support 300mhz for vmac,arm can selelt between apll\gpll
lw [Thu, 14 Jun 2012 11:15:04 +0000 (19:15 +0800)]
fix compass akm8975 bug:data not ready
chenxing [Thu, 14 Jun 2012 10:34:45 +0000 (18:34 +0800)]
rk30:sdk: add interface of dvfs frequency limit
chenxing [Thu, 14 Jun 2012 10:22:16 +0000 (18:22 +0800)]
rk30:sdk: fix gpu round frequency error when the same rate
chenxing [Thu, 14 Jun 2012 08:01:00 +0000 (16:01 +0800)]
rk30:sdk: add interface to freeze cpufreq when earlysuspend
lw@rock-chips.com [Thu, 14 Jun 2012 07:40:00 +0000 (15:40 +0800)]
add lis3dh sensor driver code support
chenxing [Thu, 14 Jun 2012 07:02:46 +0000 (15:02 +0800)]
rk30:sdk: dvfs add interface "struct regulator* dvfs_get_regulator(char *regulator_name)" to get dvfs regulator by regulator name
lw [Thu, 14 Jun 2012 04:09:33 +0000 (12:09 +0800)]
rk30_sdk:modify sensor config
lw [Thu, 14 Jun 2012 02:41:04 +0000 (10:41 +0800)]
rk30_sdk:use new sensors driver
lw [Wed, 13 Jun 2012 10:56:56 +0000 (18:56 +0800)]
rk30_phone_loquat:use new sensors driver
lw@rock-chips.com [Wed, 13 Jun 2012 10:53:31 +0000 (18:53 +0800)]
modify al3006 active function
黄涛 [Wed, 13 Jun 2012 09:04:51 +0000 (17:04 +0800)]
dma-pl330: avoid double call _finish_off
fix this bug:
BUG rk29-pl330.1: Object already free
-----------------------------------------------------------------------------
INFO: Allocated in rk29_dma_enqueue+0x9c/0x430 age=4 cpu=0 pid=1517
INFO: Freed in rk29_dma_ctrl+0x5dc/0x7f4 age=0 cpu=1 pid=741
INFO: Slab 0xc1ba2ca0 objects=51 used=43 fp=0xdf6e5780 flags=0x0081
INFO: Object 0xdf6e5780 @offset=1920 fp=0xdf6e5870
Bytes b4 0xdf6e5770: 00 00 00 00 32 d1 ff ff 5a 5a 5a 5a 5a 5a 5a 5a ....2???ZZZZZZZZ
Object 0xdf6e5780: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
Object 0xdf6e5790: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5 kkkkkkkkkkkkkkk?
Redzone 0xdf6e57a0: bb bb bb bb ????
Padding 0xdf6e57c8: 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZ
[<
c043b170>] (unwind_backtrace+0x0/0xf0) from [<
c04cf814>] (free_debug_processing+0xf4/0x1ec)
[<
c04cf814>] (free_debug_processing+0xf4/0x1ec) from [<
c04d0634>] (kmem_cache_free+0x170/0x2ac)
[<
c04d0634>] (kmem_cache_free+0x170/0x2ac) from [<
c0441a24>] (pl330_update+0x334/0x3d8)
[<
c0441a24>] (pl330_update+0x334/0x3d8) from [<
c044f01c>] (pl330_irq_handler+0xc/0x18)
[<
c044f01c>] (pl330_irq_handler+0xc/0x18) from [<
c049bc58>] (handle_irq_event_percpu+0x30/0x150)
[<
c049bc58>] (handle_irq_event_percpu+0x30/0x150) from [<
c049bdb4>] (handle_irq_event+0x3c/0x5c)
[<
c049bdb4>] (handle_irq_event+0x3c/0x5c) from [<
c049e1cc>] (handle_fasteoi_irq+0xc8/0x100)
[<
c049e1cc>] (handle_fasteoi_irq+0xc8/0x100) from [<
c049b878>] (generic_handle_irq+0x24/0x38)
[<
c049b878>] (generic_handle_irq+0x24/0x38) from [<
c0430078>] (asm_do_IRQ+0x78/0xb8)
[<
c0430078>] (asm_do_IRQ+0x78/0xb8) from [<
c0435708>] (__irq_svc+0x48/0xe0)
and this bug:
Unable to handle kernel NULL pointer dereference at virtual address
0000010c
pgd =
eda88000
[
0000010c] *pgd=
8d960831, *pte=
00000000, *ppte=
00000000
Internal error: Oops: 17 [#1] PREEMPT SMP
CPU: 0 Tainted: G C (3.0.8+ #27)
PC is at rk29_audio_buffdone+0x24/0x6c
LR is at rk29_pl330_rq+0x240/0x2a4
pc : [<
c0701d54>] lr : [<
c044fb90>] psr:
a0000193
sp :
cf9b9c18 ip :
00000001 fp :
00000000
r10:
eec9ef30 r9 :
eee72844 r8 :
ee4fc2a4
r7 :
00000000 r6 :
df9573ac r5 :
ee4fc280 r4 :
df9576e0
r3 :
00000040 r2 :
ffffffff r1 :
00000040 r0 :
df9576e0
lw [Wed, 13 Jun 2012 07:17:45 +0000 (15:17 +0800)]
rk30_phone:use new sensors driver