Commit Graph

60850 Commits

Author SHA1 Message Date
张晴
e1053d40cd rk3288:pmic:act8846:support act8846 device shutdown 2014-05-15 16:31:23 +08:00
yxj
7d857804a0 rk fb: alloc framebuffer from vmalloc when iommu enabled 2014-05-14 11:20:47 +08:00
CMY
2305db926f Revert "rk: ion: support cache ops for CMA heap"
This reverts commit 98ad00141c.

Conflicts:
	drivers/staging/android/ion/ion.c
	drivers/staging/android/ion/ion_cma_heap.c
	drivers/staging/android/ion/ion_priv.h
2014-05-14 10:40:01 +08:00
yxj
febb029be1 rk fb: copy logo data from bootloader when enable iommu 2014-05-14 09:18:09 +08:00
张晴
942b86cab9 rk3288:pmic:act8846:support pmic act8846 for new hardware 2014-05-12 17:48:17 +08:00
陈亮
9b652a83df ddrfreq: add dualview sence and isp sence 2014-05-09 00:03:15 -07:00
zwl
1fe724b4d3 rk fb: init default primary screen and hdmi post scale value that overscan value may use for hdmi 2014-05-09 10:36:51 +08:00
zwl
5009b35348 rk3288 lcdc: add support overscan 2014-05-09 09:20:50 +08:00
陈亮
aaccb426d6 ddrfreq: add video scene, performan scene 2014-05-08 06:11:54 -07:00
张晴
971b4afb18 rk3288:pmic:rk808:modify power off have lock;add protect for i2c error 2014-05-08 15:29:05 +08:00
yxj
99ceaf4398 rk fb:rk3288 lcdc: temporarily workround iommu unmaped the buffer when it being used 2014-05-08 09:10:16 +08:00
陈亮
0180727dca ddrfreq: add more auto freq point 2014-05-07 06:30:33 -07:00
黄涛
2ce503ed6b Revert "mm: make vmstat_update periodic run conditional"
This reverts commit 7d252cd22a.
Which can cause kernel panic when resume.
2014-05-07 09:14:43 +08:00
ddl
c76142ff64 camsys_drv: v0.7.0 camsys_head: v0.6.0 2014-05-06 16:11:52 +08:00
许盛飞
f575a0f312 RK818: add rk818-battery driver 2014-05-06 11:27:03 +08:00
xbw
36ae021903 SDMMC:
1、set the emmc-clock to 150Mhz which compatible with new PLL.
2. Optimization timing Training.
3. SD3.0/SDIO3.0 implementation process.
2014-05-05 10:10:32 +08:00
xxm
49d1d490ce rockchip:midgard : update gpu dvfs & use new comment 2014-05-04 14:36:19 +08:00
CMY
f52cfbfccb rk: ion: add version control
disable ion snapshot by default
		 fix build warn
2014-04-30 08:38:25 +08:00
张晴
de0f0d2cbc rk3288:ricoh619:add dc_det function,add ricoh619.txt 2014-04-29 11:15:29 +08:00
xxm
20eabb402c rockchip : midgard :1,place rk_get_real_fps in rk_fb.h 2,correct macro limit_fps 2014-04-29 10:48:29 +08:00
dkl
ad11a1286b clk: rockchip: add CLK_SET_RATE_PARENT_IN_ORDER
If the flag CLK_SET_RATE_PARENT_IN_ORDER is set, consider the
order of .set_parent and .set_rate, to prevent a too large
temporary rate on rate change. This will fix the bug of clk_gpu
in rk3288.
2014-04-28 21:24:24 +08:00
dkl
7348c1bed5 clk: rockchip: rk3288: adjust clock settings
1. add clkops_rate_3288_dclk_lcdc0/1
2. change gpll init_rate to 297M, and npll init_rate to 1250M
2014-04-28 21:24:24 +08:00
dkl
91019ca759 clk: rockchip: add clk_pll_ops_3188plus_auto 2014-04-28 21:24:24 +08:00
陈亮
d25572ffd7 rk3288: temperature control add performance mode and normal mode 2014-04-27 21:48:45 -07:00
黄涛
7fe47454f2 Merge tag 'lsk-android-14.04' into develop-3.10
lsk-android 14.04

Conflicts:
	Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
	drivers/pinctrl/pinconf-generic.c
	include/linux/pinctrl/consumer.h
	include/linux/pinctrl/pinconf-generic.h
