path: root/arch/arm
AgeCommit message (Collapse)Author
2011-06-22OMAP3: set the core dpll clk rate in its set_rate functionHEADmasterAvinash H.M
The debug l3_ick/rate is not displaying the actual rate of the clock in hardware. This is because, the core dpll set_rate function doesn't update the clk.rate. After fixing, the l3_ick/rate is displaying proper values. Signed-off-by: Shweta Gulati <shweta.gulati@ti.com> Signed-off-by: Avinash.H.M <avinashhm@ti.com> Cc: Rajendra Nayak <rnayak@ti.com> Cc: Paul Wamsley <paul@pwsan.com> Acked-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com> (cherry picked from commit 5fd2a84ab3c8b87176e25db1d98c5cc34043a669)
2011-06-14Fix NULL-dereference introduced by OMAP4 PMU patchMark Rutland
This patch fixes a NULL-dereference introduced by commit 457520e ("arm: pmu: support pmu/perf on OMAP4"). Some platforms (e.g. vexpress) neither need nor have an instance of arm_pmu_platdata (plat). Perf support on these platforms was broken by the original commit. This patch adds a check for plat before dereferencing any fields. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Cc: Avik Sil <avik.sil@linaro.org> Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
2011-05-24omap3: beagle: if rev unknown, assume xM revision CRobert Nelson
BugLink: http://bugs.launchpad.net/bugs/770679 Signed-off-by: Robert Nelson <robertcnelson@gmail.com> Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
2011-05-24omap3: beagle: detect new xM revision CRobert Nelson
Beagle xM rev C has nEN_USB_PWR inverted again, so we need proper check for revision C. BugLink: http://bugs.launchpad.net/bugs/770679 Signed-off-by: Robert Nelson <robertcnelson@gmail.com> Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
2011-05-24omap3: beagle: detect new xM revision BRobert Nelson
The xM B uses a DM3730 ES1.1 over the ES1.0 on xM A's, no other board changes. BugLink: http://bugs.launchpad.net/bugs/770679 Signed-off-by: Robert Nelson <robertcnelson@gmail.com> Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
2011-05-24omap3: beaglexm: fix DVI initializationRicardo Salveti de Araujo
Function beagle_twl_gpio_setup is called after beagle_display_init, what makes lets reset_gpio with an invalid value at the time it request the gpio. As a side effect the DVI reset GPIO is not properly set. Also removing old code that power down DVI in a hardcoded way, as it's not necessary anymore. Tested with Beagle-xM and C4. Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
2011-05-18arm: Add unwinding support for division functionsLaura Abbott
The software division functions never had unwinding annotations added. Currently, when a division by zero occurs the backtrace shown will stop at Ldiv0 or some completely unrelated function. Add unwinding annotations in hopes of getting a more useful backtrace when a division by zero occurs. Signed-off-by: Laura Abbott <lauraa@codeaurora.org> Tested-by: Dave Martin <dave.martin@linaro.org> Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
2011-05-18ARM: sparsemem: fix highmem detection when using SPARSEMEMWill Deacon
sanity_check_meminfo walks over the registered memory banks and attempts to split banks across lowmem and highmem when they would otherwise overlap with the vmalloc space. When SPARSEMEM is used, there are two potential problems that occur when the virtual address of the start of a bank is equal to vmalloc_min. 1.) The end of lowmem is calculated as __pa(vmalloc_min - 1) + 1. In the above scenario, this will give the end address of the previous bank, rather than the actual bank we are interested in. This value is later used as the memblock limit and artificially restricts the total amount of available memory. 2.) The checks to determine whether or not a bank belongs to highmem or not only check if __va(bank->start) is greater or less than vmalloc_min. In the case that it is equal, the bank is incorrectly treated as lowmem, which hoses the vmalloc area. This patch fixes these two problems by checking whether the virtual start address of a bank is >= vmalloc_min and then calculating lowmem_end by finding the virtual end address of the highest lowmem bank. Cc: Russell King <linux@arm.linux.org.uk> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
2011-05-16OMAP: DRM: Using same numbers of CRTCS and PIPES for OMAP 3 and 4Ricardo Salveti de Araujo
So we avoid having on extra vout resource when we enable both ARCH_OMAP3 and ARCH_OMAP4. Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
2011-05-16OMAP: DSS2: adding force argument to is_detected()Ricardo Salveti de Araujo
Force is available from (*detect) at drm_connector_funcs, and can be used by the driver to avoid expensive, destructive operations during automated probing. Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
2011-05-16OMAP: Panda: adding i2c_bus_num to make it work with omap drm driverRicardo Salveti de Araujo
Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
2011-05-16OMAP: devices: register first the drm omap device, and then the SGX oneRicardo Salveti de Araujo
Avoid failing to load omap drm module in cases there the hardware doesn't have SGX hwmode description available. Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
2011-05-16omap4: config: add omap4_defconfigAndy Green
This introduces a defconfig version of Sebastien Jan's reference config for Panda. To use the defconfig, you need to use the following scheme to expand it back to being a full config make ARCH=arm defconfig cat arch/arm/configs/omap4_defconfig >>.config make ARCH=arm oldnoconfig From Seb Jan about the original reference config --> Note on OMAP3 based boards: Deactivate OMAP3 based boards since their support has not been integrated (some boards would not build). Keep OMAP3 and ARCH_3430 because OMAP4 support is not yet properly supported by configuration and dependencies (ex: v4l2, DSI) Signed-off-by: Sebastien Jan <s-jan@ti.com> Signed-off-by: Andy Green <andy.green@linaro.org>
2011-05-16panda: select HDMI as default video outputSebastien Jan
Tested with following kernel command line arguments: vram=32M omapfb.vram=0:8M,1:8M The omapfb.vram is necessary to properly size the FB, else FB are sized for a 640x480 screen, and cannot be properly re-sized afterwards. Signed-off-by: Sebastien Jan <s-jan@ti.com>
2011-05-16ARM: OMAP4: Add base of DSS HDMI L3 interconnectRicardo Neri
Add base address of L3 interconnect of DSS HDMI. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
2011-05-16OMAP4: HDMI: Add device for HDMI audio interface to OMAP4 PANDARicardo Neri
Add platform device for the HHDMI digital audio interface to OMAP4 Panda board. This is for use of the ASoC HDMI CPU DAI driver. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
2011-05-16OMAP4: HDMI: Add device for HDMI audio interface to OMAP4 SDPRicardo Neri
Add platform device for the HHDMI digital audio interface to OMAP4 SDP board. This is for use of the ASoC HDMI CPU DAI driver. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
2011-05-16OMAP4: SGX-KM: Enable SGX initialisationVikram Pandita
Added most of the generic GPU initialisation code to mach-omap2. Change-Id: I90f137c18dcb79aa9b65761147d0aedeed021a27 Signed-off-by: Tony Lofthouse <tony.lofthouse@ti.com> Signed-off-by: Vikram Pandita <vikram.pandita@ti.com> Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
2011-05-16Kernel changes for hwmod and omap_device initialization for GPU.Hemant Hariyani
Change-Id: I4bd96e76af31d0991ce9e67b0c499f0d6f39a1a8 Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
2011-05-16OMAP2: PANDA: remove wl1271 references as replaced by new stuff in bt patchsetAndy Green
Signed-off-by: Andy Green <andy.green@linaro.org>
2011-05-16PANDA only register hdmi if enabled in configAndy Green
Signed-off-by: Andy Green <andy.green@linaro.org>
2011-05-16OMAP: use correct mmc dev attr name in mmc.hAndy Green
Signed-off-by: Andy Green <andy.green@linaro.org>
2011-05-16OMAP4: platform devices.c is missing an include of err.hAndy Green
Signed-off-by: Andy Green <andy.green@linaro.org>
2011-05-16OMAP2420: hwmod data: Add HSMMCkishore kadiyala
Update the omap2420 hwmod data with the HSMMC info. Add a device attribute structure which will be used by the host driver to find whether the HSMMC controller supports DUAL VOLT cards. Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
2011-05-16OMAP4 : HDMI : Add HDMI structure in the board file for OMAP4 PANDAK, Mythri P
Adding board file structure for display which adds the display structure with HDMI as the default driver when the display init is called. HDMI GPIO configurations are also done in this file. Signed-off-by: Mythri P K <mythripk@ti.com> Signed-off-by: Sebastien Jan <s-jan@ti.com>
2011-05-16OMAP2+: hwmod: add ability to setup individual hwmodsPaul Walmsley
Add omap_hwmod_setup_one(), which is intended for use early in boot to selectively setup the hwmods needed for system clocksources and clockevents, and any other hwmod that is needed in early boot. omap_hwmod_setup_all() can then be called later in the boot process. The point is to minimize the amount of code that needs to be run early. Signed-off-by: Paul Walmsley <paul@pwsan.com> Cc: Benoît Cousson <b-cousson@ti.com> Cc: Kevin Hilman <khilman@ti.com> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com> Cc: Tony Lindgren <tony@atomide.com>
2011-05-16ARM: 6870/1: The mandatory barrier rmb() must be a dsb() in for device accessesCatalin Marinas
Since mandatory barriers may be used (explicitly or implicitly via readl etc.) to ensure the ordering between Device and Normal memory accesses, a DMB is not enough. This patch converts it to a DSB. Cc: Colin Cross <ccross@android.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> (cherry picked from commit a904f5f9eb7a55baacb2f4c1423cac8a8eb78a3a)
2011-05-16ARM: 6890/1: memmap: only free allocated memmap entries when using SPARSEMEMWill Deacon
The SPARSEMEM code allocates memmap entries only for sections which are present (i.e. those which contain some valid memory). The membank checks in free_unused_memmap do not take this into account and can incorrectly attempt to free memory which is not allocated, resulting in a BUG() in the bootmem code. However, if memory is configured as follows: |<----section---->|<----hole---->|<----section---->| +--------+--------+--------------+--------+--------+ | bank 0 | unused | | bank 1 | unused | +--------+--------+--------------+--------+--------+ where a bank only occupies part of a section, the memmap allocated for the remainder of the section *can* be freed. This patch modifies the checks in free_unused_memmap so that only valid memmap entries are considered for removal. Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> (cherry picked from commit 9af386c8dc5a9dce56f36b484647ad6401758c85)
2011-05-16arm, hw_breakpoints: Fix racy access to ptrace breakpointsFrederic Weisbecker
While the tracer accesses ptrace breakpoints, the child task may concurrently exit due to a SIGKILL and thus release its breakpoints at the same time. We can then dereference some freed pointers. To fix this, hold a reference on the child breakpoints before manipulating them. Reported-by: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Acked-by: Will Deacon <will.deacon@arm.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Prasad <prasad@linux.vnet.ibm.com> Cc: Paul Mundt <lethal@linux-sh.org> Link: http://lkml.kernel.org/r/1302284067-7860-5-git-send-email-fweisbec@gmail.com (cherry picked from commit bf0b8f4b55e591ba417c2dbaff42769e1fc773b0)
2011-05-16Merge commit 'v2.6.38.6' into linaro-2.6.38Nicolas Pitre
2011-05-09ARM: 6891/1: prevent heap corruption in OABI semtimedopDan Rosenberg
commit 0f22072ab50cac7983f9660d33974b45184da4f9 upstream. When CONFIG_OABI_COMPAT is set, the wrapper for semtimedop does not bound the nsops argument. A sufficiently large value will cause an integer overflow in allocation size, followed by copying too much data into the allocated buffer. Fix this by restricting nsops to SEMOPM. Untested. Signed-off-by: Dan Rosenberg <drosenberg@vsecurity.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-05ARM: Thumb-2: Relax relocation requirements for non-function symbolsDave Martin
The "Thumb bit" of a symbol is only really meaningful for function symbols (STT_FUNC). However, sometimes a branch is relocated against a non-function symbol; for example, PC-relative branches to anonymous assembler local symbols are typically fixed up against the start-of-section symbol, which is not a function symbol. Some inline assembler generates references of this type, such as fixup code generated by macros in <asm/uaccess.h>. The existing relocation code for R_ARM_THM_CALL/R_ARM_THM_JUMP24 interprets this case as an error, because the target symbol appears to be an ARM symbol; but this is really not the case, since the target symbol is just a base in these cases. The addend defines the precise offset to the target location, but since the addend is encoded in a non-interworking Thumb branch instruction, there is no explicit Thumb bit in the addend. Because these instructions never interwork, the implied Thumb bit in the addend is 1, and the destination is Thumb by definition. This patch removes the extraneous Thumb bit check for non-function symbols, enabling modules containing the affected relocation types to be loaded. No modification to the actual relocation code is required, since this code does not take bit[0] of the location->destination offset into account in any case. Function symbols are always checked for interworking conflicts, as before. Signed-off-by: Dave Martin <dave.martin@linaro.org> Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
2011-05-02ARM: zImage: direct comparison with pc is not allowed in Thumb2 modeNicolas Pitre
... and recent binutils actually enforces it. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
2011-05-02Merge remote-tracking branch 'agreen/for-nicolas' into linaro-2.6.38Nicolas Pitre
2011-05-02ARM: omap4: i2c reset regs postidleJan Weitzel
Without OMAP_I2C_FLAG_RESET_REGS_POSTIDLE I got i2c controller timeouts on each accsess after an NACK message. Taking this flag fix it. This patch is on top of the i2c feature implementation flags patches Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
2011-05-02omap: panda: wlan board muxingpanduranga_mallireddy@ti.com
Add board muxing to support the wlan wl1271 chip that is hardwired to mmc5 (fifth mmc controller) on the PANDA. Based on the wlan board muxing for zoom3 by Ohad Ben-Cohen <ohadb@ti.com> Signed-off-by: Panduranga Mallireddy <panduranga_mallireddy@ti.com>
Signed-off-by: Andy Green <andy.green@linaro.org>
2011-04-29ARM: zImage: make sure no GOTOFF relocs are used with .bss symbolsNicolas Pitre
To be able to relocate the .bss section at run time independently from the rest of the code, we must make sure that no GOTOFF relocations are used with .bss symbols. This usually means that no global variables can be marked static unless they're also const. To enforce this, suffice to fail the build whenever a private symbol is allocated to .bss and list those symbols for convenience. The user_stack and user_stack_end labels in head.S were converted into non exported symbols to remove false positives. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
2011-04-29ARM: zImage: remove the static qualifier from global data variablesNicolas Pitre
To be able to relocate the .bss section at run time independently from the rest of the code, we must make sure that no GOTOFF relocations are used with .bss symbols. This usually means that no global variables can be marked static unless they're also const. Let's remove the static qualifier from current offenders, or turn them into const variables when possible. Next commit will ensure the build fails if one of those is reintroduced due to otherwise enforced coding standards for the kernel. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
2011-04-29ARM: zImage: make sure not to relocate on top of the relocation codeNicolas Pitre
If the zImage load address is slightly below the relocation address, there is a risk for the copied data to overwrite the copy loop or cache flush code that the relocation process requires. Always bump the relocation address by the size of that code to avoid this issue. Noticed by Tony Lindgren <tony@atomide.com>. While at it, let's start the copy from the restart symbol which makes the above code size computation possible by the assembler directly, given that we don't need to preserve the code before that point anyway. And therefore we don't need to carry the _start pointer in r5 anymore. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
2011-04-29ARM: zImage: Fix bad SP address after relocating kernelTony Lindgren
Otherwise cache_clean_flush can overwrite some of the relocated area depending on where the kernel image gets loaded. This fixes booting on n900 after commit 6d7d0ae51574943bf571d269da3243257a2d15db (ARM: 6750/1: improvements to compressed/head.S). Thanks to Aaro Koskinen <aaro.koskinen@nokia.com> for debugging the address of the relocated area that gets corrupted, and to Nicolas Pitre <nicolas.pitre@linaro.org> for the other uncompress related fixes. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
2011-04-29Revert "ARM: zImage: avoid using the stack in cache_clean_flush"Nicolas Pitre
This reverts commit b4459ba5170430c1370e98c7e0c470a77d7daf83. Some reports indicate this prevents successful boot. Let's use a simpler alternative as proposed for mainline.
2011-04-27ARM: zImage: avoid using the stack in cache_clean_flushNicolas Pitre
With commit 6d7d0ae5 "improvements to compressed/head.S" the code relocates itself, calls cache_clean_flush, and restart from the beginning in order to determine the new stack location amongst other things. But cache_clean_flush in the ARMv7 case was stashing the content of some registers to the old stack location, possibly corrupting the newly relocated code. Let's rework register assignment in cache_clean_flush to avoid stack usage entirely. Thanks to Aaro Koskinen <aaro.koskinen@nokia.com> for investigating this problem. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> Tested-by: Tony Lindgren <tony@atomide.com>
2011-04-26OMAP2plus ID dump cpu die id into dmesgAndy Green
Signed-off-by: Andy Green <andy.green@linaro.org>
2011-04-26DEBUG dump cpuid into dmesg using pr_infoAndy Green
Signed-off-by: Andy Green <andy.green@linaro.org>
2011-04-25Revert "ARM: zImage: fix issues with missing GOT entries for some global ↵Nicolas Pitre
variables" This reverts commit 925f6039cebb771e0143c26bd9c63dfd1fa314db. The whole situation is rather messy and a more comprehensive fix will be required. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
2011-04-25Merge branch 'kprobes' into linaro-2.6.38Nicolas Pitre
Conflicts: arch/arm/kernel/kprobes-decode.c
2011-04-25ARM: futex: add SMP futex support when !CPU_USE_DOMAINSWill Deacon
This patch uses the load/store exclusive instructions to add SMP futex support for ARM. Since the ARM architecture does not provide instructions for unprivileged exclusive memory accesses, we can only provide SMP futexes when CPU domain support is disabled. Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
2011-04-25Merge commit '07d5eca' into linaro-2.6.38Nicolas Pitre
2011-04-25Revert "ARM: Add PI/robust mutexes support for SMP kernels"Nicolas Pitre
This reverts commit c4bb07ec0084e26323047bcbe446d59ac352e07f. A nicer version was posted by Will Deacon, which will replace it.