Commit Graph

2181 Commits

Author SHA1 Message Date
黄涛
c7412991e9 Merge remote-tracking branch 'origin/develop-3.10' into develop-3.10-next
Conflicts:
	arch/arm/mach-rockchip/vcodec_service.c
	drivers/input/Makefile
2014-08-08 10:21:50 +08:00
黄涛
fcef60e36f Merge tag 'lsk-v3.10-android-14.07' into develop-3.10
LSK v3.10 Android 14.07 release

Conflicts:
	drivers/clocksource/arm_arch_timer.c
	lib/Makefile
2014-08-06 15:34:14 +08:00
Mark Brown
c98536343e Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android
Conflicts:
	drivers/of/fdt.c
2014-07-24 23:01:03 +01:00
Mark Brown
bcddae4453 Merge remote-tracking branch 'lsk/v3.10/topic/libfdt' into linux-linaro-lsk
Conflicts:
	drivers/of/fdt.c
2014-07-24 22:54:49 +01:00
Mark Brown
d6c2d4f195 of/fdt: update of_get_flat_dt_prop in prep for libfdt
Make of_get_flat_dt_prop arguments compatible with libfdt fdt_getprop
call in preparation to convert FDT code to use libfdt. Make the return
value const and the property length ptr type an int.

Signed-off-by: Rob Herring <robh@kernel.org>
Tested-by: Michal Simek <michal.simek@xilinx.com>
Tested-by: Grant Likely <grant.likely@linaro.org>
Tested-by: Stephen Chivers <schivers@csc.com>
(cherry picked from commit 9d0c4dfedd)
Signed-off-by: Mark Brown <broonie@linaro.org>

Conflicts:
	arch/arc/kernel/devtree.c
	arch/arm/kernel/devtree.c
	arch/arm/mach-exynos/exynos.c
	arch/arm/plat-samsung/s5p-dev-mfc.c
	arch/powerpc/kernel/epapr_paravirt.c
	arch/powerpc/kernel/prom.c
	arch/powerpc/mm/hash_utils_64.c
	arch/powerpc/platforms/powernv/opal.c
	arch/xtensa/kernel/setup.c
	drivers/of/fdt.c
2014-07-24 21:08:43 +01:00
陈亮
a3e8287ce9 ARM: rockchip: pie support rk312x
Signed-off-by: 陈亮 <cl@rock-chips.com>
2014-07-23 18:14:03 -07:00
黄涛
1e78f18756 ARM: rockchip: pie support rk3036 2014-07-07 19:45:28 +08:00
Mark Brown
471dd6b43f Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android 2014-07-01 11:20:33 +01:00
Mark Brown
d01bd6fdb3 Merge tag 'v3.10.46' into linux-linaro-lsk
This is the 3.10.46 stable release
2014-07-01 11:19:52 +01:00
Russell King
7e80e18a85 ARM: stacktrace: avoid listing stacktrace functions in stacktrace
commit 3683f44c42 upstream.

While debugging the FEC ethernet driver using stacktrace, it was noticed
that the stacktraces always begin as follows:

 [<c00117b4>] save_stack_trace_tsk+0x0/0x98
 [<c0011870>] save_stack_trace+0x24/0x28
 ...

This is because the stack trace code includes the stack frames for itself.
This is incorrect behaviour, and also leads to "skip" doing the wrong
thing (which is the number of stack frames to avoid recording.)

Perversely, it does the right thing when passed a non-current thread.  Fix
this by ensuring that we have a known constant number of frames above the
main stack trace function, and always skip these.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-30 20:09:44 -07: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
Alex Shi
4a29519b4a Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android 2014-06-12 17:36:21 +08:00
Alex Shi
5f00470fca Merge tag v3.10.43 into linux-linaro-lsk
This is the 3.10.43 stable release
2014-06-12 15:01:53 +08:00
Will Deacon
c318d7b4db ARM: perf: hook up perf_sample_event_took around pmu irq handling
commit 5f5092e72c upstream.

Since we indirect all of our PMU IRQ handling through a dispatcher, it's
trivial to hook up perf_sample_event_took to prevent applications such
as oprofile from generating interrupt storms due to an unrealisticly
low sample period.

