- Jun 18, 2013
-
-
Florian Vaussard authored
When making the dtbs target on OMAP/AM35xx, some trees are not built. Signed-off-by:
Florian Vaussard <florian.vaussard@epfl.ch> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Florian Vaussard authored
Using constants for pinctrl allows a better readability, and removes redundancy with comments. Signed-off-by:
Florian Vaussard <florian.vaussard@epfl.ch> Tested-by:
Afzal Mohammed <afzal@ti.com> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Florian Vaussard authored
Use standard GPIO constants to enhance the readability of DT GPIOs. Signed-off-by:
Florian Vaussard <florian.vaussard@epfl.ch> Tested-by:
Afzal Mohammed <afzal@ti.com> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Florian Vaussard authored
Replace /include/ by #include for AM33XX and AM35XX device tree files, in order to use the C pre-processor, making use of #define features possible. Signed-off-by:
Florian Vaussard <florian.vaussard@epfl.ch> Tested-by:
Afzal Mohammed <afzal@ti.com> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Afzal Mohammed authored
DT source (minimal) for AM4372 SoC to represent AM43x SoC's. Those represented here are the minimal DT nodes necessary to get kernel booting. In DT nodes, "ti,hwmod" property has not been added, this would be added along with PRCM support for AM43x. Signed-off-by:
Ankur Kishore <a-kishore@ti.com> Signed-off-by:
Afzal Mohammed <afzal@ti.com> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Dan Murphy authored
Update the dt property ti,audpwron-gpio to use the gpio macro definition for GPIO_ACTIVE_HIGH. Signed-off-by:
Dan Murphy <dmurphy@ti.com> Reviewed-by:
Florian Vaussard <florian.vaussard@epfl.ch> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Dan Murphy authored
The GPIO for LED D1 on the omap4-panda a1-a3 rev and the omap4-panda-es are different. A1-A3 = gpio_wk7 ES = gpio_110 There is no change to LED D2 Abstract away the pinmux and the LED definitions for the two boards into the respective DTS files. Signed-off-by:
Dan Murphy <dmurphy@ti.com> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Florian Vaussard authored
Using constants for pinctrl allows a better readability, and removes redundancy with comments. Signed-off-by:
Florian Vaussard <florian.vaussard@epfl.ch> Acked-by:
Santosh Shilimkar <santosh.shilimkar@ti.com> Reviewed-by:
Stephen Warren <swarren@nvidia.com> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Florian Vaussard authored
Use the constants defined in include/dt-bindings/interrupt-controller/ to enhance readability. Signed-off-by:
Florian Vaussard <florian.vaussard@epfl.ch> Acked-by:
Santosh Shilimkar <santosh.shilimkar@ti.com> Reviewed-by:
Stephen Warren <swarren@nvidia.com> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Florian Vaussard authored
Use standard GPIO constants to enhance the readability of DT GPIOs. Signed-off-by:
Florian Vaussard <florian.vaussard@epfl.ch> Acked-by:
Santosh Shilimkar <santosh.shilimkar@ti.com> Reviewed-by:
Stephen Warren <swarren@nvidia.com> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Florian Vaussard authored
Replace /include/ by #include for OMAP2+ DT, in order to use the C pre-processor, making use of #define features possible. Signed-off-by:
Florian Vaussard <florian.vaussard@epfl.ch> Acked-by:
Santosh Shilimkar <santosh.shilimkar@ti.com> Reviewed-by:
Stephen Warren <swarren@nvidia.com> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Philip Avinash authored
GPMC controller on AM335x-EVM has a NAND flash connected to it. This patch updates following in am335x-evm.dts: - adds nandflash specific pin-mux configs - adds nand node as child of GPMC contoller, with information about NAND flash interface, NAND partition table, ECC scheme, elm handle id. - updates GPMC node for newer GPMC DT properties added in linux-3.10. Signed-off-by:
Philip Avinash <avinashphilip@ti.com> Signed-off-by:
Gupta, Pekon <pekon@ti.com> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Philip, Avinash authored
ELM hardware engine is used for locating bit-flips in NAND data This patch is required for working of hardware based NAND ECC schemes with DT support. Signed-off-by:
Philip Avinash <avinashphilip@ti.com> Acked-by:
Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by:
Pekon Gupta <pekon@ti.com> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Javier Martinez Canillas authored
The IGEP COM Module has an 512MB NAND flash memory. Add a device node for this NAND and its partition layout. Signed-off-by:
Javier Martinez Canillas <javier.martinez@collabora.co.uk> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Javier Martinez Canillas authored
The IGEPv2 board has an 512MB NAND flash memory. Add a device node for this NAND and its partition layout. Signed-off-by:
Javier Martinez Canillas <javier.martinez@collabora.co.uk> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Javier Martinez Canillas authored
The IGEPv2 board has an SMSC LAN9221i ethernet chip connected to the OMAP3 processor though the General-Purpose Memory Controller. This patch adds a device node for the ethernet chip as a GPMC child and all its dependencies (regulators, GPIO and pin muxs). Signed-off-by:
Javier Martinez Canillas <javier.martinez@collabora.co.uk> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Vaibhav Hiremath authored
xdma_event_intr1.clkout2 pad can be used to source clock from either 32K OSC or any of the PLL (except MPU) outputs. On the existing AM335x based boards (EVM, EVM-SK and Bone), this pad is used to feed the clock to audio codes. So, this patch configures the pinmux to get clkout2 on the pad. Signed-off-by:
Vaibhav Hiremath <hvaibhav@ti.com> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Vaibhav Hiremath authored
Add pin control binding for UART0 device nodes in all board specific DT files. Signed-off-by:
Vaibhav Hiremath <hvaibhav@ti.com> Acked-by:
Matt Porter <mporter@ti.com> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Vaibhav Hiremath authored
With DT support, where naming convention is based on base-addr and not id, so we should follow TRM/Spec numbering label. This patch changes UART numbering as per TRM, as uart0-5. Signed-off-by:
Vaibhav Hiremath <hvaibhav@ti.com> Acked-by:
Matt Porter <mporter@ti.com> Cc: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Vaibhav Hiremath authored
Now gpio-leds driver is using devm_pinctrl_get_select_default() api to set default pinmux configuration required for the functionality of the driver, so this patch moves respective pinctrl binding inside leds node. Signed-off-by:
Vaibhav Hiremath <hvaibhav@ti.com> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Vaibhav Hiremath authored
Add pin control binding for I2C device nodes in all board specific DT files (as per current usage), EVM: Both i2c0 and i2c1 EVM-SK and Bone: Only i2c0 Signed-off-by:
Vaibhav Hiremath <hvaibhav@ti.com> Acked-by:
Matt Porter <mporter@ti.com> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
Suman Anna authored
The carveouts that have been reserved for multimedia usecases are not being used currently by any driver and so have been cleaned up. Memory will be allocated runtime through CMA for enabling the multimedia usecases. Signed-off-by:
Suman Anna <s-anna@ti.com> Signed-off-by:
Benoit Cousson <benoit.cousson@linaro.org>
-
- Jun 15, 2013
-
-
Benjamin Herrenschmidt authored
When replaying interrupts (as a result of the interrupt occurring while soft-disabled), in the case of the decrementer, we are exclusively testing for a pending timer target. However we also use decrementer interrupts to trigger the new "irq_work", which in this case would be missed. This change the logic to force a replay in both cases of a timer boundary reached and a decrementer interrupt having actually occurred while disabled. The former test is still useful to catch cases where a CPU having been hard-disabled for a long time completely misses the interrupt due to a decrementer rollover. CC: <stable@vger.kernel.org> [v3.4+] Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org> Tested-by:
Steven Rostedt <rostedt@goodmis.org>
-
Paul Mackerras authored
Normally, the kernel emulates a few instructions that are unimplemented on some processors (e.g. the old dcba instruction), or privileged (e.g. mfpvr). The emulation of unimplemented instructions is currently not working on the PowerNV platform. The reason is that on these machines, unimplemented and illegal instructions cause a hypervisor emulation assist interrupt, rather than a program interrupt as on older CPUs. Our vector for the emulation assist interrupt just calls program_check_exception() directly, without setting the bit in SRR1 that indicates an illegal instruction interrupt. This fixes it by making the emulation assist interrupt set that bit before calling program_check_interrupt(). With this, old programs that use no-longer implemented instructions such as dcba now work again. CC: <stable@vger.kernel.org> Signed-off-by:
Paul Mackerras <paulus@samba.org> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Michael Ellerman authored
It's possible for us to crash when running with ftrace enabled, eg: Bad kernel stack pointer bffffd12 at c00000000000a454 cpu 0x3: Vector: 300 (Data Access) at [c00000000ffe3d40] pc: c00000000000a454: resume_kernel+0x34/0x60 lr: c00000000000335c: performance_monitor_common+0x15c/0x180 sp: bffffd12 msr: 8000000000001032 dar: bffffd12 dsisr: 42000000 If we look at current's stack (paca->__current->stack) we see it is equal to c0000002ecab0000. Our stack is 16K, and comparing to paca->kstack (c0000002ecab3e30) we can see that we have overflowed our kernel stack. This leads to us writing over our struct thread_info, and in this case we have corrupted thread_info->flags and set _TIF_EMULATE_STACK_STORE. Dumping the stack we see: 3:mon> t c0000002ecab0000 [c0000002ecab0000] c00000000002131c .performance_monitor_exception+0x5c/0x70 [c0000002ecab0080] c00000000000335c performance_monitor_common+0x15c/0x180 --- Exception: f01 (Performance Monitor) at c0000000000fb2ec .trace_hardirqs_off+0x1c/0x30 [c0000002ecab0370] c00000000016fdb0 .trace_graph_entry+0xb0/0x280 (unreliable) [c0000002ecab0410] c00000000003d038 .prepare_ftrace_return+0x98/0x130 [c0000002ecab04b0] c00000000000a920 .ftrace_graph_caller+0x14/0x28 [c0000002ecab0520] c0000000000d6b58 .idle_cpu+0x18/0x90 [c0000002ecab05a0] c00000000000a934 .return_to_handler+0x0/0x34 [c0000002ecab0620] c00000000001e660 .timer_interrupt+0x160/0x300 [c0000002ecab06d0] c0000000000025dc decrementer_common+0x15c/0x180 --- Exception: 901 (Decrementer) at c0000000000104d4 .arch_local_irq_restore+0x74/0xa0 [c0000002ecab09c0] c0000000000fe044 .trace_hardirqs_on+0x14/0x30 (unreliable) [c0000002ecab0fb0] c00000000016fe3c .trace_graph_entry+0x13c/0x280 [c0000002ecab1050] c00000000003d038 .prepare_ftrace_return+0x98/0x130 [c0000002ecab10f0] c00000000000a920 .ftrace_graph_caller+0x14/0x28 [c0000002ecab1160] c0000000000161f0 .__ppc64_runlatch_on+0x10/0x40 [c0000002ecab11d0] c00000000000a934 .return_to_handler+0x0/0x34 --- Exception: 901 (Decrementer) at c0000000000104d4 .arch_local_irq_restore+0x74/0xa0 ... and so on __ppc64_runlatch_on() is called from RUNLATCH_ON in the exception entry path. At that point the irq state is not consistent, ie. interrupts are hard disabled (by the exception entry), but the paca soft-enabled flag may be out of sync. This leads to the local_irq_restore() in trace_graph_entry() actually enabling interrupts, which we do not want. Because we have not yet reprogrammed the decrementer we immediately take another decrementer exception, and recurse. The fix is twofold. Firstly make sure we call DISABLE_INTS before calling RUNLATCH_ON. The badly named DISABLE_INTS actually reconciles the irq state in the paca with the hardware, making it safe again to call local_irq_save/restore(). Although that should be sufficient to fix the bug, we also mark the runlatch routines as notrace. They are called very early in the exception entry and we are asking for trouble tracing them. They are also fairly uninteresting and tracing them just adds unnecessary overhead. [ This regression was introduced by fe1952fc "powerpc: Rework runlatch code" by myself --BenH ] CC: <stable@vger.kernel.org> [v3.4+] Signed-off-by:
Michael Ellerman <michael@ellerman.id.au> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
- Jun 13, 2013
-
-
Benjamin Herrenschmidt authored
The OF code uses irqsafe locks everywhere except in a handful of functions for no obvious reasons. Since the conversion from the old rwlocks, this now triggers lockdep warnings when used at interrupt time. At least one driver (ibmvscsi) seems to be doing that from softirq context. This converts the few non-irqsafe locks into irqsafe ones, making them consistent with the rest of the code. Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by:
Thomas Gleixner <tglx@linutronix.de> Acked-by:
David S. Miller <davem@davemloft.net> Signed-off-by:
Grant Likely <grant.likely@linaro.org>
-
- Jun 12, 2013
-
-
Kees Cook authored
Fixes a typo in register clearing code. Thanks to PaX Team for fixing this originally, and James Troup for pointing it out. Signed-off-by:
Kees Cook <keescook@chromium.org> Link: http://lkml.kernel.org/r/20130605184718.GA8396@www.outflux.net Cc: <stable@vger.kernel.org> v2.6.30+ Cc: PaX Team <pageexec@freemail.hu> Signed-off-by:
H. Peter Anvin <hpa@linux.intel.com>
-
Kees Cook authored
The __vvar_page relocation should actually be listed in S_REL instead of S_ABS. Oddly, this didn't always cause things to break, presumably because there are no users for relocation information on 64 bits yet. [ hpa: Not for stable - new code in 3.10 ] Signed-off-by:
Kees Cook <keescook@chromium.org> Link: http://lkml.kernel.org/r/20130611185652.GA23674@www.outflux.net Reported-by:
Michael Davidson <md@google.com> Signed-off-by:
H. Peter Anvin <hpa@linux.intel.com>
-
- Jun 11, 2013
-
-
Scott Wood authored
EE is hard-disabled on entry to kvmppc_handle_exit(), so call hard_irq_disable() so that PACA_IRQ_HARD_DIS is set, and soft_enabled is unset. Without this, we get warnings such as arch/powerpc/kernel/time.c:300, and sometimes host kernel hangs. Signed-off-by:
Scott Wood <scottwood@freescale.com> Signed-off-by:
Gleb Natapov <gleb@redhat.com>
-
Scott Wood authored
KVM core expects arch code to acquire the srcu lock when calling gfn_to_memslot and similar functions. Signed-off-by:
Scott Wood <scottwood@freescale.com> Signed-off-by:
Gleb Natapov <gleb@redhat.com>
-
Scott Wood authored
The previous patch made 64-bit booke KVM build again, but Altivec support is still not complete, and we can't prevent the guest from turning on Altivec (which can corrupt host state until state save/restore is implemented). Disable e6500 on KVM until this is fixed. Signed-off-by:
Scott Wood <scottwood@freescale.com> Signed-off-by:
Gleb Natapov <gleb@redhat.com>
-
Mihai Caraman authored
Interrupt numbers defined for Book3E follows IVORs definition. Align BOOKE_INTERRUPT_ALTIVEC_UNAVAIL and BOOKE_INTERRUPT_ALTIVEC_ASSIST to this rule which also fixes the build breakage. IVORs 32 and 33 are shared so reflect this in the interrupts naming. This fixes a build break for 64-bit booke KVM. Signed-off-by:
Mihai Caraman <mihai.caraman@freescale.com> Signed-off-by:
Scott Wood <scottwood@freescale.com> Signed-off-by:
Gleb Natapov <gleb@redhat.com>
-
Tomasz Figa authored
This patch makes legacy code on suspend/resume path being executed conditionally, on non-DT platforms only, to fix suspend/resume of DT-enabled systems, for which the code is inappropriate. Signed-off-by:
Tomasz Figa <t.figa@samsung.com> Signed-off-by:
Kyungmin Park <kyungmin.park@samsung.com> [olof: add #include <linux/of.h>] Signed-off-by:
Olof Johansson <olof@lixom.net>
-
David Daney authored
The API requires that the GET_ONE_REG and SET_ONE_REG ioctls have this extra information encoded in the register identifiers. Signed-off-by:
David Daney <david.daney@cavium.com> Signed-off-by:
Gleb Natapov <gleb@redhat.com>
-
Haojian Zhuang authored
In prima2, some functions of checking DT is registered in initcall level. If it doesn't match the compatible name of sirf, kernel will panic. It blocks the usage of multiplatform on other verndor. The error message is in below. Knic - not syncing: unable to find compatible pwrc node in dtb CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.10.0-rc3-00006-gd7f26ea-dirty #86 [<c0013adc>] (unwind_backtrace+0x0/0xf8) from [<c0011430>] (show_stack+0x10/0x1) [<c0011430>] (show_stack+0x10/0x14) from [<c026f724>] (panic+0x90/0x1e8) [<c026f724>] (panic+0x90/0x1e8) from [<c03267fc>] (sirfsoc_of_pwrc_init+0x24/0x) [<c03267fc>] (sirfsoc_of_pwrc_init+0x24/0x58) from [<c0320864>] (do_one_initcal) [<c0320864>] (do_one_initcall+0x90/0x150) from [<c0320a20>] (kernel_init_freeab) [<c0320a20>] (kernel_init_freeable+0xfc/0x1c4) from [<c026b9e8>] (kernel_init+0) [<c026b9e8>] (kernel_init+0x8/0xe4) from [<c000e158>] (ret_from_fork+0x14/0x3c) Signen-off-by:
Haojian Zhuang <haojian.zhuang@linaro.org> Signed-off-by:
Olof Johansson <olof@lixom.net>
-
- Jun 10, 2013
-
-
Matthew Garrett authored
This patch reworks the UEFI anti-bricking code, including an effective reversion of cc5a080c and 31ff2f20. It turns out that calling QueryVariableInfo() from boot services results in some firmware implementations jumping to physical addresses even after entering virtual mode, so until we have 1:1 mappings for UEFI runtime space this isn't going to work so well. Reverting these gets us back to the situation where we'd refuse to create variables on some systems because they classify deleted variables as "used" until the firmware triggers a garbage collection run, which they won't do until they reach a lower threshold. This results in it being impossible to install a bootloader, which is unhelpful. Feedback from Samsung indicates that the firmware doesn't need more than 5KB of storage space for its own purposes, so that seems like a reasonable threshold. However, there's still no guarantee that a platform will attempt garbage collection merely because it drops below this threshold. It seems that this is often only triggered if an attempt to write generates a genuine EFI_OUT_OF_RESOURCES error. We can force that by attempting to create a variable larger than the remaining space. This should fail, but if it somehow succeeds we can then immediately delete it. I've tested this on the UEFI machines I have available, but I don't have a Samsung and so can't verify that it avoids the bricking problem. Signed-off-by:
Matthew Garrett <matthew.garrett@nebula.com> Signed-off-by: Lee, Chun-Y <jlee@suse.com> [ dummy variable cleanup ] Cc: <stable@vger.kernel.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Markos Chandras authored
arch_ftrace_update_code and ftrace_modify_all_code are only available if CONFIG_DYNAMIC_FTRACE is selected. Fixes the following build problem on MIPS randconfig: arch/mips/kernel/ftrace.c: In function 'arch_ftrace_update_code': arch/mips/kernel/ftrace.c:31:2: error: implicit declaration of function 'ftrace_modify_all_code' [-Werror=implicit-function-declaration] Signed-off-by:
Markos Chandras <markos.chandras@imgtec.com> Acked-by:
Steven J. Hill <Steven.Hill@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/5435/ Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Markos Chandras authored
The kvm_* symbols are only available if KVM is selected. Fixes the following linking problem on a randconfig: arch/mips/built-in.o: In function `local_flush_tlb_mm': (.text+0x18a94): undefined reference to `kvm_local_flush_tlb_all' arch/mips/built-in.o: In function `local_flush_tlb_range': (.text+0x18d0c): undefined reference to `kvm_local_flush_tlb_all' kernel/built-in.o: In function `__schedule': core.c:(.sched.text+0x2a00): undefined reference to `kvm_local_flush_tlb_all' mm/built-in.o: In function `use_mm': (.text+0x30214): undefined reference to `kvm_local_flush_tlb_all' fs/built-in.o: In function `flush_old_exec': (.text+0xf0a0): undefined reference to `kvm_local_flush_tlb_all' make: *** [vmlinux] Error 1 Signed-off-by:
Markos Chandras <markos.chandras@imgtec.com> Acked-by:
Steven J. Hill <Steven.Hill@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/5437/ Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Manuel Lauss authored
Only an interrupt can wake the core from 'wait', enable interrupts locally before executing 'wait'. [ralf@linux-mips.org: This leave the race between an interrupt that's setting TIF_NEED_RESCHEd and entering the WAIT status. but at least it's going to bring Alchemy back from the dead, so I'm going to apply this patch.] Signed-off-by:
Manuel Lauss <manuel.lauss@gmail.com> Cc: Linux-MIPS <linux-mips@linux-mips.org> Cc: Maciej W. Rozycki <macro@linux-mips.org> Patchwork: https://patchwork.linux-mips.org/patch/5408/ Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Ben Hutchings authored
All architectures must implement IRQ functions. Since various dependencies on !S390 were removed, there are various drivers that can be selected but will fail to link. Provide a dummy implementation of these functions for the !PCI case. Signed-off-by:
Ben Hutchings <ben@decadent.org.uk> Cc: stable@vger.kernel.org # 3.9 Acked-by:
David S. Miller <davem@davemloft.net> Signed-off-by:
Martin Schwidefsky <schwidefsky@de.ibm.com>
-