2014-04-24 19:04:10 +08:00
黄涛
89259626f1 ARM: rockchip: add pm policy api 2014-04-24 11:35:42 +08:00
黄涛
a840a0c862 ARM: rockchip: rk3288: enable jtag support when rockchip_jtag in kernel cmdline 2014-04-22 15:17:58 +08:00
hjc
ee4ae20744 rk3288 lcdc: add support iommu 2014-04-18 11:19:38 +08:00
dkl
5a6a7c9fe3 clk: rockchip: add clkops_rate_3288_usb480m 2014-04-17 11:18:10 +08:00
张晴
a11b980027 rk3288:pmic:rk818:add rk818.h 2014-04-16 16:32:46 +08:00
hjc
8c7e2fc6ac rk fb: add support uboot display logo 2014-04-16 11:40:58 +08:00
Mark Brown
3736e39e6a Merge branch 'linaro-android-3.10-lsk' of git://git.linaro.org/people/john.stultz/android into linux-linaro-lsk-android 2014-04-15 18:12:51 +01:00
黄涛
0ffd56dafe Merge tag 'lsk-android-14.03' into develop-3.10
lsk 14.03 Android release
2014-04-15 12:51:10 +08:00
Alex Shi
dca382e80b Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android 2014-04-15 09:59:04 +08:00
Alex Shi
dc65fae3f7 Merge tag 'v3.10.37' into linux-linaro-lsk
This is the 3.10.37 stable release
2014-04-15 09:57:50 +08:00
John Stultz
c98e2fbb7e Merge branch 'upstream/android-3.10' into linaro-fixes/android-3.10 2014-04-14 12:00:59 -07:00
Mark Brown
dfbd3a7884 Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android 2014-04-14 18:56:49 +01:00
Mark Brown
5ad6d9ba81 Merge branches 'v3.10/topic/configs' and 'v3.10/topic/arm64-hugepages' of git://git.linaro.org/kernel/linux-linaro-stable into linux-linaro-lsk 2014-04-14 18:56:30 +01:00
Xiaoguang Chen
ba17ca46b9 cpufreq: Fix governor start/stop race condition
commit 95731ebb11 upstream.

Cpufreq governors' stop and start operations should be carried out
in sequence.  Otherwise, there will be unexpected behavior, like in
the example below.

Suppose there are 4 CPUs and policy->cpu=CPU0, CPU1/2/3 are linked
to CPU0.  The normal sequence is:

 1) Current governor is userspace.  An application tries to set the
    governor to ondemand.  It will call __cpufreq_set_policy() in
    which it will stop the userspace governor and then start the
    ondemand governor.

 2) Current governor is userspace.  The online of CPU3 runs on CPU0.
    It will call cpufreq_add_policy_cpu() in which it will first
    stop the userspace governor, and then start it again.

If the sequence of the above two cases interleaves, it becomes:

 1) Application stops userspace governor
 2)                                  Hotplug stops userspace governor

which is a problem, because the governor shouldn't be stopped twice
in a row.  What happens next is:

 3) Application starts ondemand governor
 4)                                  Hotplug starts a governor

In step 4, the hotplug is supposed to start the userspace governor,
but now the governor has been changed by the application to ondemand,
so the ondemand governor is started once again, which is incorrect.

The solution is to prevent policy governors from being stopped
multiple times in a row.  A governor should only be stopped once for
one policy.  After it has been stopped, no more governor stop
operations should be executed.

Also add a mutex to serialize governor operations.

[rjw: Changelog.  And you owe me a beverage of my choice.]
Signed-off-by: Xiaoguang Chen <chenxg@marvell.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-04-14 06:42:19 -07:00
Heiko Carstens
f26c70a452 futex: Allow architectures to skip futex_atomic_cmpxchg_inatomic() test
commit 03b8c7b623 upstream.

If an architecture has futex_atomic_cmpxchg_inatomic() implemented and there
is no runtime check necessary, allow to skip the test within futex_init().

This allows to get rid of some code which would always give the same result,
and also allows the compiler to optimize a couple of if statements away.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Finn Thain <fthain@telegraphics.com.au>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Link: http://lkml.kernel.org/r/20140302120947.GA3641@osiris
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
[geert: Backported to v3.10..v3.13]
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-04-14 06:42:19 -07:00
Oliver Neukum
2d4cf3d6f3 usbnet: include wait queue head in device structure
[ Upstream commit 14a0d635d1 ]

This fixes a race which happens by freeing an object on the stack.
Quoting Julius:
> The issue is
> that it calls usbnet_terminate_urbs() before that, which temporarily
> installs a waitqueue in dev->wait in order to be able to wait on the
> tasklet to run and finish up some queues. The waiting itself looks
> okay, but the access to 'dev->wait' is totally unprotected and can
> race arbitrarily. I think in this case usbnet_bh() managed to succeed
> it's dev->wait check just before usbnet_terminate_urbs() sets it back
> to NULL. The latter then finishes and the waitqueue_t structure on its
> stack gets overwritten by other functions halfway through the
> wake_up() call in usbnet_bh().

