Commit Graph

60935 Commits

Author SHA1 Message Date
lintao
fbfdff1f46 mmc: host: rk_sdmmc: add data-over-int timeout for data_busy
If devices fall in bad state make data_busy be hold too long,
dto interrupt will not be present, which leading  mmc-core wait for it forever.

 [<c06d42e4>] (__schedule+0x48c/0x554) from [<c06d275c>] (schedule_timeout+0x1c/0x260)
 [<c06d275c>] (schedule_timeout+0x1c/0x260) from [<c06d3c10>] (wait_for_common+0xd0/0x164)
 [<c06d3c10>] (wait_for_common+0xd0/0x164) from [<c044a4bc>] (mmc_wait_for_req_done+0x1c/0xe0)
 [<c044a4bc>] (mmc_wait_for_req_done+0x1c/0xe0) from [<c0453730>] (mmc_io_rw_extended+0x218/0x294)
 [<c0453730>] (mmc_io_rw_extended+0x218/0x294) from [<c0454590>] (sdio_io_rw_ext_helper+0xc8/0x194)
 [<c0454590>] (sdio_io_rw_ext_helper+0xc8/0x194) from [<c04546b0>] (sdio_memcpy_toio+0x1c/0x20)
 [<c04546b0>] (sdio_memcpy_toio+0x1c/0x20) from [<c032e96c>] (sdioh_request_packet+0x664/0x7e8)
 [<c032e96c>] (sdioh_request_packet+0x664/0x7e8) from [<c032fc78>] (sdioh_request_buffer+0x1a8/0x210)
2014-06-25 21:42:19 +08:00
zwl
a33266695a rk fb: modify fb rotate config read from dts 2014-06-20 11:38:20 +08:00
lin tao
c580ac7deb mmc: host: rk_sdmmc:
Support physical level three transfer.
2014-06-16 10:56:00 +08:00
lin tao
086c795117 mmc: fix compile warning 2014-06-16 08:00:18 +08:00
郭毅
1549b588c5 sensor: modify some warnings of sensor_dev.c 2014-06-13 16:50:55 +08:00
黄涛
ee25a425b9 Merge tag 'lsk-android-14.05' into develop-3.10
lsk 14.05 android release

Conflicts:
	arch/arm/common/Kconfig
	arch/arm64/include/asm/arch_timer.h
	drivers/staging/android/fiq_debugger/fiq_debugger.c
	drivers/usb/Kconfig
2014-06-12 21:04:26 +08:00
张晴
a05c3a3973 rk3288:pmic:act8846&syr82x:modify some warnings 2014-06-12 15:38:12 +08:00
张晴
75e9568f06 rk3288:pmic:ricoh619:modify some warnings 2014-06-12 15:33:37 +08:00
zwl
bed6221bcc rk fb: add get frame time interface that is used for ddr change 2014-06-11 16:29:24 +08:00
lintao
bc9c115f09 Revert "mmc: host: rk_sdmmc:"
This reverts commit 4821809db2.
2014-06-11 14:40:09 +08:00
lintao
4821809db2 mmc: host: rk_sdmmc:
[IMPORTANT COMMIT | NEED_EXPERIMENTAL | CAN_REVERT]

     <1> Support SDIO 3.0, workaround for non-standard behaviour(AP6335) Temporarily.
     <2> Support SD3.0, and SDXC card  should use  exfat filesystem.
     <3> Non-emmc devices that turning fail would not bug kernel.
         Hotplug and poweroff-able (wifi,SD,MMC) devices support re-insert and try it again.
     <4> note:
         (a) card & io aware devices, f_max = 2 * clock, e.g USH_SDR104 means
             support max 208MHz clock in standard.
         (b) setup_bus doesn't need update clk in svi flow
         (c) card_busy: bascially should check CMD,DATA[0:3], however we use
             toggle tags to match svi flow now.
         (d) shorter wait busy and remove  dump_stack in vsi flow.
             Card should be busy until clk re-enable and svi complete.

      All behaviour follow the protocol, enjoy it!
