Commit Graph

397514 Commits

Author SHA1 Message Date
黄涛
642d6c30cd ARM: rockchip: rk3188-tb add ts support 2014-02-13 18:12:15 +08:00
黄涛
6681264bd8 ts: rk29_i2c_goodix: porting to 3.10 2014-02-13 18:11:01 +08:00
wlf
28d106f570 USB: support usb otg and host20 functions 2014-02-13 15:45:30 +08:00
陈金泉
22cee16684 Audio: use sound DMA engine for pcm, update i2s, spdif and machine driver, add dts property for i2s and spdif. 2014-02-13 10:24:41 +08:00
黄涛
f3ce1dceeb ARM: rockchip: fix rk3188 i2c dts setup again 2014-02-12 20:01:56 +08:00
黄涛
df5a4e1a39 i2c: rockchip: fix check idle init, disable clk control to make dvfs happy, fix rk3188 i2c dts setup 2014-02-12 19:56:38 +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
张晴
4b91865e1c rk31:pmu:support pmu sleep voltage and sleep mode setting by dts 2014-02-11 16:37:30 +08:00
CMY
3144b2f046 enable rockchip ion by default 2014-02-11 15:32:11 +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
CMY
3a95cf786b Add rockchip ion 2014-02-11 15:09:09 +08:00
dkl
aae53cc811 clk: rk: change clk_core init-rate and the way to get cru&grf base
1. Change clk_core init-rate to 792 MHZ.
2. Use RK_CRU_VIRT & RK_GRF_VIRT to get cru&grf base.
3. Fix pll_wait_lock() func.
2014-02-11 11:25:43 +08:00
许盛飞
9defda9cd2 pwm: solve the bug sleeping function called from invalid context at kernel/mutex.c:413 2014-02-11 11:19:03 +08:00
zwl
2ffcdebe6d 1.optimize the 'hdmi' global variables 2.fix some compile error 2014-02-10 22:12:11 +08:00
黄涛
d3265138f6 ARM: rockchip: rockchip_defconfig merge android config 2014-02-10 17:14:04 +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
黄涛
e4375cd328 ARM: rockchip: fix dma commit 1dcced23a5 2014-02-10 14:19:24 +08:00
宋秀杰
1dcced23a5 dma pl330: add device tree mode support, memcpy function ok,
but clock is not used now.
2014-02-10 11:21:00 +08:00
dkl
88754eb2c6 clk: rockchip: add clk_gpu init to rate 200M 2014-02-10 10:52:33 +08:00
zwl
ca8cb61eff rk616: update rk616 driver,add dts property 2014-02-08 17:41:09 +08:00
黄涛
f69a429a94 ARM: rockchip: update rockchip_defconfig to support mtd and rknand 2014-02-08 16:39:23 +08:00
Zhaoyifeng
c7bcbec350 rknand:remove debug log. 2014-02-08 16:13:02 +08:00
陈亮
8994824a90 rockchip_defconfig : set default cpufreq governor to interactive 2014-02-07 22:17:36 -08:00
陈亮
24ea5cf410 rk3188 : add dvfs && cpufreq 2014-02-07 19:33:27 -08:00
Zhaoyifeng
9a35477e37 add rknand for debug 2014-02-08 10:23:40 +08:00
dkl
bd1ad1b0a6 ARM: rockchip: correct L2 latency setting 2014-02-07 20:19:16 +08:00
luowei
026195c1e3 close pinctrl debug log 2014-02-07 13:42:17 +08:00
dkl
3bfb2e97f2 clk: rockchip: fix clk reg address description in dts
1.Descripe cru address mapping in clocks node's "ranges" property, and
change children nodes' "reg" property accordingly.
2.Get cru base from clock_regs node's "reg" property.
2014-02-07 11:30:51 +08:00
dkl
4af160253c Recommit "clk: rockchip: add clk init data and enable clk init"
This recommit commit 4673090895 with
fix that lower clk_core init rate to 594 MHZ.
2014-02-07 09:50:53 +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
陈金泉
7a74e7eab9 update audio platform driver, add spdif codec dts property 2014-01-26 16:28:43 +08:00
黄涛
2971908618 ARM: rockchip: set rk3188 machine name RK30board to keep android happy 2014-01-26 15:58:50 +08:00
张晴
5d87f43f8a rk:pmu:rk808&act8846:support dts for linux 3.1 2014-01-26 09:58:37 +08:00
dkl
be994cdbfb Revert "clk: rockchip: add clk init data and enable clk init"
This reverts commit 4673090895.
2014-01-26 09:34:30 +08:00
Greg Kroah-Hartman
020abbc911 Linux 3.10.28 v3.10.28 2014-01-25 08:27:55 -08:00
Taras Kondratiuk
04545a3a85 ARM: 7938/1: OMAP4/highbank: Flush L2 cache before disabling
commit b25f3e1c35 upstream.

