Commit Graph

266118 Commits

Author SHA1 Message Date
黄涛
3145fc703e rk31: add initial support 2012-07-17 14:47:33 +08:00
黄涛
323e1a575e pl330: fix support RK2928/RK31 2012-07-17 14:30:05 +08:00
黄涛
1fd0835ee3 rk2928: irqs.h: add IRQ_ARM_PMU define 2012-07-17 14:27:21 +08:00
kfx
8d247adbfb Merge remote-tracking branch 'origin/develop-3.0' into develop-3.0-rk2928 2012-07-17 10:11:22 +08:00
zsq
64a147f246 add some define for rga common platform used 2012-07-17 10:04:11 +08:00
zsq
fd02ff2c9d add rga driver that are debugged 2012-07-17 09:13:40 +08:00
陈辉
ff49459a0c to support JB three buffer 2012-07-16 19:40:21 +08:00
陈辉
52e3b3d476 add ds1001b product 2012-07-16 18:45:25 +08:00
kfx
693e55f09b rk2928: devices.c: add rga support 2012-07-16 18:07:00 +08:00
陈辉
dfe3ba46eb update arm and logic voltage,
from product experiment
v2
2012-07-16 15:47:47 +08:00
黄涛
941da3e0da 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)
2012-07-16 14:25:38 +08:00
黄涛
33ae54fb27 Revert "rk30: clock: disable pd_vio gating function before rga, lcdc, cif support properly"
This reverts commit 2186d7743a.
2012-07-16 10:23:39 +08:00
yxj
b3ecdc5ac2 rkfb:add three buffer support for menuconfig,redefine FBIOPUT_NUM_BUFFERS 0x4625 2012-07-14 18:56:34 +08:00
yxj
1a88c4e7a5 rkfb:add ioctl to get buffers number 2012-07-14 17:16:02 +08:00
yxj
58ebc4a9ed turn of lcdc power domain and clk in earyl suspend 2012-07-14 17:16:00 +08:00
root
1690f2c243 fix bugs of early suspend when display_pd is closed. 2012-07-14 10:08:27 +08:00
黄涛
84a3957cd4 Merge remote-tracking branch 'origin/develop-3.0' into develop-3.0-rk2928 2012-07-13 19:24:46 +08:00
黄涛
93e23ed866 rk: move CLK_SWITCH_TO_32K config from mach-rk30 to plat-rk 2012-07-13 14:56:44 +08:00
yxj
a0132e447e rkfb:use macro HDMI_HPD_ACTIVED to judge HDMI plug or not 2012-07-13 12:17:00 +08:00
yxj
6378d30555 rk30fb :fix a bug in rk_fb_switch_screeen
after close lcdc the hdmi used ,return directly
2012-07-13 12:14:20 +08:00
黄涛
33246c59d0 rk30: ddr.c: always compile with Os, else may hung on boot 2012-07-13 11:45:06 +08:00
chenhui
68c1c4acaf update arm and logic voltage,
from product experiment
2012-07-13 09:51:18 +08:00
kfx
a6c33cb21c rk2928: add spi&i2c board config 2012-07-12 17:32:13 +08:00
Zheng Yang
85961a9a25 rk30 hdmi: lower ddc frequency to pass hdmi cts. 2012-07-12 17:31:05 +08:00
kfx
e2dbca8dae rk2928: update i2s driver 2012-07-12 14:57:37 +08:00
kfx
0f7b346795 rk2928: i2s init 2012-07-12 14:31:18 +08:00
kfx
ec0d6b3a8a rk2928: update gpio driver(gpio-rk30.c) 2012-07-12 13:05:31 +08:00
kfx
d37628c897 rk2928: gpio enable & iomux enable & fpga keypad init 2012-07-12 10:50:10 +08:00
zwp
33af2d2d14 solve gsensor deadlock problem. 2012-07-12 10:11:47 +08:00
黄涛
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
kfx
9344f9d599 rk2928: i2c: SZ_4K -> RK2928_XXI2CX_SIZE 2012-07-11 18:53:07 +08:00
kfx
615c024517 rk2928: uart init 2012-07-11 18:43:53 +08:00
kfx
dfeede9fe7 rk2928: spi init 2012-07-11 17:24:11 +08:00
kfx
02b33dc94f rk2928: i2c init 2012-07-11 16:38:16 +08:00
kfx
c0c865ee36 rk2928: add board_clock_init 2012-07-11 15:52:07 +08:00
kfx
7c34875193 rk2928: iomux init 2012-07-11 15:13:02 +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
10690a80e1 Merge remote-tracking branch 'origin/develop-3.0' into develop-3.0-rk2928 2012-07-10 14:57:28 +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
黄涛
b9eb3fa8bb rk2928: enable RK_PL330_DMA config 2012-07-10 13:13:32 +08:00
黄涛
3e3fca27c6 Merge remote-tracking branch 'remotes/origin/develop-3.0' into develop-3.0-rk2928
Conflicts:
	arch/arm/plat-rk/Makefile
2012-07-10 13:11:01 +08:00
黄涛
0b821e09a8 rk: add RK_PL330_DMA config 2012-07-10 13:07:59 +08:00
kfx
897f46a57c rk2928: dma init 2012-07-10 11:53:00 +08:00
赵子初
9f1e202b42 add mt6229 for rk30 2012-07-10 11:23:13 +08:00
kfx
9e853b76d4 rk2928: add devices.c 2012-07-10 10:49:34 +08:00
黄涛
14774179cb rk2928: fpga: defconfig: enable vfp 2012-07-10 09:32:00 +08:00
黄涛
009df1d1a5 rk2928: add board-rk2928-fpga.c timer.c, irqs.h add IRQ_DEBUG_UART define 2012-07-09 20:03:06 +08:00