aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/kernel
AgeCommit message (Collapse)AuthorFilesLines
2013-04-24ARM: mcpm: introduce helpers for platform coherency exit/setupDave Martin1-0/+3
This provides helper methods to coordinate between CPUs coming down and CPUs going up, as well as documentation on the used algorithms, so that cluster teardown and setup operations are not done for a cluster simultaneously. For use in the power_down() implementation: * __mcpm_cpu_going_down(unsigned int cluster, unsigned int cpu) * __mcpm_outbound_enter_critical(unsigned int cluster) * __mcpm_outbound_leave_critical(unsigned int cluster) * __mcpm_cpu_down(unsigned int cluster, unsigned int cpu) The power_up_setup() helper should do platform-specific setup in preparation for turning the CPU on, such as invalidating local caches or entering coherency. It must be assembler for now, since it must run before the MMU can be switched on. It is passed the affinity level for which initialization should be performed. Because the mcpm_sync_struct content is looked-up and modified with the cache enabled or disabled depending on the code path, it is crucial to always ensure proper cache maintenance to update main memory right away. The sync_cache_*() helpers are used to that end. Also, in order to prevent a cached writer from interfering with an adjacent non-cached writer, we ensure each state variable is located to a separate cache line. Thanks to Nicolas Pitre and Achin Gupta for the help with this patch. Signed-off-by: Dave Martin <[email protected]> Signed-off-by: Nicolas Pitre <[email protected]> Reviewed-by: Will Deacon <[email protected]>
2013-04-19ARM: 7699/1: sched_clock: Add more notrace to prevent recursionStephen Boyd1-2/+2
cyc_to_sched_clock() is called by sched_clock() and cyc_to_ns() is called by cyc_to_sched_clock(). I suspect that some compilers inline both of these functions into sched_clock() and so we've been getting away without having a notrace marking. It seems that my compiler isn't inlining cyc_to_sched_clock() though, so I'm hitting a recursion bug when I enable the function graph tracer, causing my system to crash. Marking these functions notrace fixes it. Technically cyc_to_ns() doesn't need the notrace because it's already marked inline, but let's just add it so that if we ever remove inline from that function it doesn't blow up. Signed-off-by: Stephen Boyd <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-04-18ARM: smp: flush L1 cache in cpu_die()Russell King1-4/+38
Flush the L1 cache for the CPU which is going down in cpu_die() so that we don't end up with all platforms doing this. This ensures that any cache lines we own are pushed out before the cache becomes inaccessible. We may end up subsequently creating some dirty cache lines - for example, with the complete() call, but this update must become visible to other CPUs before __cpu_die() can proceed. Subsequent accesses from the platforms cpu_die() function should _not_ matter. Also place a mb() after the complete() call to ensure that this is visible to other CPUs. Signed-off-by: Russell King <[email protected]>
2013-04-17ARM: ARMv7-M: Allow the building of new kernel portUwe Kleine-König1-1/+7
This patch modifies the required Kconfig and Makefile files to allow the building of kernel for Cortex-M3. Signed-off-by: Catalin Marinas <[email protected]> Reviewed-by: Jonathan Austin <[email protected]> Tested-by: Jonathan Austin <[email protected]> Signed-off-by: Uwe Kleine-König <[email protected]>
2013-04-17ARM: ARMv7-M: Add support for exception handlingUwe Kleine-König3-0/+271
This patch implements the exception handling for the ARMv7-M architecture (pretty different from the A or R profiles). It bases on work done earlier by Catalin for 2.6.33 but was nearly completely rewritten to use a pt_regs layout compatible to the A profile. Signed-off-by: Catalin Marinas <[email protected]> Reviewed-by: Jonathan Austin <[email protected]> Tested-by: Jonathan Austin <[email protected]> Signed-off-by: Uwe Kleine-König <[email protected]>
2013-04-17ARM: Add base support for ARMv7-MCatalin Marinas3-5/+30
This patch adds the base support for the ARMv7-M architecture. It consists of the corresponding arch/arm/mm/ files and various #ifdef's around the kernel. Exception handling is implemented by a subsequent patch. [ukleinek: squash in some changes originating from commit b5717ba (Cortex-M3: Add support for the Microcontroller Prototyping System) from the v2.6.33-arm1 patch stack, port to post 3.6, drop zImage support, drop reorganisation of pt_regs, assert CONFIG_CPU_V7M doesn't leak into installed headers and a few cosmetic changes] Signed-off-by: Catalin Marinas <[email protected]> Reviewed-by: Jonathan Austin <[email protected]> Tested-by: Jonathan Austin <[email protected]> Signed-off-by: Uwe Kleine-König <[email protected]>
2013-04-17Merge tag 'clksrc-cleanup-for-3.10-part2' of ↵Olof Johansson3-19/+32
git://sources.calxeda.com/kernel/linux into late/clksrc This is the 2nd part of ARM timer clean-ups for 3.10. This series has the following changes: - Add sched_clock selection logic to select the highest frequency clock - Use full 64-bit arch timer counter for sched_clock - Convert arch timer, sp804 and integrator-cp timers to CLKSRC_OF and adapt all users to use clocksource_of_init * tag 'clksrc-cleanup-for-3.10-part2' of git://sources.calxeda.com/kernel/linux: devtree: add binding documentation for sp804 ARM: integrator-cp: convert use CLKSRC_OF for timer init ARM: versatile: use OF init for sp804 timer ARM: versatile: add versatile dtbs to dtbs target ARM: vexpress: remove extra timer-sp control register clearing ARM: dts: vexpress: disable CA9 core tile sp804 timer ARM: vexpress: remove sp804 OF init ARM: highbank: use OF init for sp804 timer ARM: timer-sp: convert to use CLKSRC_OF init OF: add empty of_device_is_available for !OF ARM: convert arm/arm64 arch timer to use CLKSRC_OF init ARM: make machine_desc->init_time default to clocksource_of_init ARM: arch_timer: use full 64-bit counter for sched_clock ARM: make sched_clock just call a function pointer ARM: sched_clock: allow changing to higher frequency counter Signed-off-by: Olof Johansson <[email protected]> This has a nasty set of conflicts with the exynos MCT code, which was moved in a separate branch, and then fixed up when merged in, but still conflicts a bit here. It should have been sorted out by this merge though.
2013-04-17ARM: 7698/1: perf: fix group validation when using enable_on_execWill Deacon1-1/+4
Events may be created with attr->disabled == 1 and attr->enable_on_exec == 1, which confuses the group validation code because events with the PERF_EVENT_STATE_OFF are not considered candidates for scheduling, which may lead to failure at group scheduling time. This patch fixes the validation check for ARM, so that events in the OFF state are still considered when enable_on_exec is true. Cc: [email protected] Cc: Peter Zijlstra <[email protected]> Cc: Arnaldo Carvalho de Melo <[email protected]> Cc: Jiri Olsa <[email protected]> Reported-by: Sudeep KarkadaNagesha <[email protected]> Signed-off-by: Will Deacon <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-04-17ARM: 7697/1: hw_breakpoint: do not use __cpuinitdata for dbg_cpu_pm_nbBastian Hecht1-1/+1
We must not declare dbg_cpu_pm_nb as __cpuinitdata as we need it after system initialization for Suspend and CPUIdle. This was done in commit 9a6eb310eaa5 ("ARM: hw_breakpoint: Debug powerdown support for self-hosted debug"). Cc: [email protected] Cc: Dietmar Eggemann <[email protected]> Signed-off-by: Bastian Hecht <[email protected]> Signed-off-by: Will Deacon <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-04-17ARM: 7694/1: ARM, TCM: initialize TCM in paging_init(), instead of setup_arch()Joonsoo Kim3-21/+0
tcm_init() call iotable_init() and it use early_alloc variants which do memblock allocation. Directly using memblock allocation after initializing bootmem should not permitted, because bootmem can't know where are additinally reserved. So move tcm_init() to a safe place before initalizing bootmem. (On the U300) Tested-by: Linus Walleij <[email protected]> Signed-off-by: Joonsoo Kim <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-04-11ARM: convert arm/arm64 arch timer to use CLKSRC_OF initRob Herring1-14/+3
This converts arm and arm64 to use CLKSRC_OF DT based initialization for the arch timer. A new function arch_timer_arch_init is added to allow for arch specific setup. This has a side effect of enabling sched_clock on omap5 and exynos5. There should not be any reason not to use the arch timers for sched_clock. Signed-off-by: Rob Herring <[email protected]> Cc: Russell King <[email protected]> Cc: Kukjin Kim <[email protected]> Cc: Tony Lindgren <[email protected]> Cc: Simon Horman <[email protected]> Cc: Magnus Damm <[email protected]> Cc: Catalin Marinas <[email protected]> Cc: Will Deacon <[email protected]> Cc: John Stultz <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Acked-by: Santosh Shilimkar <[email protected]>
2013-04-11ARM: make machine_desc->init_time default to clocksource_of_initArnd Bergmann1-1/+6
Originally from a default machine descriptor patch from Arnd, pull out just the default call to clocksource_of_init part. This is needed so that platforms can simply remove .init_time calls as they are converted to use clocksource_of_init. Signed-off-by: Arnd Bergmann <[email protected]> Acked-by: Nicolas Pitre <[email protected]> Acked-by: Olof Johansson <[email protected]> Signed-off-by: Rob Herring <[email protected]>
2013-04-11ARM: arch_timer: use full 64-bit counter for sched_clockRob Herring1-5/+13
Only 32-bits of the arch timer were being used and wrapping was needlessly being done in s/w. By using the full counter (56-64 bits), we don't need to deal with wrapping and can simplify the implementation when using arch timer. Signed-off-by: Rob Herring <[email protected]>
2013-04-10ARM: make sched_clock just call a function pointerRob Herring1-1/+8
This converts sched_clock to simply a call to a function pointer in order to allow overriding it. This will allow for use with 64-bit counters where overflow handling is not needed. Signed-off-by: Rob Herring <[email protected]>
2013-04-10ARM: sched_clock: allow changing to higher frequency counterRob Herring1-1/+5
Allow multiple calls to setup_sched_clock and switch to the new counter if it is higher frequency. Signed-off-by: Rob Herring <[email protected]>
2013-04-09procfs: new helper - PDE_DATA(inode)Al Viro1-1/+1
The only part of proc_dir_entry the code outside of fs/proc really cares about is PDE(inode)->data. Provide a helper for that; static inline for now, eventually will be moved to fs/proc, along with the knowledge of struct proc_dir_entry layout. Signed-off-by: Al Viro <[email protected]>
2013-04-09get rid of a bunch of open-coded create_proc_read_entry()Al Viro1-3/+2
Signed-off-by: Al Viro <[email protected]>
2013-04-09atags_proc: switch to proc_create_data()Al Viro1-18/+10
Signed-off-by: Al Viro <[email protected]>
2013-04-09Merge tag 'v3.9-rc5' into next/cleanupArnd Bergmann1-1/+1
This is a dependency for the mxs/cleanup branch. Signed-off-by: Arnd Bergmann <[email protected]>
2013-04-08Merge tag 'omap-for-v3.10/timer-signed' of ↵Arnd Bergmann2-13/+13
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/drivers From Tony Lindgren <[email protected]>: Clean-up for omap2+ timers from Jon Hunter <[email protected]>: This series consists mainly of clean-ups for clockevents and clocksource timers on OMAP2+ devices. The most significant change in functionality comes from the 5th patch which is changing the selection of the clocksource timer for OMAP3 and AM335x devices when gptimers are used for clocksource. Note that this series depends on 7185684 (ARM: OMAP: use consistent error checking) in RMK's tree and 960cba6 (ARM: OMAP5: timer: Update the clocksource name as per clock data) in omap-for-v3.10/fixes-non-critical. So this branch is based on a merge of 7185684 and omap-for-v3.10/fixes-non-critical to avoid non-trivial merge conflicts. * tag 'omap-for-v3.10/timer-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP4+: Fix sparse warning in system timers ARM: OMAP2+: Store ID of system timers in timer structure ARM: OMAP3: Update clocksource timer selection ARM: OMAP2+: Simplify system timers definitions ARM: OMAP2+: Simplify system timer clock definitions ARM: OMAP2+: Remove hard-coded test on timer ID ARM: OMAP2+: Display correct system timer name ARM: OMAP2+: fix typo "CONFIG_BRIDGE_DVFS" ARM: OMAP1: remove "config MACH_OMAP_HTCWIZARD" ARM: OMAP: dpll: enable bypass clock only when attempting dpll bypass ARM: OMAP2+: powerdomain: avoid testing whether an unsigned char is less than 0 ARM: OMAP2+: hwmod: Remove unused _HWMOD_WAKEUP_ENABLED flag ARM: OMAP2+: am335x: Change the wdt1 func clk src to per_32k clk ARM: OMAP2+: AM33xx: hwmod: Add missing sysc definition to wdt1 entry Signed-off-by: Arnd Bergmann <[email protected]>
2013-04-08Merge branch 'zynq/clksrc/cleanup' of git://git.xilinx.com/linux-xlnx into ↵Arnd Bergmann1-13/+4
next/drivers From Michal Simek <[email protected]>: * 'zynq/clksrc/cleanup' of git://git.xilinx.com/linux-xlnx: arm: zynq: Move timer to generic location arm: zynq: Do not use xilinx specific function names arm: zynq: Move timer to clocksource interface arm: zynq: Use standard timer binding Signed-off-by: Arnd Bergmann <[email protected]>
2013-04-08arm: Use generic idle loopThomas Gleixner2-71/+27
Use the generic idle loop and replace enable/disable_hlt with the respective core functions. Signed-off-by: Thomas Gleixner <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Rusty Russell <[email protected]> Cc: Paul McKenney <[email protected]> Cc: Peter Zijlstra <[email protected]> Reviewed-by: Cc: Srivatsa S. Bhat <[email protected]> Cc: Magnus Damm <[email protected]> Cc: Russell King <[email protected]> Tested-by: Kevin Hilman <[email protected]> # OMAP Link: http://lkml.kernel.org/r/[email protected]
2013-04-08arch: Cleanup enable/disable_hltThomas Gleixner1-4/+0
enable/disable_hlt() does not need to be exported and can be killed on architectures which do not use it at all. Signed-off-by: Thomas Gleixner <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Rusty Russell <[email protected]> Cc: Paul McKenney <[email protected]> Cc: Peter Zijlstra <[email protected]> Reviewed-by: Cc: Srivatsa S. Bhat <[email protected]> Cc: Magnus Damm <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
2013-04-03Merge commit '7185684' into omap-for-v3.10/timerTony Lindgren2-13/+13
Conflicts: arch/arm/plat-omap/dmtimer.c Resolve merge conflict in omap_device.c as per Lothar Waßmann <[email protected]>.
2013-04-03ARM: 7688/1: add support for context tracking subsystemKevin Hilman3-0/+32
commit 91d1aa43 (context_tracking: New context tracking susbsystem) generalized parts of the RCU userspace extended quiescent state into the context tracking subsystem. Context tracking is then used to implement adaptive tickless (a.k.a extended nohz) To support the new context tracking subsystem on ARM, the user/kernel boundary transtions need to be instrumented. For exceptions and IRQs in usermode, the existing usr_entry macro is used to instrument the user->kernel transition. For the return to usermode path, the ret_to_user* path is instrumented. Using the usr_entry macro, this covers interrupts in userspace, data abort and prefetch abort exceptions in userspace as well as undefined exceptions in userspace (which is where FP emulation and VFP are handled.) For syscalls, the slow return path is covered by instrumenting the ret_to_user path. In addition, the syscall entry point is instrumented which covers the user->kernel transition for both fast and slow syscalls, and an additional instrumentation point is added for the fast syscall return path (ret_fast_syscall). Cc: Mats Liljegren <[email protected]> Cc: Frederic Weisbecker <[email protected]> Signed-off-by: Kevin Hilman <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-04-03ARM: 7683/1: pci: add a align_resource hookThomas Petazzoni1-0/+6
The PCI specifications says that an I/O region must be aligned on a 4 KB boundary, and a memory region aligned on a 1 MB boundary. However, the Marvell PCIe interfaces rely on address decoding windows (which allow to associate a range of physical addresses with a given device). For PCIe memory windows, those windows are defined with a 1 MB granularity (which matches the PCI specs), but PCIe I/O windows can only be defined with a 64 KB granularity, so they have to be 64 KB aligned. We therefore need to tell the PCI core about this special alignement requirement. The PCI core already calls pcibios_align_resource() in the ARM PCI core, specifically for such purposes. So this patch extends the ARM PCI core so that it calls a ->align_resource() hook registered by the PCI driver, exactly like the existing ->map_irq() and ->swizzle() hooks. A particular PCI driver can register a align_resource() hook, and do its own specific alignement, depending on the specific constraints of the underlying hardware. Signed-off-by: Thomas Petazzoni <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-04-03ARM: entry: move disable_irq_notrace into svc_exitRussell King2-18/+6
All svc exit paths need IRQs off. Rather than placing this before every user of svc_exit, combine it into this macro. Signed-off-by: Russell King <[email protected]>
2013-04-03ARM: entry: move IRQ tracing exit into svc_exitRussell King2-28/+31
The IRQ tracing exit path is much the same between all SVC mode exits, so move this into the svc_exit macro. Use a macro parameter to identify the IRQ case, which is the only different case there is. Signed-off-by: Russell King <[email protected]>
2013-04-03ARM: entry-common: get rid of unnecessary ifdefsRussell King1-4/+1
The contents of the asm_trace_hardirqs_on is already conditional on CONFIG_TRACE_IRQFLAGS. There's little point also making the use of the macro conditional as well. Get rid of these ifdefs to make the code easier to read. Signed-off-by: Russell King <[email protected]>
2013-04-03ARM: 7690/1: mm: fix CONFIG_LPAE typosPaul Bolle2-2/+2
CONFIG_LPAE doesn't exist: the correct option is CONFIG_ARM_LPAE, so fix up the two typos under arch/arm/. The fix to head.S is slightly scary, but this is just for setting up an early io-mapping for the serial port when running on a big-endian, LPAE system. Since these systems don't exist in the wild (at least, I have no access to one outside of kvmtool, which doesn't provide a serial port suitable for earlyprintk), then we can revisit the code later if it causes any problems. Signed-off-by: Paul Bolle <[email protected]> Signed-off-by: Will Deacon <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-04-03ARM: 7689/1: add unwind annotations to ftrace asmRabin Vincent1-0/+12
Add unwind annotations to the ftrace assembly code so that the function tracer's stacktracing options (func_stack_trace, etc.) work when CONFIG_ARM_UNWIND is enabled. Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-04-03ARM: 7685/1: delay: use private ticks_per_jiffy field for timer-based delay opsWill Deacon1-3/+0
Commit 70264367a243 ("ARM: 7653/2: do not scale loops_per_jiffy when using a constant delay clock") fixed a problem with our timer-based delay loop, where loops_per_jiffy is scaled by cpufreq yet used directly by the timer delay ops. This patch fixes the problem in a more elegant way by keeping a private ticks_per_jiffy field in the delay ops, independent of loops_per_jiffy and therefore not subject to scaling. The loop-based delay continues to use loops_per_jiffy directly, as it should. Acked-by: Nicolas Pitre <[email protected]> Signed-off-by: Will Deacon <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-04-03ARM: 7684/1: errata: Workaround for Cortex-A15 erratum 798181 (TLBI/DSB ↵Catalin Marinas1-0/+66
operations) On Cortex-A15 (r0p0..r3p2) the TLBI/DSB are not adequately shooting down all use of the old entries. This patch implements the erratum workaround which consists of: 1. Dummy TLBIMVAIS and DSB on the CPU doing the TLBI operation. 2. Send IPI to the CPUs that are running the same mm (and ASID) as the one being invalidated (or all the online CPUs for global pages). 3. CPU receiving the IPI executes a DMB and CLREX (part of the exception return code already). Signed-off-by: Catalin Marinas <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-04-02ARM: irq: Call irqchip_init if no init_irq function is specifiedMaxime Ripard1-1/+5
More and more sub-architectures are using only the irqchip_init function. Make the core code call this function if no init_irq field is provided in the machine description to remove some boilerplate code. Signed-off-by: Maxime Ripard <[email protected]> Acked-by: Rob Herring <[email protected]> Signed-off-by: Olof Johansson <[email protected]>
2013-03-22ARM: 7681/1: hw_breakpoint: use warn_once to avoid spam from reset_ctrl_regs()Santosh Shilimkar1-3/+3
CPU debug features like hardware break, watchpoints can be used only when the debug mode is enabled and available. Unfortunately on OMAP4 based devices, after a CPU power cycle, the debug feature gets disabled which leads to a flood of messages coming from reset_ctrl_regs() which gets called on every CPU_PM_EXIT with CPUidle enabled. So make use of warn_once() so that system is usable. Thanks to Will for pointers and Lokesh for the analysis of the issue. Tested-by: Lokesh Vutla <[email protected]> Signed-off-by: Santosh Shilimkar <[email protected]> Signed-off-by: Will Deacon <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-03-22ARM: 7680/1: Detect support for SDIV/UDIV from ISAR0 registerStephen Boyd1-0/+20
The ISAR0 register indicates support for the SDIV and UDIV instructions in both the Thumb and ARM instruction set. Read the register to detect the supported instructions and update the elf_hwcap mask as appropriate. This is better than adding more and more cpuid checks in proc-v7.S for each new cpu variant that supports these instructions. Acked-by: Will Deacon <[email protected]> Cc: Stepan Moskovchenko <[email protected]> Signed-off-by: Stephen Boyd <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-03-22ARM: 7679/1: Clear IDIVT hwcap if CONFIG_ARM_THUMB=nStephen Boyd1-1/+1
Don't advertise support for the SDIV/UDIV thumb instructions if the kernel is not compiled with support for thumb userspace. This is in line with how we remove the THUMB hwcap in these configurations. Acked-by: Will Deacon <[email protected]> Cc: Stepan Moskovchenko <[email protected]> Signed-off-by: Stephen Boyd <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-03-19ARM: 7676/1: fix a wrong value returned from CALLER_ADDRnKeun-O Park1-2/+3
This makes return_address() return a correct value for CALLER_ADDRn. To have a correct value from CALLER_ADDRn, we need to fix three points. * The unwind_frame() does not update frame->lr but frame->pc for backtrace. So frame->pc is meaningful for backtrace. * data.level should be adjusted by adding 2 additional iteration levels. With the current +1 level adjustment, the result of CALLER_ADDR1 will be the same return address with CALLER_ADDR0. * The initialization of data.addr to NULL is needed. When unwind_fame() fails right after data.level reaches zero, the routine returns data.addr which has uninitialized garbage value. Signed-off-by: Sahara <[email protected]> Reviewed-by: Dave Martin <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-03-18arm: remove cast for kzalloc return valueZhang Yanfei1-1/+1
remove cast for kzalloc return value. Signed-off-by: Zhang Yanfei <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Russell King <[email protected]> Cc: [email protected] Signed-off-by: Jiri Kosina <[email protected]>
2013-03-15ARM: 7674/1: smp: Avoid dummy clockevent being preferred over real hardware ↵Santosh Shilimkar1-1/+1
clock-event With recent arm broadcast time clean-up from Mark Rutland, the dummy broadcast device is always registered with timer subsystem. And since the rating of the dummy clock event is very high, it may be preferred over a real clock event. This is a change in behavior from past and not an intended one. So reduce the rating of the dummy clock-event so that real clock-event device is selected when available. Acked-by: Thomas Gleixner <[email protected]> Acked-by: Mark Rutland <[email protected]> Signed-off-by: Santosh Shilimkar <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-03-15Merge branch 'kvm-arm-fixes' of git://github.com/columbia/linux-kvm-arm into ↵Russell King1-4/+4
devel-stable
2013-03-11ARM: smp_twd: convert to use CLKSRC_OF initRob Herring1-13/+4
Now that we have OF based init with CLKSRC_OF, convert smp_twd init function to use it and covert all callers of twd_local_timer_of_register. Signed-off-by: Rob Herring <[email protected]> Cc: Shawn Guo <[email protected]> Cc: Sascha Hauer <[email protected]> Cc: Russell King <[email protected]> Cc: Viresh Kumar <[email protected]> Cc: Shiraz Hashim <[email protected]> Cc: Srinidhi Kasagar <[email protected]> Cc: John Stultz <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: [email protected] Cc: [email protected] Reviewed-by: Stephen Warren <[email protected]> Acked-by: Santosh Shilimkar <[email protected]> Acked-by: Tony Lindgren <[email protected]> Acked-by: Linus Walleij <[email protected]>
2013-03-09Merge branch 'for-next' of git://git.pengutronix.de/git/ukl/linux into ↵Russell King4-5/+16
devel-stable Conflicts: arch/arm/include/asm/cputype.h Signed-off-by: Russell King <[email protected]>
2013-03-06ARM: KVM: abstract fault register accessesMarc Zyngier1-4/+4
Instead of directly accessing the fault registers, use proper accessors so the core code can be shared. Signed-off-by: Marc Zyngier <[email protected]>
2013-03-06ARM: 7667/1: perf: Fix section mismatch on armpmu_init()Stephen Boyd1-1/+1
WARNING: vmlinux.o(.text+0xfb80): Section mismatch in reference from the function armpmu_register() to the function .init.text:armpmu_init() The function armpmu_register() references the function __init armpmu_init(). This is often because armpmu_register lacks a __init annotation or the annotation of armpmu_init is wrong. Just drop the __init marking on armpmu_init() because armpmu_register() no longer has an __init marking. Acked-by: Will Deacon <[email protected]> Signed-off-by: Stephen Boyd <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-03-03ARM: 7665/1: Wire up kcmp syscallCyrill Gorcunov1-1/+1
Wire up kcmp syscall for ability to proceed checkpoint/restore procedure on ARM platform. Signed-off-by: Alexander Kartashov <[email protected]> Signed-off-by: Cyrill Gorcunov <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-03-03ARM: 7664/1: perf: remove erroneous semicolon from event initialisationChen Gang1-1/+1
Commit 9dcbf466559f ("ARM: perf: simplify __hw_perf_event_init err handling") tidied up the error handling code for perf event initialisation on ARM, but a copy-and-paste error left a dangling semicolon at the end of an if statement. This patch removes the broken semicolon, restoring the old group validation semantics. Cc: Mark Rutland <[email protected]> Acked-by: Dirk Behme <[email protected]> Signed-off-by: Chen Gang <[email protected]> Signed-off-by: Will Deacon <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-03-03ARM: 7663/1: perf: fix ARMv7 EVTYPE_MASK to include NSH bitWill Deacon1-1/+1
Masked out PMXEVTYPER.NSH means that we can't enable profiling at PL2, regardless of the settings in the HDCR. This patch fixes the broken mask. Cc: <[email protected]> Reported-by: Christoffer Dall <[email protected]> Signed-off-by: Will Deacon <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-03-03ARM: 7662/1: hw_breakpoint: reset debug logic on secondary CPUs in s2ram resumeDietmar Eggemann1-1/+1
We must mask out the CPU_TASKS_FROZEN bit so that reset_ctrl_regs is also called on a secondary CPU during s2ram resume, where only the boot CPU will receive the PM_EXIT notification. Signed-off-by: Dietmar Eggemann <[email protected]> Signed-off-by: Will Deacon <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-03-03ARM: 7661/1: mm: perform explicit branch predictor maintenance when requiredWill Deacon2-0/+2
The ARM ARM requires branch predictor maintenance if, for a given ASID, the instructions at a specific virtual address appear to change. From the kernel's point of view, that means: - Changing the kernel's view of memory (e.g. switching to the identity map) - ASID rollover (since ASIDs will be re-allocated to new tasks) This patch adds explicit branch predictor maintenance when either of the two conditions above are met. Reviewed-by: Catalin Marinas <[email protected]> Signed-off-by: Will Deacon <[email protected]> Signed-off-by: Russell King <[email protected]>