summaryrefslogtreecommitdiffstats
path: root/arch/arm
Commit message (Collapse)AuthorAgeFilesLines
* ARM: add generic ioremap optimization by reusing static mappingsNicolas Pitre2011-11-263-25/+64
| | | | | | | | | | | | Now that we have all the static mappings from iotable_init() located in the vmalloc area, it is trivial to optimize ioremap by reusing those static mappings when the requested physical area fits in one of them, and so in a generic way for all platforms. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> Tested-by: Stephen Warren <swarren@nvidia.com> Tested-by: Kevin Hilman <khilman@ti.com> Tested-by: Jamie Iles <jamie@jamieiles.com>
* ARM: simplify __iounmap() when dealing with section based mappingNicolas Pitre2011-11-261-11/+9
| | | | | | | | | | | | | | Firstly, there is no need to have a double pointer here as we're only walking the vmlist and not modifying it. Secondly, for the same reason, we don't need a write lock but only a read lock here, since the lock only protects the coherency of the list nothing else. Lastly, the reason for holding a lock is not what the comment says, so let's remove that misleading piece of information. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
* ARM: move iotable mappings within the vmalloc regionNicolas Pitre2011-11-262-21/+36
| | | | | | | | | | | | | | | | | | | In order to remove the build time variation between different SOCs with regards to VMALLOC_END, the iotable mappings are now allocated inside the vmalloc region. This allows for VMALLOC_END to be identical across all machines. The value for VMALLOC_END is now set to 0xff000000 which is right where the consistent DMA area starts. To accommodate all static mappings on machines with possible highmem usage, the default vmalloc area size is changed to 240 MB so that VMALLOC_START is no higher than 0xf0000000 by default. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> Tested-by: Stephen Warren <swarren@nvidia.com> Tested-by: Kevin Hilman <khilman@ti.com> Tested-by: Jamie Iles <jamie@jamieiles.com>
* ARM: move initialization of the high_memory variable earlierNicolas Pitre2011-11-183-2/+3
| | | | | | | | | | | Some upcoming changes must know the VMALLOC_START value, which is based on high_memory, before bootmem_init() is called. The best location to set it is in sanity_check_meminfo() where the needed computation is already done, and in the non MMU case it is trivial to do now that the meminfo array is already sorted at that point. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
* ARM: sort the meminfo array earlierNicolas Pitre2011-11-182-30/+16
| | | | | | | | | | | | | The meminfo array has to be sorted before sanity_check_meminfo() in arch/arm/mm/mmu.c is called for it to work properly. This also allows for a simpler find_limits() in arch/arm/mm/init.c. The sort is moved to arch/arm/kernel/setup.c because that's where the meminfo array is populated. Eventually this should be improved upon to make the memory bank parser a bit more robust against problems such as overlapping memory ranges. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
* ARM: realview-eb11mp: fix map_desc alignmentRob Herring2011-11-181-2/+2
| | | | | | | | | REALVIEW_EB11MP_GIC_CPU_BASE is not 4KB aligned which causes an overlapping mapping. Use REALVIEW_EB11MP_SCU_BASE instead which is aligned. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
* ARM: realview: fix map_desc alignmentRob Herring2011-11-181-2/+2
| | | | | | | | | REALVIEW_PBX_TILE_GIC_CPU_BASE is not 4KB aligned which causes an overlapping mapping. Use REALVIEW_PBX_TILE_SCU_BASE instead which is aligned. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
* ARM: versatile: remove overlapping map_desc entryRob Herring2011-11-181-5/+0
| | | | | | | | The map_desc for VERSATILE_GPIO0_BASE overlaps with VERSATILE_SCTL_BASE. The overlapping entry can be removed. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
* ARM: plat-iop: remove arch specific special handling for ioremapNicolas Pitre2011-11-184-75/+0
| | | | | | A generic version should replace this later. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
* ARM: mach-ixp23xx: remove arch specific special handling for ioremapNicolas Pitre2011-11-181-29/+0
| | | | | | | A generic version should replace this later. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> Reviewed-by: Deepak Saxena <dsaxena@linaro.org>
* ARM: mach-kirkwood: remove arch specific special handling for ioremapNicolas Pitre2011-11-181-25/+0
| | | | | | A generic version should replace this later. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
* ARM: mach-orion5x: remove arch specific special handling for ioremapNicolas Pitre2011-11-181-25/+0
| | | | | | A generic version should replace this later. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
* ARM: mach-bcmring: use proper constant to identify DMA memory areaNicolas Pitre2011-11-181-1/+1
| | | | | | | Using VMALLOC_END implies a presumption about the layout which is best avoided, even if in practice this would not change much. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
* ARM: plat-omap: remove arch specific special handling for ioremapNicolas Pitre2011-11-186-170/+8
| | | | | | | | | | A generic version should replace this later. As io.c has become nearly empty, omap_init_consistent_dma_size() is moved into common.c so that io.c can be removed entirely. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> Tested-by: Kevin Hilman <khilman@ti.com>
* ARM: mach-tegra: remove arch specific special handling for ioremapNicolas Pitre2011-11-162-27/+0
| | | | | | | A generic version should replace this later. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> Tested-by: Stephen Warren <swarren@nvidia.com>
* ARM: mach-davinci: remove arch specific special handling for ioremapNicolas Pitre2011-11-153-57/+1
| | | | | | A generic version should replace this later. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
* ARM: mach-at91: remove arch specific special handling for ioremapNicolas Pitre2011-11-152-26/+0
| | | | | | A generic version should replace this later. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
* ARM: plat-mxc: remove inclusion of <mach/vmalloc.h>Nicolas Pitre2011-11-151-2/+0
| | | | Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
* ARM: mach-prima2: don't define SIRFSOC_VA in terms of VMALLOC_ENDNicolas Pitre2011-11-151-2/+4
| | | | | | | ... since it is going to change. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> Tested-by: Barry Song <baohua.song@csr.com>
* ARM: mach-dove: remove inclusion of <mach/vmalloc.h>Nicolas Pitre2011-11-151-2/+0
| | | | | | This include is unnecessary. Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
* Merge branch 'rmobile-fixes-for-linus' of git://github.com/pmundt/linux-shLinus Torvalds2011-11-1412-523/+324
|\ | | | | | | | | | | | | | | | | | | | | | | * 'rmobile-fixes-for-linus' of git://github.com/pmundt/linux-sh: ARM: mach-shmobile: cpuidle single/global and last_state fixes ARM: mach-shmobile: move helper macro PORTCR to sh_pfc.h ARM: mach-shmobile: move helper macro PORT_xx to sh_pfc.h ARM: mach-shmobile: move helper macro PORT_DATA_xx to sh_pfc.h ARM: mach-shmobile: ap4evb: remove white space from end of line ARM: mach-shmobile: clock-sh7372: remove un-necessary index ARM: mach-shmobile: kota2: add comment out separator ARM: mach-shmobile: sh73a0: add MMC data pin pull-up
| * ARM: mach-shmobile: cpuidle single/global and last_state fixesMagnus Damm2011-11-113-40/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following commits break cpuidle on SH-Mobile ARM: 46bcfad cpuidle: Single/Global registration of idle states e978aa7 cpuidle: Move dev->last_residency update to driver enter routine; remove dev->last_state This patch remedies these issues by up-porting the SH-Mobile code to fit with the above introduced framework changes. It is worth noting that the new code becomes significantly cleaner, so these framework changes are very welcome. At the same time this breakage could probably have been avoided by grepping for "last_state" and "cpuidle_register_driver". Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * ARM: mach-shmobile: move helper macro PORTCR to sh_pfc.hKuninori Morimoto2011-11-114-61/+0
| | | | | | | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * ARM: mach-shmobile: move helper macro PORT_xx to sh_pfc.hKuninori Morimoto2011-11-114-197/+117
| | | | | | | | | | | | | | | | This patch moves PORT_xx helper macro to sh_pfc.h, and it expects CPU_ALL_PORT() macro for each CPU Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * ARM: mach-shmobile: move helper macro PORT_DATA_xx to sh_pfc.hKuninori Morimoto2011-11-114-212/+115
| | | | | | | | | | | | | | | | This patch move PORT_DATA_xx helper macro to sh_pfc.h. and pfc-sh7372.c used it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * ARM: mach-shmobile: ap4evb: remove white space from end of lineKuninori Morimoto2011-11-111-1/+1
| | | | | | | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * ARM: mach-shmobile: clock-sh7372: remove un-necessary indexKuninori Morimoto2011-11-111-4/+4
| | | | | | | | | | | | | | it is not necessary to have sh7372_xxxx index on static variable Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * ARM: mach-shmobile: kota2: add comment out separatorKuninori Morimoto2011-11-111-0/+7
| | | | | | | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * ARM: mach-shmobile: sh73a0: add MMC data pin pull-upKuninori Morimoto2011-11-113-8/+50
| | | | | | | | | | | | | | | | | | | | | | This patch adds MMC data pin pull-up option for pfc-sh73a0.c, and select it on ag5evm board. The MMC read/write will be error without this patch. Cc: Takashi YOSHII <takashi.yoshii.zj@renesas.com> Tested-by: Simon Horman <horms@verge.net.au> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | Merge branch 'sh-fixes-for-linus' of git://github.com/pmundt/linux-shLinus Torvalds2011-11-142-68/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'sh-fixes-for-linus' of git://github.com/pmundt/linux-sh: mailmap: Fix up some renesas attributions sh: clkfwk: Kill off remaining debugfs cruft. drivers: sh: Kill off dead pathname for runtime PM stub. drivers: sh: Generalize runtime PM platform stub. sh: Wire up process_vm syscalls. sh: clkfwk: add clk_rate_mult_range_round() serial: sh-sci: Fix up SH-2A SCIF support. sh: Fix cached/uncaced address calculation in 29bit mode
| * | drivers: sh: Generalize runtime PM platform stub.Paul Mundt2011-11-112-68/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The runtime PM platform support stub in use by ARM-based SH/R-Mobile platforms contains nothing that's specifically ARM-related and instead of wholly generic to anything using the clock framework. The recent runtime PM changes interact rather badly with the lazy disabling of clocks late in the boot process through the clock framework, leading to situations where the runtime suspend/resume paths are entered without a clock being actively driven due to having been lazily gated off. In order to correct this we can trivially tie in the aforementioned stub as a general fallback for all SH platforms that don't presently have their own runtime PM implementations (the corner case being SH-based SH-Mobile platforms, which have their own stub through the hwblk API -- which in turn has bitrotted and will be subsequently adapted to use the same stub as everyone else), regardless of whether the platforms choose to define power domains of their own or not. This fixes up regressions for clock framework users who also build in runtime PM support without any specific power domains of their own, which was previously causing the serial console to be lost when warring with lazy clock disabling. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | Merge branch 'picoxcell-fixes' of git://github.com/jamieiles/linux-2.6-ji ↵Olof Johansson2011-11-111-1/+1
|\ \ | | | | | | | | | into fixes
| * | ARM: picoxcell: add extra temp register to addruartJamie Iles2011-11-091-1/+1
| |/ | | | | | | | | | | | | | | 639da5ee3 (ARM: add an extra temp register to the low level debugging addruart macro) didn't include picoxcell as it hadn't been merged at the time. Fix up the compile breakage by adding the extra temp parameter. Signed-off-by: Jamie Iles <jamie@jamieiles.com>
* | Merge branch 'imx-fixes-for-arnd' of ↵Olof Johansson2011-11-114-20/+39
|\ \ | | | | | | | | | git://git.pengutronix.de/git/imx/linux-2.6 into fixes
| * | arm/imx: fix imx6q mmc error when mounting rootfsShawn Guo2011-11-111-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following error is seen in some case when mounting rootfs from SD/MMC cards. Waiting for root device /dev/mmcblk0p1... mmc1: host does not support reading read-only switch. assuming write-enable. mmc1: new high speed SDHC card at address b368 mmcblk0: mmc1:b368 SDC 3.74 GiB mmcblk0: p1 mmc1: Timeout waiting for hardware interrupt. mmcblk0: error -110 transferring data, sector 3678224, nr 40, cmd response 0x900, card status 0xc00 end_request: I/O error, dev mmcblk0, sector 3678225 Buffer I/O error on device mmcblk0p1, logical block 458754 lost page write due to I/O error on mmcblk0p1 This patch fixes the problem by lowering the usdhc clock and correcting watermark configuration. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Cc: Chris Ball <cjb@laptop.org> Cc: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | arm/imx: fix AUTO_ZRELADDR selectionShawn Guo2011-11-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The AUTO_ZRELADDR selection for ARCH_IMX_V4_V5 and ARCH_MX5 should really be mutually exclusive to ZBOOT_ROM just like what ARCH_IMX_V6_V7 does. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Cc: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | arm/imx: fix the references to ARCH_MX3Shawn Guo2011-11-111-15/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The config symbol ARCH_MX3 has been removed by commit 'a89cf59 arm/imx: merge i.MX3 and i.MX6', and it should not be referenced any more. The patch also change ARCH_MX* to SOC_IMX* for other platforms. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Cc: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: mx51/53: set pwm clock parent to ipg_perclkRichard Zhao2011-11-111-2/+2
| |/ | | | | | | | | Signed-off-by: Richard Zhao <richard.zhao@linaro.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'msm-fix' of git://codeaurora.org/quic/kernel/davidb/linux-msm ↵Olof Johansson2011-11-095-6/+11
|\ \ | | | | | | | | | into fixes
| * | ARM: msm: fix compilation flags for MSM_SCMMarc Zyngier2011-11-082-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | CONFIG_MSM_SCM uses the smc instruction, which with some toolchains requires a ".arch_extension" directive. Cc: David Brown <davidb@codeaurora.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: David Brown <davidb@codeaurora.org>
| * | msm: boards: Fix fallout from removal of machine_desc in fixupStephen Boyd2011-11-013-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After 0744a3ee (ARM: platform fixups: remove mdesc argument to fixup function, 2010-12-20) the fixup functions introduced in 9e775ad (ARM: 7012/1: Set proper TEXT_OFFSET for newer MSMs, 2011-08-12) cause warnings like: arch/arm/mach-msm/board-msm8x60.c:85: warning: initialization from incompatible pointer type Fix them by removing the machine_desc argument from the fixup functions. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
* | | Merge branch 'for-3.2/fixes' of ↵Olof Johansson2011-11-096-12/+27
|\ \ \ | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra into fixes
| * | | arm/tegra: enable headphone detection gpio on seaboardYufeng Shen2011-11-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable the headphone detection gpio on tegra platform. Signed-off-by: Yufeng Shen <miletus@chromium.org> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
| * | | arm/dt: Fix ventana SDHCI power-gpiosStephen Warren2011-11-091-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ventana uses the same SDHCI GPIOs as Seaboard; PI6 (70) is the power GPIO for the SD port, and there is no power GPIO for the MMC chip. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
| * | | arm/tegra: Don't create duplicate gpio and pinmux devicesStephen Warren2011-11-095-10/+25
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *_pinmux_init() register the GPIO and pinmux devices so that they're ready before any other device needs them. *_pinmux_init() are also called by board-dt.c in order to set up the GPIO and pinmux configurations. In this case, if we register the devices, they end up being probed once due to this registration, and a second time due to a device-tree node (or vice-versa). The second probe fails since the memory regions are already requested. Besides, we don't actually want the duplicated devices. To avoid this duplicate registration, modify *_pinmux_init() to check whether it's running on a DT machine. If not, register the pinmux devices. If so, don't register them. Finally, modify board-dt.c to call the *_pinmux_init() after all devices have been instantiated from device-tree. This allows the GPIO and pinmux devices to be instantiated and initialized before calling functions to configure the hardware. This has one disadvantage: The pinmux and GPIO initialization now happens after /all/ devices are instantiated, rather than after just gpio and pinmux but before anything else. So the correct HW configuration is not in place when e.g. the SD/MMC device is probed. Long-term, this should be solved by doing both: a) Initializing the HW state from DT nodes during GPIO and pinmux device probe. b) Using the deferred driver probe mechanism, so that drivers can defer their probe until after the gpio and pinmux drivers have probed. v2: s/int is_dt/bool is_dt/ v3: Use of_machine_is_compatible inside *_pinmux_init() rather than passing an explicit parameter into the function from outside. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
* | | Merge branch 'at91-fixes' of git://github.com/at91linux/linux-at91 into fixesOlof Johansson2011-11-099-25/+20
|\ \ \
| * | | ARM: at91: Fix USBA gadget registrationJochen Friedrich2011-11-093-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 193ab2a6070039e7ee2b9b9bebea754a7c52fd1b, various AT91 boards don't register USBA adapters anymore due to depending on a now non-existing symbol. Fix the symbol name. Signed-off-by: Jochen Friedrich <jochen@scram.de> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> CC: stable@kernel.org Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| * | | at91/yl-9200: Fix section mismatchJean-Christophe PLAGNIOL-VILLARD2011-11-091-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| * | | at91: vmalloc fix missing AT91_VIRT_BASE defineJean-Christophe PLAGNIOL-VILLARD2011-11-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VMALLOC_END is defined in terms of AT91_VIRT_BASE but this needs mach/hardware.h for it's definition. In file included from arch/arm/mach-at91/board-usb-a926x.c:26:0: include/linux/mm.h: In function 'is_vmalloc_addr': include/linux/mm.h:305:41: error: 'AT91_VIRT_BASE' undeclared (first use in this function) include/linux/mm.h:305:41: note: each undeclared identifier is reported only once for each function it appears in Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Cc: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Jamie Iles <jamie@jamieiles.com>
| * | | ARM: at91: usart: drop static map regs for dbguJean-Christophe PLAGNIOL-VILLARD2011-11-097-21/+14
| |/ / | | | | | | | | | | | | | | | | | | | | | In commit fb149f9e28354 we introduce ioremap support for static map_io, we do not need this register entry anymore. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
OpenPOWER on IntegriCloud