Reported-by: Robert Richter <rric@kernel.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Cc: Weng Meiling <wengmeiling.weng@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-11 12:03:27 -07:00
Alex Shi
69284a3b89 Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android 2014-06-09 12:57:26 +08:00
Alex Shi
3b8d7f4db3 Merge tag v3.10.42 into linux-linaro-lsk
This is the 3.10.42 stable release
2014-06-09 12:55:42 +08:00
Liu Hua
4468ae6574 ARM: 8012/1: kdump: Avoid overflow when converting pfn to physaddr
commit 8fad87bca7 upstream.

When we configure CONFIG_ARM_LPAE=y, pfn << PAGE_SHIFT will
overflow if pfn >= 0x100000 in copy_oldmem_page.
So use __pfn_to_phys for converting.

Signed-off-by: Liu Hua <sdu.liu@huawei.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-07 13:25:34 -07:00
黄涛
c607c9a2c6 ARM: rockchip: show Processor on cpuinfo, for some Andorid QQ games 2014-05-27 16:52:03 +08:00
Mark Brown
6ba9615888 Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android 2014-05-07 09:50:19 +01:00
Mark Brown
03b1200275 Merge tag 'v3.10.39' into linux-linaro-lsk
This is the 3.10.39 stable release
2014-05-07 09:50:01 +01:00
Liu Hua
674ae6c7b4 ARM: 8030/1: ARM : kdump : add arch_crash_save_vmcoreinfo
commit 56b700fd6f upstream.

For vmcore generated by LPAE enabled kernel, user space
utility such as crash needs additional infomation to
parse.

So this patch add arch_crash_save_vmcoreinfo as what PAE enabled
i386 linux does.

Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Liu Hua <sdu.liu@huawei.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-06 07:55:27 -07:00
Stephen Boyd
28650a80a6 ARM: 7803/1: Fix deadlock scenario with smp_send_stop()
If one process calls sys_reboot and that process then stops other
CPUs while those CPUs are within a spin_lock() region we can
potentially encounter a deadlock scenario like below.

CPU 0                   CPU 1
-----                   -----
                        spin_lock(my_lock)
smp_send_stop()
 <send IPI>             handle_IPI()
                         disable_preemption/irqs
                          while(1);
 <PREEMPT>
spin_lock(my_lock) <--- Waits forever

We shouldn't attempt to run any other tasks after we send a stop
IPI to a CPU so disable preemption so that this task runs to
completion. We use local_irq_disable() here for cross-arch
consistency with x86.

Reported-by: Sundarajan Srinivasan <sundaraj@codeaurora.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-05-05 16:17:08 +08:00
Sudeep KarkadaNagesha
7896a037fa ARM: arch_timer: add support to configure and enable event stream
This patch adds support for configuring the event stream frequency
and enabling it.

It also adds the hwcaps definitions to the user to detect this event
stream feature.

Cc: Russell King <linux@arm.linux.org.uk>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
(cherry picked from commit e9faebc66e)
Signed-off-by: Alex Shi <alex.shi@linaro.org>

Conflicts:
	arch/arm/include/asm/arch_timer.h
	arch/arm/include/uapi/asm/hwcap.h
	arch/arm/kernel/setup.c
2014-04-28 13:59:00 +08:00
Alex Shi
22d2266cff Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android 2014-04-25 15:44:21 +08:00
Albin Tonnerre
8d9206dbd4 ARM: perf: add support for the Cortex-A12 PMU
Cortex-A12 implements Performance Monitors compliant with the PMUv2
architecture.

This patch adds support for the Cortex-A12 PMU to the ARM perf backend.

Signed-off-by: Albin Tonnerre <albin.tonnerre@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>

Conflicts:
	arch/arm/kernel/perf_event_v7.c
2014-04-24 20:59:07 +08: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
Sudeep KarkadaNagesha
4fc60dc3d3 ARM: arch_timer: add support to configure and enable event stream
This patch adds support for configuring the event stream frequency
and enabling it.