Kexec disables outer cache before jumping to reboot code, but it doesn't
flush it explicitly. Flush is done implicitly inside of l2x0_disable().
But some SoC's override default .disable handler and don't flush cache.
This may lead to a corrupted memory during Kexec reboot on these
platforms.

This patch adds cache flush inside of OMAP4 and Highbank outer_cache.disable()
handlers to make it consistent with default l2x0_disable().

Acked-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Taras Kondratiuk <taras.kondratiuk@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Wang Nan <wangnan0@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-25 08:27:12 -08:00
Ville Syrjälä
4b176ae176 drm/i915: Don't grab crtc mutexes in intel_modeset_gem_init()
commit 7ad228b11e upstream.

When the pipe A force quirk is applied the code will attempt to grab
a crtc mutex during intel_modeset_setup_hw_state(). If we're already
holding all crtc mutexes this will obviously deadlock every time.

So instead of using drm_modeset_lock_all() just grab the
mode_config.mutex. This is enough to avoid the unlocked mutex warnings
from certain lower level functions.

The regression was introduced in:

 commit 0274766428
 Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
 Date:   Mon Dec 2 11:08:06 2013 +0200

    drm/i915: Take modeset locks around intel_modeset_setup_hw_state()

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
[danvet: Add cc: stable since the offending commit has that, too.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-25 08:27:12 -08:00
Jon Medhurst
3bb0df1b71 serial: amba-pl011: use port lock to guard control register access
commit fe43390702 upstream.

When the pl011 is being used for a console, pl011_console_write forces
the control register (CR) to enable the UART for transmission and then
restores this to the original value afterwards. It does this while
holding the port lock.

Unfortunately, when the uart is started or shutdown - say in response to
userland using the serial device for a terminal - then this updates the
control register without any locking.

This means we can have

  pl011_console_write   Save CR
  pl011_startup         Initialise CR, e.g. enable receive
  pl011_console_write   Restore old CR with receive not enabled

this result is a serial port which doesn't respond to any input.

A similar race in reverse could happen when the device is shutdown.

We can fix these problems by taking the port lock when updating CR.

Signed-off-by: Jon Medhurst <tixy@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-25 08:27:12 -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
NeilBrown
c44bc4496d md/raid5: Fix possible confusion when multiple write errors occur.
commit 1cc03eb932 upstream.

commit 5d8c71f9e5
    md: raid5 crash during degradation

Fixed a crash in an overly simplistic way which could leave
R5_WriteError or R5_MadeGood set in the stripe cache for devices
for which it is no longer relevant.
When those devices are removed and spares added the flags are still
set and can cause incorrect behaviour.

commit 14a75d3e07
    md/raid5: preferentially read from replacement device if possible.

Fixed the same bug if a more effective way, so we can now revert
the original commit.

Reported-and-tested-by: Alexander Lyakas <alex.bolshoy@gmail.com>
Fixes: 5d8c71f9e5
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-25 08:27:12 -08:00
NeilBrown
ddd618aa9e md/raid10: fix two bugs in handling of known-bad-blocks.
commit b50c259e25 upstream.

If we discover a bad block when reading we split the request and
potentially read some of it from a different device.

The code path of this has two bugs in RAID10.
1/ we get a spin_lock with _irq, but unlock without _irq!!
2/ The calculation of 'sectors_handled' is wrong, as can be clearly
   seen by comparison with raid1.c

This leads to at least 2 warnings and a probable crash is a RAID10
ever had known bad blocks.

Fixes: 856e08e237
Reported-by: Damian Nowak <spam@nowaker.net>
URL: https://bugzilla.kernel.org/show_bug.cgi?id=68181
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-25 08:27:12 -08:00
NeilBrown
16342c21c9 md/raid10: fix bug when raid10 recovery fails to recover a block.
commit e8b8491585 upstream.

commit e875ecea26
    md/raid10 record bad blocks as needed during recovery.

added code to the "cannot recover this block" path to record a bad
block rather than fail the whole recovery.
Unfortunately this new case was placed *after* r10bio was freed rather
than *before*, yet it still uses r10bio.
This is will crash with a null dereference.

So move the freeing of r10bio down where it is safe.

Fixes: e875ecea26
Reported-by: Damian Nowak <spam@nowaker.net>
URL: https://bugzilla.kernel.org/show_bug.cgi?id=68181
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-25 08:27:12 -08:00
NeilBrown
bb4a65df30 md: fix problem when adding device to read-only array with bitmap.
commit 8313b8e57f upstream.

If an array is started degraded, and then the missing device
is found it can be re-added and a minimal bitmap-based recovery
will bring it fully up-to-date.

If the array is read-only a recovery would not be allowed.
But also if the array is read-only and the missing device was
present very recently, then there could be no need for any
recovery at all, so we simply include the device in the read-only
array without any recovery.

However... if the missing device was removed a little longer ago
it could be missing some updates, but if a bitmap is present it will
be conditionally accepted pending a bitmap-based update.  We don't
currently detect this case properly and will include that old
device into the read-only array with no recovery even though it really
needs a recovery.

This patch keeps track of whether a bitmap-based-recovery is really
needed or not in the new Bitmap_sync rdev flag.  If that is set,
then the device will not be added to a read-only array.

Cc: Andrei Warkentin <andreiw@vmware.com>
Fixes: d70ed2e4fa
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-25 08:27:12 -08:00
Paulo Zanoni
ba8ee59850 drm/i915: fix DDI PLLs HW state readout code
commit 0882dae983 upstream.

Properly zero the refcounts and crtc->ddi_pll_set so the previous HW
state doesn't affect the result of reading the current HW state.

This fixes WARNs about WRPLL refcount if we have an HDMI monitor on
HSW and then suspend/resume.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=64379
Tested-by: Qingshuai Tian <qingshuai.tian@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-25 08:27:12 -08:00
Andreas Rohner
4cb1e59ffc nilfs2: fix segctor bug that causes file system corruption
commit 70f2fe3a26 upstream.

There is a bug in the function nilfs_segctor_collect, which results in
active data being written to a segment, that is marked as clean.  It is
possible, that this segment is selected for a later segment
construction, whereby the old data is overwritten.

The problem shows itself with the following kernel log message:

  nilfs_sufile_do_cancel_free: segment 6533 must be clean

Usually a few hours later the file system gets corrupted:

  NILFS: bad btree node (blocknr=8748107): level = 0, flags = 0x0, nchildren = 0
  NILFS error (device sdc1): nilfs_bmap_last_key: broken bmap (inode number=114660)

The issue can be reproduced with a file system that is nearly full and
with the cleaner running, while some IO intensive task is running.
Although it is quite hard to reproduce.

This is what happens:

 1. The cleaner starts the segment construction
 2. nilfs_segctor_collect is called
 3. sc_stage is on NILFS_ST_SUFILE and segments are freed
 4. sc_stage is on NILFS_ST_DAT current segment is full
 5. nilfs_segctor_extend_segments is called, which
    allocates a new segment
 6. The new segment is one of the segments freed in step 3
 7. nilfs_sufile_cancel_freev is called and produces an error message
 8. Loop around and the collection starts again
 9. sc_stage is on NILFS_ST_SUFILE and segments are freed
    including the newly allocated segment, which will contain active
    data and can be allocated at a later time
10. A few hours later another segment construction allocates the
    segment and causes file system corruption

This can be prevented by simply reordering the statements.  If
nilfs_sufile_cancel_freev is called before nilfs_segctor_extend_segments
the freed segments are marked as dirty and cannot be allocated any more.

Signed-off-by: Andreas Rohner <andreas.rohner@gmx.net>
Reviewed-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Tested-by: Andreas Rohner <andreas.rohner@gmx.net>
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
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