Commit Graph

60610 Commits

Author SHA1 Message Date
陈亮
53d5a0a18a dvfs : move dvfs.h to include/linux/rockchip/ 2014-02-28 01:27:21 -08:00
陈亮
f949ee0174 rk3188:linux3.10: add ddr clk node ops 2014-02-28 00:40:56 -08:00
dkl
15b1a654eb clk: rk: merge some defines about clk and add rk3188 prefix 2014-02-28 16:13:10 +08:00
张晴
6fc76d3faa linux3.10: renamed io_vol_domain to rockchip_io_domain 2014-02-28 10:45:18 +08:00
张晴
c87723d9e4 rk31:linux3.10:support io domain setting by regulator 2014-02-28 10:30:02 +08:00
xbw
6216239180 SDMMC:
1.exclude asynchronous transfer for special request.
2.fix async request mechanism for sequential read scenarios
3.don't start new request when the card is removed
4.support packed write command for eMMC4.5 devices
5.fix the host's claim-release in special request
6.Adding support for sanitize in eMMC 4.5
7.Handle card shutdown from mmc_bus
8.fix null pointer use in mmc_blk_remove_req
9.fix host release issue after discard operation
10.modify the switch voltage.
11.add some profile for sd-sdio3.0
2014-02-27 17:20:54 +08:00
luowei
db944ccc1e add rk3288 pinctrl dts code 2014-02-27 16:34:12 +08:00
gwl
a0e2bfba26 wifi: add wifi power manage driver rfkill-wlan.c. 2014-02-27 16:19:40 +08:00
CMY
6181384db8 rk: ion: modify the ION_IOC_XXX name easy to understand 2014-02-25 17:26:01 +08:00
Thierry Reding
4e9f3c94d9 pwm-backlight: Add optional enable GPIO
To support a wider variety of backlight setups, introduce an optional
enable GPIO. Legacy users of the platform data already have a means of
supporting GPIOs by using the .init(), .exit() and .notify() hooks. DT
users however cannot use those, so an alternative method is required.

In order to ease the introduction of the optional enable GPIO, make it
available in the platform data first, so that existing users can be
converted. Once that has happened a second patch will add code to make
use of it in the driver.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-02-25 16:57:25 +08:00
黄涛
27e4aea386 pwm-backlight: reset to unpstream version 2014-02-25 16:55:47 +08:00
CMY
4255b3e268 rk: ion: support shared buffer between processes without Binder 2014-02-25 15:32:13 +08:00
yxj
fcecc3d09c rk fb:add more screen property 2014-02-25 09:26:46 +08:00
yxj
486bc247fb port edp anx6345 to linux 3.10 2014-02-25 09:26:46 +08:00
xbw
3510c255c3 SDMMC: add the sdmmc driver to kernel_3.10 2014-02-22 16:03:46 +08:00
CMY
a8cb0a0942 rk: ion: change heap id 2014-02-21 15:41:11 +08:00
CMY
381653de66 rk: ion: add custom ioctl: ION_IOC_GET_PHYS 2014-02-20 11:21:40 +08:00
zwl
1cef1923fb hdmi: add cat66121 hdmi driver dts property 2014-02-18 16:00:47 +08:00
yxj
0ffa237e0d rk fb:fix dma_buf fd 2014-02-12 10:42:51 +08:00
CMY
d968e1a463 rk: ion: remove ^M character 2014-02-11 17:14:56 +08:00
CMY
268a9b7111 move rockchip_ion.h file to include/linux/ 2014-02-11 16:49:54 +08:00
yxj
8f02f3e354 rk fb:use ion interface export by rockchip ion 2014-02-11 15:26:04 +08:00
yxj
3e53afe6e1 rk fb: add ion dam_buf support 2014-02-11 15:10:24 +08:00
zwl
2ffcdebe6d 1.optimize the 'hdmi' global variables 2.fix some compile error 2014-02-10 22:12:11 +08:00
黄涛
c36cf48454 Merge remote-tracking branch 'origin/upstream/linux-linaro-lsk-v3.10-android' into develop-3.10 2014-02-10 16:23:36 +08:00
陈亮
24ea5cf410 rk3188 : add dvfs && cpufreq 2014-02-07 19:33:27 -08:00
Mark Brown
0f3550b731 Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android 2014-01-27 14:57:42 +00:00
Mark Brown
51ad557e21 Merge tag 'v3.10.28' into linux-linaro-lsk
This is the 3.10.28 stable release
2014-01-27 14:57:25 +00:00
yxj
c8c1d278af rk fb:rename layer to win, add iomux for rk3188 lcdc 2014-01-26 16:42:58 +08:00
张晴
5d87f43f8a rk:pmu:rk808&act8846:support dts for linux 3.1 2014-01-26 09:58:37 +08:00
Geert Uytterhoeven
2d36355274 mm: Make {,set}page_address() static inline if WANT_PAGE_VIRTUAL
commit f92f455f67 upstream.