It also adds the hwcaps definitions to the user to detect this event
stream feature.

Cc: Russell King <linux@arm.linux.org.uk>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
(cherry picked from commit e9faebc66e)
Signed-off-by: Alex Shi <alex.shi@linaro.org>

Conflicts:
	arch/arm/include/asm/arch_timer.h
	arch/arm/include/uapi/asm/hwcap.h
	arch/arm/kernel/setup.c
2014-04-14 19:44:43 +08:00
黄涛
992bb62edd rk: fix PIE support multi cpu 2014-04-08 08:47:46 +08:00
Mark Brown
dc76730287 Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android
Conflicts:
	arch/arm/include/asm/hardware/coresight.h
2014-03-31 10:43:50 +01:00
Mark Brown
87da43c02b Merge branch 'v3.10/topic/arm64-be' of git://git.linaro.org/kernel/linux-linaro-stable into linux-linaro-lsk 2014-03-31 10:26:51 +01:00
xxx
dae0a883d2 rk3288 pie support,but rk3188 is not be support 2014-03-28 16:04:21 +08:00
Alex Shi
696e897344 Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android 2014-03-28 11:07:37 +08:00
Alex Shi
02e11cd173 Merge tag 'v3.10.34' into linux-linaro-lsk
This is 3.10.34 stable release
2014-03-28 10:58:52 +08:00
陈亮
6eb29b7d6e rk3288: swap rk3188 and rk3288 PIE_OVERLAY_SECTION for rk3288 pie work 2014-03-27 19:49:20 -07:00
Russell King
22fc72288f ARM: ignore memory below PHYS_OFFSET
commit 571b143750 upstream.

If the kernel is loaded higher in physical memory than normal, and we
calculate PHYS_OFFSET higher than the start of RAM, this leads to
boot problems as we attempt to map part of this RAM into userspace.
Rather than struggle with this, just truncate the mapping.

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-03-23 21:38:21 -07:00
Magnus Damm
307af15679 ARM: 7864/1: Handle 64-bit memory in case of 32-bit phys_addr_t
commit 6d7d5da7d7 upstream.

Use CONFIG_ARCH_PHYS_ADDR_T_64BIT to determine
if ignoring or truncating of memory banks is
neccessary. This may be needed in the case of
64-bit memory bank addresses but when phys_addr_t
is kept 32-bit.

Signed-off-by: Magnus Damm <damm@opensource.se>
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-03-23 21:38:21 -07:00
Victor Kamensky
43fb56589e ARM: signal: sigreturn_codes should be endian neutral to work in BE8
In case of BE8 kernel data is in BE order whereas code stays in LE
order. Move sigreturn_codes to separate .S file and use proper
assembler mnemonics for these code snippets. In this case compiler
will take care of proper instructions byteswaps for BE8 case.
Change assumes that sufficiently Thumb-capable tools are used to
build kernel.

Problem was discovered during ltp testing of BE system: all rt_sig*
tests failed. Tested against the same tests in both BE and LE modes.

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Reviewed-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
(cherry picked from commit 574e2b5111)

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>

Conflicts:
	arch/arm/kernel/Makefile
2014-03-13 14:49:45 -07:00
Ben Dooks
56cbe5efe6 ARM: Correct BUG() assembly to ensure it is endian-agnostic
Currently BUG() uses .word or .hword to create the necessary illegal
instructions. However if we are building BE8 then these get swapped
by the linker into different illegal instructions in the text. This
means that the BUG() macro does not get trapped properly.

Change to using <asm/opcodes.h> to provide the necessary ARM instruction
building as we cannot rely on gcc/gas having the `.inst` instructions
which where added to try and resolve this issue (reported by Dave Martin
<Dave.Martin@arm.com>).

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Reviewed-by: Dave Martin <Dave.Martin@arm.com>
(cherry picked from commit 63328070ef)

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
2014-03-13 14:48:37 -07:00
Ben Dooks
a973c8bf09 ARM: module: correctly relocate instructions in BE8
When in BE8 mode, our instructions are not in the same ordering as the
data, so use <asm/opcodes.h> to take this into account.

