summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2011-03-10msm: scm: Check for interruption immediatelyStephen Boyd1-24/+27
When we're interrupted on the secure side, we should just issue another smc instruction again instead of replaying the arguments to smc. Fix it. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-03-10msm: scm: Fix improper register assignmentStephen Boyd1-2/+5
Assign the registers used in the inline assembly immediately before the inline assembly block. This ensures the compiler doesn't optimize away dead register assignments when it shouldn't. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Acked-by: Nicolas Pitre <nico@fluxnic.net> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-03-10msm: scm: Mark inline asm as volatileStephen Boyd1-2/+2
We don't want the compiler to remove these asm statements or reorder them in any way. Mark them as volatile to be sure. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-03-09msm: iommu: Enable HTW L2 redirection on MSM8960Stepan Moskovchenko1-1/+1
Allow the MSM8960 IOMMU to access its page tables directly through the L2 cache. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-03-09msm: iommu: Don't read from write-only registersStepan Moskovchenko2-29/+1
Don't read from V2Pxx command registers when doing iova-to-phys operations. These registers are write-only and reading the value before modifying the VA bits is unnecessary. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-03-09msm: iommu: Remove dependency on IDRStepan Moskovchenko4-22/+42
Remove the depencency on the IOMMU IDR register, as it may not be accessible depending on the security configuraton. This involves moving the NCB field of IDR into the platform data. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-03-09msm: iommu: Use ASID tagging instead of VMID taggingStepan Moskovchenko3-10/+14
Use ASID tags in the TLB instead of VMID tags in preparation for changes to the secure environment. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-03-09msm: iommu: Rework clock logic and add IOMMU bus clock controlStepan Moskovchenko3-95/+121
Clean up the clock control code in the probe calls, and add support for controlling the clock for the IOMMU bus interconnect. With the (proper) clock driver in place, the clock control logic in the probe function can be made much cleaner since it does not have to deal with the placeholder driver anymore. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Reviewed-by: Trilok Soni <tsoni@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-03-09msm: iommu: Clock control for the IOMMU driverStepan Moskovchenko2-5/+62
Add clock control to the IOMMU driver. The IOMMU bus clock (and potentially an AXI clock) need to be on to gain access to IOMMU registers. Actively control these clocks when needed instead of leaving them on. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-02-28msm: clock: Migrate to clkdevStephen Boyd15-86/+98
Migrating to clkdev has several advantages: * Less code in mach-msm/clock.c * A more robust clk_get() implementation * clk_add_alias() support * clk_get_sys() support In general, this will help board authors setup clock aliases and break the dependency on device pointers in the clock tables. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-02-28msm: clock: Remove references to clk_ops_pcomStephen Boyd7-77/+11
Not all devices use proc_comm and determining if a clock is local vs. remote is fragile when done by comparing clk_ops pointers. Instead, implement an is_local() function for all clk_ops to determine if the clock is local. Doing this allows us to remove the last references to clk_ops_pcom from clock.c and compile it for targets with CONFIG_MSM_PROC_COMM=n. We don't need to set the clk_ops at runtime until 7x30 local clock detection comes in. Right now it's just complicating things so just set the ops pointer statically. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-02-28msm: headsmp.S: Fix section mismatchStephen Boyd1-1/+1
WARNING: vmlinux.o(.cpuinit.text+0xc80): Section mismatch in reference from the function boot_secondary() to the variable .init.text:msm_secondary_startup The function __cpuinit boot_secondary() references a variable __init msm_secondary_startup. If msm_secondary_startup is only used by boot_secondary then annotate msm_secondary_startup with a matching annotation. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-02-28msm: Use explicit GPLv2 licensesDavid Brown10-236/+70
Replace a BSD-style license in Code Aurora Forum authored files with an explicit GPLv2. Signed-off-by: David Brown <davidb@codeaurora.org>
2011-02-15Merge branch 'msm-core' into for-nextDavid Brown4-66/+40
* msm-core: msm: iommu: Enable IOMMU support for MSM8960 msm: iommu: Generalize platform data for multiple targets msm: iommu: Create a Kconfig item for the IOMMU driver
2011-02-15msm: iommu: Enable IOMMU support for MSM8960Stepan Moskovchenko1-1/+1
Allow IOMMU to be selected for MSM8960 now that the platform data has been generalized. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-02-15msm: iommu: Generalize platform data for multiple targetsStepan Moskovchenko3-66/+28
Make the IOMMU platform data target-independent in preparation for adding MSM8960 IOMMU support. The IOMMU configuration on MSM8x60 and MSM8960 is identical and the same platform data can be used for both. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-02-15msm: iommu: Create a Kconfig item for the IOMMU driverStepan Moskovchenko2-2/+14
Break the IOMMU driver out as a Kconfig item. Initially it was decided to always build this in for 8x60, but this driver is not strictly necessary and should be optionally selectable. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-28Merge branch 'msm-core' into for-nextDavid Brown4-1/+111
* msm-core: msm: serial: Add MSM8960 serial support
2011-01-28msm: serial: Add MSM8960 serial supportStepan Moskovchenko4-1/+111
Add the device definitions and platform data to support the console serial port on MSM8960 Simulator and RUMI3 targets. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-28Merge branch 'msm-core' into for-nextDavid Brown20-224/+165
* msm-core: msm: Clean up useless ifdefs msm: clock: Add support for more proc_comm clocks msm: clock: Invert debugfs directory layout msm: clock: Move debugfs code from clock.c to clock-debug.c msm: clock: Remove 7x30 and pcom includes from clock.h msm: clock: Remove unused code and definitions msm: Warning fix in trout gpio board file msm: Remove broken register definition from trout
2011-01-28msm: Clean up useless ifdefsStepan Moskovchenko8-32/+0
Remove ifdefs that do nothing, either from having the code between them previously removed, or from having been accidentally added to the wrong file. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-28msm: clock: Add support for more proc_comm clocksStephen Boyd3-1/+11
Add support for the ce, codec_ssbi, uart clocks, and i2c clocks. Reviewed-by: Saravana Kannan <skannan@codeaurora.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-28msm: clock: Invert debugfs directory layoutStephen Boyd1-25/+23
There are currently 3 separate directories for clock debugging in debugfs: clk_enable, clk_rate, and clk_local. Each of these directories contains a list of clocks. This is rather annoying when you are focusing on one clock and want to enable/disable it and then check its rate. You either have to cd to the other directory or cat ../clk_rate/<clk>. Invert the layout so that there is one clock directory containing a directory for each clock. Inside each respective clock directory place an enable, rate, and is_local file relating to the clk_enable, clk_disable, and clk_local directories that exist today. Reviewed-by: Saravana Kannan <skannan@codeaurora.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-28msm: clock: Move debugfs code from clock.c to clock-debug.cMatt Wagantall4-122/+150
The clock debugfs code is large enough, and easy enough to separate, that it deserves its own file which is compiled only when CONFIG_DEBUG_FS is enabled. Also, cleanup header file #includes that are no longer required. Reviewed-by: Saravana Kannan <skannan@codeaurora.org> Signed-off-by: Matt Wagantall <mattw@codeaurora.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-28msm: clock: Remove 7x30 and pcom includes from clock.hStephen Boyd6-3/+5
clock.h includes clock-pcom.h and clock-7x30.h when it really doesn't need to. Remove the includes and fixup breakages. Reviewed-By: Saravana Kannan <skannan@codeaurora.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-28msm: clock: Remove unused code and definitionsStephen Boyd3-64/+2
This code is dead or otherwise useless so just remove it. Reviewed-by: Saravana Kannan <skannan@codeaurora.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-28msm: Warning fix in trout gpio board fileDavid Brown1-2/+0
arch/arm/mach-msm/board-trout-gpio.c: In function 'trout_gpio_to_irq': arch/arm/mach-msm/board-trout-gpio.c:77: error: unused variable 'msm_gpio' Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-28msm: Remove broken register definition from troutDavid Brown1-1/+0
Missed a register change with the clock cleanup on the MSM7x01 targets. Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-27Merge branch 'msm-8960' into msm-coreDavid Brown16-90/+582
* msm-8960: msm: Support for the MSM8960 RUMI3 target msm: Support for the MSM8960 Simulator target msm: Makefile cleanup msm: timer: Timer support for MSM8960 msm: Add MSM 8960 cpu_is check msm: irqs-8960: Interrupt map for MSM8960 msm: Physical offset for MSM8960 msm: io: I/O register definitions for MSM8960 msm: Generalize QGIC registers msm: Generalize timer register mappings msm: Add CPU queries
2011-01-25Merge branch 'msm-sdcc' into for-nextDavid Brown5-5/+314
* msm-sdcc: msm: 8x50: Add initial support for SDCC mmc: msm_sdcc: Add gpio handling function to driver drivers: mmc: msm: remove clock disable in probe mmc: msm: fix dma usage not to use internal APIs
2011-01-24Merge branch 'msm-8960' into for-nextDavid Brown16-90/+582
* msm-8960: msm: Support for the MSM8960 RUMI3 target msm: Support for the MSM8960 Simulator target msm: Makefile cleanup msm: timer: Timer support for MSM8960 msm: Add MSM 8960 cpu_is check msm: irqs-8960: Interrupt map for MSM8960 msm: Physical offset for MSM8960 msm: io: I/O register definitions for MSM8960 msm: Generalize QGIC registers msm: Generalize timer register mappings msm: Add CPU queries
2011-01-24Merge branch 'msm-uart' into for-nextDavid Brown3-2/+7
* msm-uart: serial: msm: Add support for UARTDM cores msm: Add name field to UART resources
2011-01-24ARM: msm: 7x30: don't force a gpiomux table for the whole archDima Zavin3-39/+23
This is completely board specific and therefore must be provided on a per-board basis. Signed-off-by: Dima Zavin <dima@android.com> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-22msm: 8x50: Add initial support for SDCCSahitya Tummala4-5/+303
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
2011-01-22mmc: msm_sdcc: Add gpio handling function to driverSahitya Tummala1-0/+11
Configure SDCC GPIOs when the host is powered up or powered off. Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
2011-01-22msm: Add name field to UART resourcesStepan Moskovchenko3-2/+7
Add a name field to the I/O resources for the UARTs on MSM targets in preparation for updates to the msm_serial driver. The driver assumed there is one I/O resource per UART, which is not the case on all targets. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-22msm: Support for the MSM8960 RUMI3 targetStepan Moskovchenko2-1/+17
Add the machine record, init code, and build support for the MSM8960 RUMI3. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-22msm: Support for the MSM8960 Simulator targetStepan Moskovchenko3-0/+79
Add the board file, Kconfig options, and Makefile options needed to build for the MSM8960 Simulator target. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-22msm: Makefile cleanupStepan Moskovchenko1-12/+6
Clean up some of the conditionals in the Makefile in preparation for adding build support for MSM8960. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-22msm: timer: Timer support for MSM8960Stepan Moskovchenko1-2/+3
Modify the macros in the MSM timer driver to support the MSM8960 chip. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-22msm: Add MSM 8960 cpu_is checkDavid Brown1-0/+6
Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-22msm: irqs-8960: Interrupt map for MSM8960Stepan Moskovchenko2-0/+296
Add the interrupt map for the Qualcomm MSM8960 chip. This chip has an interrupt map that is different from previous targets. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-22msm: Physical offset for MSM8960Stepan Moskovchenko1-0/+2
Add the physical memory offset value for the Qualcomm MSM8960 chip. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-22msm: io: I/O register definitions for MSM8960Stepan Moskovchenko4-0/+65
Add the register address definitions for the basic hardware blocks on the Qualcomm MSM8960 chip. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-22msm: Generalize QGIC registersDavid Brown3-8/+8
The QGIC registers are mapped to the same virtual addresses across targets, only the physical address changes. Move the BASE address out of target-specific files, and add a SOC name to the base addresses. Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-22msm: Generalize timer register mappingsDavid Brown7-70/+55
Allow the timer register to be determined dynamically instead of at compile time. Use common virtual addresses for the registers across all MSM chips, and select the register mappings based on the detected CPU. Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-22msm: Add CPU queriesDavid Brown1-0/+48
Create runtime queries to distinguish the various MSM targets. Although these would probably be better named soc_is..., use cpu_is... to match convention in the rest of the kernel. Hard code the tests based on config options for now. When runtime device detection is implemented, these can be made dynamic. Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-22Merge branch 'fixes-2.6.38' of ↵Linus Torvalds1-4/+4
git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu * 'fixes-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: x86,percpu: Move out of place 64 bit ops into X86_64 section
2011-01-22Merge branch 'irq-cleanup-for-linus' of ↵Linus Torvalds31-912/+428
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (37 commits) um: Use generic irq Kconfig tile: Use generic irq Kconfig sparc: Use generic irq Kconfig score: Use generic irq Kconfig powerpc: Use generic irq Kconfig parisc: Use generic irq Kconfig mn10300: Use generic irq Kconfig microblaze: Use generic irq Kconfig m68knommu: Use generic irq Kconfig ia64: Use generic irq Kconfig frv: Use generic irq Kconfig blackfin: Use generic irq Kconfig alpha: Use generic irq Kconfig genirq: Remove __do_IRQ m32r: Convert to generic irq Kconfig m32r: Convert usrv platform irq handling m32r: Convert opsput_lcdpld irq chip m32r: Convert opsput lanpld irq chip m32r: Convert opsput pld irq chip m32r: Convert opsput irq chip ...
2011-01-22Merge branch 'stable/bug-fixes-rc1' of ↵Linus Torvalds2-2/+20
git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen * 'stable/bug-fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen: p2m: correctly initialize partial p2m leaf xen: fix non-ANSI function warning in irq.c