2014-06-11 14:14:55 +08:00
zwl
2b5f7c07cb rk fb: add support fence sync and async switch 2014-06-11 11:42:29 +08:00
gwl
384134cb60 NFC: Add to support ap6441 & ap6493 nfc function. 2014-06-11 09:14:43 +08:00
qjb
0774031f52 audio soc dma : add audio getposition dma 2014-06-10 09:17:55 +08:00
zyc
68aee7b787 camsys_drv:v0.c.0 camsys_head:v0.7.0 2014-06-09 09:40:28 +08:00
zwl
e957da03a7 rk32-lcdc: improve the cabc function 2014-06-05 08:52:16 +08:00
qjb
127d33d136 dma soc audio : add support dma infiniteloop mode
soc audio rockchip default use infiniteloop mode
2014-06-04 18:17:08 +08:00
hcy
51d7acb84f fix system reboot stop at DDR_DEBUG information 2014-06-03 16:54:13 +08:00
hjc
af1283a6fd rk3288 lcdc: add support BCSH func 2014-05-27 16:15:47 +08:00
陈亮
cc1cd797fa 1.add rk_system_status.c, listen system status ,and prepare something for new status. 2.serialize ddrfreq, ensure that change ddrfreq is done before enter new status 2014-05-26 23:32:01 -07:00
Mark Brown
064aff2f72 Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android 2014-05-24 14:11:36 +01:00
Mark Brown
088d7dadf9 Merge remote-tracking branch 'lsk/v3.10/topic/arm64-misc' into linux-linaro-lsk
Conflicts:
	arch/arm64/Kconfig
2014-05-24 14:11:01 +01:00
Mark Brown
ea3518bfc0 Merge remote-tracking branch 'lsk/v3.10/topic/arm64-dma' into lsk-v3.10-arm64-misc
Conflicts:
	arch/arm64/Kconfig
	arch/arm64/mm/dma-mapping.c
	mm/Kconfig
2014-05-24 14:04:44 +01:00
Mark Salter
fbc223483b mm: create generic early_ioremap() support
This patch creates a generic implementation of early_ioremap() support
based on the existing x86 implementation.  early_ioremp() is useful for
early boot code which needs to temporarily map I/O or memory regions
before normal mapping functions such as ioremap() are available.

Some architectures have optional MMU.  In the no-MMU case, the remap
functions simply return the passed in physical address and the unmap
functions do nothing.

Signed-off-by: Mark Salter <msalter@redhat.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Cc: Borislav Petkov <borislav.petkov@amd.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit 9e5c33d7ae)
Signed-off-by: Mark Brown <broonie@linaro.org>

Conflicts:
	mm/Kconfig
	mm/Makefile