Note, also requires modules to be built --be8

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Reviewed-by: Dave Martin <Dave.Martin@arm.com>
(cherry picked from commit f592d323bc)

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
2014-03-13 14:48:34 -07:00
Ben Dooks
2a08f5bc86 ARM: traps: use <asm/opcodes.h> to get correct instruction order
The trap handler needs to take into account the endian configuration of
the system when loading instructions. Use <asm/opcodes.h> to provide the
necessary conversion functions.

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit a79a0cb1d3)

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
2014-03-13 14:48:34 -07:00
Ben Dooks
ed0d40f6db ARM: smp_scu: data endian fixes
The smp_scu driver needs to use the relaxed readl/write accessors
to avoid any issues with the endian mode the processor core is in.

Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
(cherry picked from commit 099a480913)

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
2014-03-13 14:47:34 -07:00
Ben Dooks
bd4b0c40b0 ARM: twd: data endian fix
Ensure the twd driver uses the correct calls to access the hardware
to ensure that we do not end up with data in the wrong endian format.

Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
(cherry picked from commit 2e874ea342)

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>

Conflicts:
	arch/arm/kernel/smp_twd.c
2014-03-13 14:47:24 -07:00
Ben Dooks
47287dde86 ARM: set BE8 if LE in head code
If we are booting in LE and compiled for BE8, then add code to
set the state to bE8. Since the instruction stream is always LE,
we do not need to do anything special to the instruction.

Also ensure that the secondary processors are started in the same mode.

Note, we do add about 20 bytes to the kernel image, but it seems easier
to do this than adding another configuration to change.

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Reviewed-by: Dave Martin <Dave.Martin@arm.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 97bcb0fea5)

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>

Conflicts:
	arch/arm/kernel/sleep.S
2014-03-13 14:43:47 -07:00
Ben Dooks
c145b15891 ARM: fixup_pv_table bug when CPU_ENDIAN_BE8
The fixup_pv_table assumes that the instructions are in the same
endian configuration as the data, but when the CPU is running in
BE8 the instructions stay in little-endian format.

Make sure if CONFIG_CPU_ENDIAN_BE8 is set that we do all the
alterations to the instructions taking in to account the LDR/STR
will be swapping the data endian-ness.

Since the code is only modifying a byte, we avoid dual-swapping
the data, and just change the bits we clear and ORR in (in the
case where the code is not thumb2).

For thumb2, we add the necessary rev16 instructions to ensure that
the instructions are processed in the correct format, as it was
easier than re-writing the code to contain a mask and shift.

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Reviewed-by: Dave Martin <Dave.Martin@arm.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 2f9bf9bedd)

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
2014-03-13 14:42:28 -07:00
Ben Dooks
87d7e2fbb7 ARM: asm: Add ARM_BE8() assembly helper
Add ARM_BE8() helper to wrap any code conditional on being
compile when CONFIG_ARM_ENDIAN_BE8 is selected and convert
existing places where this is to use it.

Acked-by: Nicolas Pitre <nico@linaro.org>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
(cherry picked from commit 457c2403c5)

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
2014-03-13 14:42:27 -07:00
黄涛
9208a0dfce ARM: rockchip: add rk3288.c, pie support rk3288 2014-02-27 21:46:31 +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
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
Vijaya Kumar K
36a2e5010f ARM: 7815/1: kexec: offline non panic CPUs on Kdump panic
commit 4f9b4fb7a2 upstream.

In case of normal kexec kernel load, all cpu's are offlined
before calling machine_kexec().But in case crash panic cpus
are relaxed in machine_crash_nonpanic_core() SMP function
but not offlined.

When crash kernel is loaded with kexec and on panic trigger
machine_kexec() checks for number of cpus online.
If more than one cpu is online machine_kexec() fails to load
with below error

kexec: error: multiple CPUs still online

In machine_crash_nonpanic_core() SMP function, offline CPU
before cpu_relax

Signed-off-by: Vijaya Kumar K <Vijaya.Kumar@caviumnetworks.com>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: l00221744 <sdu.liu@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-01-25 08:27:11 -08:00