The fix is to just not allocate the data structure on the stack.
As dev->wait is abused as a flag it also takes a runtime PM change
to fix this bug.

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Reported-by: Grant Grundler <grundler@google.com>
Tested-by: Grant Grundler <grundler@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-04-14 06:42:18 -07:00
Eric Dumazet
cbbb5a252d tcp: tcp_release_cb() should release socket ownership
[ Upstream commit c3f9b01849 ]

Lars Persson reported following deadlock :

-000 |M:0x0:0x802B6AF8(asm) <-- arch_spin_lock
-001 |tcp_v4_rcv(skb = 0x8BD527A0) <-- sk = 0x8BE6B2A0
-002 |ip_local_deliver_finish(skb = 0x8BD527A0)
-003 |__netif_receive_skb_core(skb = 0x8BD527A0, ?)
-004 |netif_receive_skb(skb = 0x8BD527A0)
-005 |elk_poll(napi = 0x8C770500, budget = 64)
-006 |net_rx_action(?)
-007 |__do_softirq()
-008 |do_softirq()
-009 |local_bh_enable()
-010 |tcp_rcv_established(sk = 0x8BE6B2A0, skb = 0x87D3A9E0, th = 0x814EBE14, ?)
-011 |tcp_v4_do_rcv(sk = 0x8BE6B2A0, skb = 0x87D3A9E0)
-012 |tcp_delack_timer_handler(sk = 0x8BE6B2A0)
-013 |tcp_release_cb(sk = 0x8BE6B2A0)
-014 |release_sock(sk = 0x8BE6B2A0)
-015 |tcp_sendmsg(?, sk = 0x8BE6B2A0, ?, ?)
-016 |sock_sendmsg(sock = 0x8518C4C0, msg = 0x87D8DAA8, size = 4096)
-017 |kernel_sendmsg(?, ?, ?, ?, size = 4096)
-018 |smb_send_kvec()
-019 |smb_send_rqst(server = 0x87C4D400, rqst = 0x87D8DBA0)
-020 |cifs_call_async()
-021 |cifs_async_writev(wdata = 0x87FD6580)
-022 |cifs_writepages(mapping = 0x852096E4, wbc = 0x87D8DC88)
-023 |__writeback_single_inode(inode = 0x852095D0, wbc = 0x87D8DC88)
-024 |writeback_sb_inodes(sb = 0x87D6D800, wb = 0x87E4A9C0, work = 0x87D8DD88)
-025 |__writeback_inodes_wb(wb = 0x87E4A9C0, work = 0x87D8DD88)
-026 |wb_writeback(wb = 0x87E4A9C0, work = 0x87D8DD88)
-027 |wb_do_writeback(wb = 0x87E4A9C0, force_wait = 0)
-028 |bdi_writeback_workfn(work = 0x87E4A9CC)
-029 |process_one_work(worker = 0x8B045880, work = 0x87E4A9CC)
-030 |worker_thread(__worker = 0x8B045880)
-031 |kthread(_create = 0x87CADD90)
-032 |ret_from_kernel_thread(asm)

Bug occurs because __tcp_checksum_complete_user() enables BH, assuming
it is running from softirq context.

Lars trace involved a NIC without RX checksum support but other points
are problematic as well, like the prequeue stuff.

Problem is triggered by a timer, that found socket being owned by user.

tcp_release_cb() should call tcp_write_timer_handler() or
tcp_delack_timer_handler() in the appropriate context :

BH disabled and socket lock held, but 'owned' field cleared,
as if they were running from timer handlers.

Fixes: 6f458dfb40 ("tcp: improve latencies of timer triggered events")
Reported-by: Lars Persson <lars.persson@axis.com>
Tested-by: Lars Persson <lars.persson@axis.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-04-14 06:42:16 -07:00
dkl
d1de807ce5 pd: rockchip: add virtual pd clks 2014-04-14 21:32:41 +08:00
dkl
54775cd3b8 pd: rockchip: add clk_pd type and rk3288 clk_pd support 2014-04-14 16:59:23 +08:00
张晴
d69f6b8301 rk3288:ricoh619&syb827:support pmic ricoh619 and dcdc syb827 2014-04-14 14:39:17 +08:00
libing
542450a810 rk3288-mipi-dsi:add clk switch, debug node. 2014-04-11 18:14:32 +08:00
黄涛
fa256c1543 ARM: rockchip: dvfs: get temp on workqueue 2014-04-11 10:50:02 +08:00
Mark Brown
1ba838a383 Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android 2014-04-10 13:22:58 +01:00
Mark Brown
b0f285eeb0 Merge branch 'v3.10/topic/pinctrl' of git://git.linaro.org/kernel/linux-linaro-stable into linux-linaro-lsk 2014-04-10 12:36:26 +01:00
gwl
ed7869a3f4 Wifi:BT: add power toggle control. 2014-04-10 09:52:57 +08:00