{,set}page_address() are macros if WANT_PAGE_VIRTUAL.  If
!WANT_PAGE_VIRTUAL, they're plain C functions.

If someone calls them with a void *, this pointer is auto-converted to
struct page * if !WANT_PAGE_VIRTUAL, but causes a build failure on
architectures using WANT_PAGE_VIRTUAL (arc, m68k and sparc64):

  drivers/md/bcache/bset.c: In function `__btree_sort':
  drivers/md/bcache/bset.c:1190: warning: dereferencing `void *' pointer
  drivers/md/bcache/bset.c:1190: error: request for member `virtual' in something not a structure or union

Convert them to static inline functions to fix this.  There are already
plenty of users of struct page members inside <linux/mm.h>, so there's
no reason to keep them as macros.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-25 08:27:12 -08:00
Mark Brown
e986cff797 Merge branch 'linaro-android-3.10-lsk' of git://git.linaro.org/people/jstultz/android into linux-linaro-lsk-android 2014-01-22 15:36:05 +00:00
许盛飞
3d60fec285 pwm-bl: change some warning 2014-01-21 18:47:26 +08:00
许盛飞
74ee2d20de pwm-bl: add pwm backlight driver for rockchip 2014-01-21 17:53:11 +08:00
yxj
0a615bbd79 rk fb:base version for linux3.10 2014-01-20 14:16:25 +08:00
Alex Shi
7bbbbe2e4b Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android 2014-01-16 09:17:42 +08:00
Alex Shi
c8e95ac690 Merge remote-tracking branch 'stable/linux-3.10.y' 3.10.27 into linux-linaro-lsk 2014-01-16 09:14:57 +08:00
David S. Miller
c726095ec7 vlan: Fix header ops passthru when doing TX VLAN offload.
[ Upstream commit 2205369a31 ]

When the vlan code detects that the real device can do TX VLAN offloads
in hardware, it tries to arrange for the real device's header_ops to
be invoked directly.

But it does so illegally, by simply hooking the real device's
header_ops up to the VLAN device.

This doesn't work because we will end up invoking a set of header_ops
routines which expect a device type which matches the real device, but
will see a VLAN device instead.

Fix this by providing a pass-thru set of header_ops which will arrange
to pass the proper real device instead.

To facilitate this add a dev_rebuild_header().  There are
implementations which provide a ->cache and ->create but not a
->rebuild (f.e. PLIP).  So we need a helper function just like
dev_hard_header() to avoid crashes.

Use this helper in the one existing place where the
header_ops->rebuild was being invoked, the neighbour code.

With lots of help from Florian Westphal.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-15 15:28:49 -08:00
Hannes Frederic Sowa
36ffb57086 ipv6: fix illegal mac_header comparison on 32bit
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-15 15:28:47 -08:00
Sasha Levin
d90d9ff6ca net: unix: allow set_peek_off to fail
[ Upstream commit 12663bfc97 ]

unix_dgram_recvmsg() will hold the readlock of the socket until recv
is complete.

In the same time, we may try to setsockopt(SO_PEEK_OFF) which will hang until
unix_dgram_recvmsg() will complete (which can take a while) without allowing
us to break out of it, triggering a hung task spew.

Instead, allow set_peek_off to fail, this way userspace will not hang.

Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Acked-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-15 15:28:47 -08:00
黄涛
0d3914fff0 rk: fix PIE support multi cpu 2014-01-13 10:43:41 +08:00
Alex Shi
60d29b4f9b Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android
Conflicts:
	include/linux/mm_types.h
2014-01-10 23:56:41 +08:00
Alex Shi
450cdfa9c5 Merge remote-tracking branch 'stable/linux-3.10.y' into linux-linaro-lsk
Conflicts:
	arch/arm64/kernel/smp.c

Signed-off-by: Alex Shi <alex.shi@linaro.org>
2014-01-10 10:50:57 +08:00
Mark Rutland
714c21cb90 clocksource: arch_timer: use virtual counters
commit 0d651e4e65 upstream.

Switching between reading the virtual or physical counters is
problematic, as some core code wants a view of time before we're fully
set up. Using a function pointer and switching the source after the
first read can make time appear to go backwards, and having a check in
the read function is an unfortunate block on what we want to be a fast
path.

Instead, this patch makes us always use the virtual counters. If we're a
guest, or don't have hyp mode, we'll use the virtual timers, and as such
don't care about CNTVOFF as long as it doesn't change in such a way as
to make time appear to travel backwards. As the guest will use the
virtual timers, a (potential) KVM host must use the physical timers
(which can wake up the host even if they fire while a guest is
executing), and hence a host must have CNTVOFF set to zero so as to have
a consistent view of time between the physical timers and virtual
counters.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Rob Herring <rob.herring@calxeda.com>
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-09 12:24:26 -08:00
Josh Durgin
a2e5951b11 libceph: add function to ensure notifies are complete
commit dd935f44a4 upstream.

Without a way to flush the osd client's notify workqueue, a watch
event that is unregistered could continue receiving callbacks
indefinitely.

Unregistering the event simply means no new notifies are added to the
queue, but there may still be events in the queue that will call the
watch callback for the event. If the queue is flushed after the event
is unregistered, the caller can be sure no more watch callbacks will
occur for the canceled watch.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-09 12:24:26 -08:00
Yan, Zheng
aede2cb5c9 libceph: fix safe completion
commit eb845ff13a upstream.

handle_reply() calls complete_request() only if the first OSD reply
has ONDISK flag.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-09 12:24:25 -08:00
Mel Gorman
5d8e03b254 mm: numa: guarantee that tlb_flush_pending updates are visible before page table updates
commit af2c1401e6 upstream.

According to documentation on barriers, stores issued before a LOCK can
complete after the lock implying that it's possible tlb_flush_pending
can be visible after a page table update.  As per revised documentation,
this patch adds a smp_mb__before_spinlock to guarantee the correct
ordering.

Signed-off-by: Mel Gorman <mgorman@suse.de>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-09 12:24:23 -08:00
Rik van Riel
d303cf4624 mm: fix TLB flush race between migration, and change_protection_range
commit 2084140594 upstream.

There are a few subtle races, between change_protection_range (used by
mprotect and change_prot_numa) on one side, and NUMA page migration and
compaction on the other side.

The basic race is that there is a time window between when the PTE gets
made non-present (PROT_NONE or NUMA), and the TLB is flushed.

During that time, a CPU may continue writing to the page.

This is fine most of the time, however compaction or the NUMA migration
code may come in, and migrate the page away.

When that happens, the CPU may continue writing, through the cached
translation, to what is no longer the current memory location of the
process.

This only affects x86, which has a somewhat optimistic pte_accessible.
All other architectures appear to be safe, and will either always flush,
or flush whenever there is a valid mapping, even with no permissions
(SPARC).

The basic race looks like this:

CPU A			CPU B			CPU C

						load TLB entry
make entry PTE/PMD_NUMA
			fault on entry
						read/write old page
			start migrating page
			change PTE/PMD to new page
						read/write old page [*]
flush TLB
						reload TLB from new entry
						read/write new page
						lose data

[*] the old page may belong to a new user at this point!

The obvious fix is to flush remote TLB entries, by making sure that
pte_accessible aware of the fact that PROT_NONE and PROT_NUMA memory may
still be accessible if there is a TLB flush pending for the mm.

This should fix both NUMA migration and compaction.

[mgorman@suse.de: fix build]
Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Mel Gorman <mgorman@suse.de>
Cc: Alex Thorlton <athorlton@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-09 12:24:23 -08:00
Oleg Nesterov
57f74b6ece sched: fix the theoretical signal_wake_up() vs schedule() race
commit e0acd0a68e upstream.

This is only theoretical, but after try_to_wake_up(p) was changed
to check p->state under p->pi_lock the code like

	__set_current_state(TASK_INTERRUPTIBLE);
	schedule();

can miss a signal. This is the special case of wait-for-condition,
it relies on try_to_wake_up/schedule interaction and thus it does
not need mb() between __set_current_state() and if(signal_pending).

However, this __set_current_state() can move into the critical
section protected by rq->lock, now that try_to_wake_up() takes
another lock we need to ensure that it can't be reordered with
"if (signal_pending(current))" check inside that section.

The patch is actually one-liner, it simply adds smp_wmb() before
spin_lock_irq(rq->lock). This is what try_to_wake_up() already
does by the same reason.

We turn this wmb() into the new helper, smp_mb__before_spinlock(),
for better documentation and to allow the architectures to change
the default implementation.

While at it, kill smp_mb__after_lock(), it has no callers.

Perhaps we can also add smp_mb__before/after_spinunlock() for
prepare_to_wait().

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-09 12:24:23 -08:00
Vincent Pelletier
3d097b1518 libata: Add atapi_dmadir force flag
commit 966fbe193f upstream.

Some device require DMADIR to be enabled, but are not detected as such
by atapi_id_dmadir.  One such example is "Asus Serillel 2"
SATA-host-to-PATA-device bridge: the bridge itself requires DMADIR,
even if the bridged device does not.

As atapi_dmadir module parameter can cause problems with some devices
(as per Tejun Heo's memory), enabling it globally may not be possible
depending on the hardware.

This patch adds atapi_dmadir in the form of a "force" horkage value,
allowing global, per-bus and per-device control.

Signed-off-by: Vincent Pelletier <plr.vincent@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-09 12:24:23 -08:00