2014-05-23 19:27:34 +01:00
Mark Salter
b029d45783 add generic fixmap.h
Many architectures provide an asm/fixmap.h which defines support for
compile-time 'special' virtual mappings which need to be made before
paging_init() has run.  This support is also used for early ioremap on
x86.  Much of this support is identical across the architectures.  This
patch consolidates all of the common bits into asm-generic/fixmap.h
which is intended to be included from arch/*/include/asm/fixmap.h.

Signed-off-by: Mark Salter <msalter@redhat.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Richard Kuo <rkuo@codeaurora.org>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Chris Metcalf <cmetcalf@tilera.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Richard Weinberger <richard@nod.at>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jonas Bonn <jonas.bonn@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit d57c33c5da)
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-23 19:27:34 +01:00
Jan Kara
f51667e9c7 bdi: avoid oops on device removal
commit 5acda9d12d upstream.

After commit 839a8e8660 ("writeback: replace custom worker pool
implementation with unbound workqueue") when device is removed while we
are writing to it we crash in bdi_writeback_workfn() ->
set_worker_desc() because bdi->dev is NULL.

This can happen because even though bdi_unregister() cancels all pending
flushing work, nothing really prevents new ones from being queued from
balance_dirty_pages() or other places.

Fix the problem by clearing BDI_registered bit in bdi_unregister() and
checking it before scheduling of any flushing work.

Fixes: 839a8e8660

Reviewed-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jan Kara <jack@suse.cz>
Cc: Derek Basehore <dbasehore@chromium.org>
Cc: Jens Axboe <axboe@kernel.dk>
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>

(cherry picked from commit bf0972039d)
2014-05-22 21:11:01 +08:00
Mark Brown
29d6060096 Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android 2014-05-22 11:38:24 +01:00
张晴
77b2eae948 rk3288:pmic:ricoh619:slove pwrkey missed when wakeup;modify some fg error 2014-05-22 16:53:53 +08:00
黄涛
a554b12b59 ARM: rockchip: fix rk3288 tsadc_int pinctrl 2014-05-22 15:11:52 +08:00
zwl
b6f6268626 rk fb: modify fb align for improve gpu ddr utilization 2014-05-22 09:22:19 +08:00
Mark Brown
fb64c4d995 Merge remote-tracking branch 'lsk/v3.10/topic/arm64-misc' into linux-linaro-lsk
Conflicts:
	arch/arm64/kernel/debug-monitors.c
	arch/arm64/mm/dma-mapping.c
2014-05-22 00:13:20 +01:00
Will Deacon
83a6783cbe asm-generic: rwsem: de-PPCify rwsem.h
asm-generic/rwsem.h used to live under arch/powerpc. During its
liberation to common code, a few references to its former home where
preserved, in particular the definition of RWSEM_ACTIVE_MASK is
predicated on CONFIG_PPC64.

This patch updates the ifdefs and comments to architecturally neutral
versions.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Richard Kuo <rkuo@codeaurora.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit e172800e5d)
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-21 18:58:41 +01:00
Mark Brown
baa60ad55e Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android 2014-05-21 18:02:00 +01:00
Mark Brown
3f8c76bb4f Merge remote-tracking branch 'lsk/v3.10/topic/arm64-be' into linux-linaro-lsk 2014-05-21 17:59:59 +01:00
H. Peter Anvin
8c8e31f98c word-at-a-time: simplify big-endian zero_bytemask macro
This is simpler and cleaner.  Depending on architecture, a smart
compiler may or may not generate the same code.

Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit 789ce9dca8)
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-21 17:59:31 +01:00
Will Deacon
68813d8f7e word-at-a-time: avoid undefined behaviour in zero_bytemask macro
The asm-generic, big-endian version of zero_bytemask creates a mask of
bytes preceding the first zero-byte by left shifting ~0ul based on the
position of the first zero byte.

Unfortunately, if the first (top) byte is zero, the output of
prep_zero_mask has only the top bit set, resulting in undefined C
behaviour as we shift left by an amount equal to the width of the type.
As it happens, GCC doesn't manage to spot this through the call to fls(),
but the issue remains if architectures choose to implement their shift
instructions differently.

An example would be arch/arm/ (AArch32), where LSL Rd, Rn, #32 results
in Rd == 0x0, whilst on arch/arm64 (AArch64) LSL Xd, Xn, #64 results in
Xd == Xn.

Rather than check explicitly for the problematic shift, this patch adds
an extra shift by 1, replacing fls with __fls. Since zero_bytemask is
never called with a zero argument (has_zero() is used to check the data
first), we don't need to worry about calling __fls(0), which is
undefined.

Cc: <stable@vger.kernel.org>
Cc: Victor Kamensky <victor.kamensky@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit ec6931b281)
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-21 17:59:22 +01:00
Will Deacon
e73d8c4d6e word-at-a-time: provide generic big-endian zero_bytemask implementation
Whilst architectures may be able to do better than this (which they can,
by simply defining their own macro), this is a generic stab at a
zero_bytemask implementation for the asm-generic, big-endian
word-at-a-time implementation.

On arm64, a clz instruction is used to implement the fls efficiently.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit 11ec50caed)
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-21 17:59:13 +01:00
gwl
924246cd82 WiFi&BT add io reference voltage control to reducing power consumption, default is disabled. 2014-05-20 17:24:15 +08:00
Mark Brown
5b8c078e8e Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android 2014-05-19 19:44:46 +01:00
Mark Brown
cc63b3e18e Merge tag 'v3.10.40' into linux-linaro-lsk
This is the 3.10.40 stable release
2014-05-19 19:44:35 +01:00
Mark Brown
121c419afe Merge remote-tracking branch 'lsk/v3.10/topic/devm' into linux-linaro-lsk 2014-05-19 19:31:03 +01:00
Joe Perches
266a1aedb2 devres: add kernel standard devm_k.alloc functions
Currently, devm_ managed memory only supports kzalloc.

Convert the devm_kzalloc implementation to devm_kmalloc and remove the
complete memset to 0 but still set the initial struct devres header and
whatever padding before data to 0.

Add the other normal alloc variants as static inlines with __GFP_ZERO
added to the gfp flag where appropriate:

	devm_kzalloc
	devm_kcalloc
	devm_kmalloc_array

Add gfp.h to device.h for the newly added static inlines.

akpm: the current API forces us to replace kmalloc() with kzalloc() when
performing devm_ conversions.  This adds a relatively minor overhead.
More significantly, it will defeat kmemcheck used-uninitialized checking,
and for a particular driver, losing used-uninitialised checking for their
core controlling data structures will significantly degrade kmemcheck
usefulness.

Signed-off-by: Joe Perches <joe@perches.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Sangjung Woo <sangjung.woo@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 64c862a839)
Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-19 17:58:52 +01:00
Mark Brown
c877dd2854 Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android
Conflicts:
	arch/arm64/Makefile
2014-05-18 18:46:41 +01:00
Mark Brown
878a2cbd66 Merge remote-tracking branch 'lsk/v3.10/topic/arm64-perf' into linux-linaro-lsk 2014-05-18 15:03:45 +01:00
Vinayak Kale
cc096d68fd genirq: Add an accessor for IRQ_PER_CPU flag
This patch adds an accessor function for IRQ_PER_CPU flag.
The accessor function is useful to determine whether an IRQ is percpu or not.

This patch is based on an older patch posted by Chris Smith here [1].
There is a minor change w.r.t. Chris's original patch: The accessor function
is renamed as 'irq_is_percpu' instead of 'irq_is_per_cpu'.

[1]: http://lkml.indiana.edu/hypermail/linux/kernel/1207.3/02955.html

Signed-off-by: Chris Smith <chris.smith@st.com>
Signed-off-by: Vinayak Kale <vkale@apm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit 7f4a8e7b19)
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-18 15:00:56 +01:00
Mark Brown
a5d53ad243 Merge remote-tracking branch 'lsk/v3.10/topic/arm64-misc' into linux-linaro-lsk
Conflicts:
	Documentation/arm64/tagged-pointers.txt
	arch/arm64/Kconfig
	arch/arm64/boot/dts/Makefile
	arch/arm64/include/asm/arch_timer.h
	arch/arm64/include/asm/elf.h
	arch/arm64/include/asm/spinlock.h
	arch/arm64/kernel/smp.c
2014-05-15 20:29:29 +01:00
Dan Aloni
760b97f095 Move the EM_ARM and EM_AARCH64 definitions to uapi/linux/elf-em.h
Signed-off-by: Dan Aloni <alonid@stratoscale.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit 909e3ee411)
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-15 20:00:45 +01:00
Santosh Shilimkar
9a87b8d3cd of: Specify initrd location using 64-bit
On some PAE architectures, the entire range of physical memory could reside
outside the 32-bit limit.  These systems need the ability to specify the
initrd location using 64-bit numbers.

This patch globally modifies the early_init_dt_setup_initrd_arch() function to
use 64-bit numbers instead of the current unsigned long.

There has been quite a bit of debate about whether to use u64 or phys_addr_t.
It was concluded to stick to u64 to be consistent with rest of the device
tree code. As summarized by Geert, "The address to load the initrd is decided
by the bootloader/user and set at that point later in time. The dtb should not
be tied to the kernel you are booting"

More details on the discussion can be found here:
https://lkml.org/lkml/2013/6/20/690
https://lkml.org/lkml/2012/9/13/544

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Vineet Gupta <vgupta@synopsys.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Grant Likely <grant.likely@linaro.org>
(cherry picked from commit 374d5c9964)
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-15 19:59:55 +01:00
Steve Capper
6991fe93fc mm: thp: Correct the HPAGE_PMD_ORDER check.
All Transparent Huge Pages are allocated by the buddy allocator.

A compile time check is in place that fails when the order of a
transparent huge page is too large to be allocated by the buddy
allocator. Unfortunately that compile time check passes when:
HPAGE_PMD_ORDER == MAX_ORDER
( which is incorrect as the buddy allocator can only allocate
memory of order strictly less than MAX_ORDER. )

This patch updates the compile time check to fail in the above
case.

Signed-off-by: Steve Capper <steve.capper@linaro.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
2014-05-15 19:59:48 +01:00
Steve Capper
aee2c0d2d0 mm: hugetlb: Copy huge_pmd_share from x86 to mm.
Under x86, multiple puds can be made to reference the same bank of
huge pmds provided that they represent a full PUD_SIZE of shared
huge memory that is aligned to a PUD_SIZE boundary.

The code to share pmds does not require any architecture specific
knowledge other than the fact that pmds can be indexed, thus can
be beneficial to some other architectures.

This patch copies the huge pmd sharing (and unsharing) logic from
x86/ to mm/ and introduces a new config option to activate it:
CONFIG_ARCH_WANTS_HUGE_PMD_SHARE

Signed-off-by: Steve Capper <steve.capper@linaro.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
2014-05-15 19:59:47 +01:00