71218 Commits

Author SHA1 Message Date
Geert Uytterhoeven
325c117000 mn10300: move setup_jiffies_interrupt() to cevt-mn10300.c
Move the static inline function setup_jiffies_interrupt() from
<asm/timex.h> to arch/mn10300/kernel/cevt-mn10300.c, which is its only
callsite.

This allows to remove the inclusion of <asm/hardirq.h> and <linux/irq.h>
from <asm/timex.h> and <unit/timex.h>, fixing include hell like:

  include/linux/jiffies.h:260:31: warning: "CLOCK_TICK_RATE" is not defined [-Wundef]
  include/linux/jiffies.h:260:31: warning: "CLOCK_TICK_RATE" is not defined [-Wundef]
  include/linux/jiffies.h:46:42: error: division by zero in #if
  ...
  make[4]: *** [arch/mn10300/kernel/asm-offsets.s] Error 1

and (after a quick hack for the above by defining CLOCK_TICK_RATE in
<linux/jiffies.h>):

  In file included from include/linux/notifier.h:15:0,
                 from include/linux/memory_hotplug.h:6,
                 from include/linux/mmzone.h:718,
                 from include/linux/gfp.h:4,
                 from include/linux/irq.h:20,
                 from arch/mn10300/unit-asb2303/include/unit/timex.h:15,
                 from arch/mn10300/include/asm/timex.h:15,
                 from include/linux/timex.h:174,
                 from include/linux/jiffies.h:8,
                 from include/linux/ktime.h:25,
                 from include/linux/timer.h:5,
                 from include/linux/workqueue.h:8,
  include/linux/srcu.h:55:22: error: field 'work' has incomplete type

As a consequence, we do need a few more inclusions of <asm/irq.h>, namely
in arch/mn10300/unit-asb2303/smc91111.c and
arch/mn10300/unit-asb2305/unit-init.c.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: David Howells <dhowells@redhat.com>
Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-07-11 16:04:41 -07:00
Ingo Molnar
bb65a764de Merge branch 'mce-ripvfix' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras into x86/mce
Merge memory fault handling fix from Tony Luck.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2012-07-11 22:37:48 +02:00
Chris Metcalf
bce5bbbb23 arch/tile: provide kernel support for the tilegx TRIO shim
Provide kernel support for the tilegx "Transaction I/O" (TRIO) on-chip
hardware.  This hardware implements the PCIe interface for tilegx;
the driver changes to use TRIO for PCIe are in a subsequent commit.

The change is layered on top of the tilegx GXIO IORPC subsystem.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2012-07-11 16:04:58 -04:00
Chris Metcalf
10104a1ad6 arch/tile: break out the "csum a long" function to <asm/checksum.h>
This makes it available to the tilegx network driver.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2012-07-11 16:04:57 -04:00
Chris Metcalf
4875f69fec arch/tile: provide kernel support for the tilegx mPIPE shim
The TILE-Gx chip includes a packet-processing network engine called
mPIPE ("Multicore Programmable Intelligent Packet Engine").  This
change adds support for using the mPIPE engine from within the
kernel.  The engine has more functionality than is exposed here,
but to keep the kernel code and binary simpler, this is a subset
of the full API designed to enable standard Linux networking only.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2012-07-11 16:04:55 -04:00
Chris Metcalf
6369798037 arch/tile: common DMA code for the GXIO IORPC subsystem
The dma_queue support is used by both the mPipe (networking)
and Trio (PCI) hardware shims on tilegx.  This common code is
selected when either of those drivers is built.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2012-07-11 16:04:54 -04:00
Chris Metcalf
44e5696710 arch/tile: support MMIO-based readb/writeb etc.
Add support for MMIO read/write on tilegx to support GXIO IORPC access.
Similar to the asm-generic version, but we include memory fences on
the writes to be conservative.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2012-07-11 16:04:53 -04:00
Chris Metcalf
37b82b5de7 arch/tile: introduce GXIO IORPC framework for tilegx
The GXIO I/O RPC subsystem handles exporting I/O hardware resources to
Linux and to applications running under Linux.

For instance, memory which is made available for I/O DMA must be mapped
by an I/O TLB; that means that such memory must be locked down by Linux,
so that it is not swapped or otherwise reused, as long as those I/O
TLB entries are active. Similarly, configuring direct hardware access
introduces new validation requirements. If a user application registers
memory, Linux must ensure that the supplied virtual addresses are valid,
and turn them into client physical addresses. Similarly, when Linux then
supplies those client physical addresses to the Tilera hypervisor, it
must in turn validate those before turning them into the real physical
addresses which are required by the hardware.

To the extent that these sorts of activities were required on previous
TILE architecture processors, they were implemented in a device-specific
fashion. This meant that every I/O device had its own Tilera hypervisor
driver, its own Linux driver, and in some cases its own user-level
library support. There was a large amount of more-or-less functionally
identical code in different places, particularly in the different Linux
drivers. For TILE-Gx, this support has been generalized into a common
framework, known as the I/O RPC framework or just IORPC.

The two "gxio" directories (one for headers, one for sources) start
with just a few files in each with this infrastructure commit, but
after adding support for the on-board I/O shims for networking, PCI,
USB, crypto, compression, I2CS, etc., there end up being about 20 files
in each directory.

More information on the IORPC framework is in the <hv/iorpc.h> header,
included in this commit.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2012-07-11 16:04:52 -04:00
Linus Torvalds
605cd83694 Merge branch 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
Pull arch/tile fix from Chris Metcalf:
 "This is a single change to fix backtracing in big-endian mode."

* 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
  arch/tile: big-endian: properly bswap instruction bundles when backtracing
2012-07-11 13:01:57 -07:00
Linus Torvalds
887eafd29b ARM: SoC fixes for 3.5-rc
* multiple omap2+ bug fixes
 * a regression on ux500 dt support
 * a build failure on shmobile
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIVAwUAT/3SwWCrR//JCVInAQIlEQ//a9f4CGJAdRFtoRwCj0C24i6n8PVJF+23
 DWHuQ+xLBJqlex5tC8I3CJUBCAO7p432/C5OeTsE1sJcYK5GnEbolHd+nLWLsSqP
 l8NO9Pw4C98vpBMrIiPM+AiE6RCsYK04su0FoS0RftCchzg9ZursdJUDP2Tlwu6i
 lAFCsZTlM66J5h0OelSDO8aTL9VuaFjYWrNXOBjwkJiEGzZo9Adw8fY7ekttLZoV
 oQRKB8jFyGvc5ih1h4WdM/J5VyY1NWkRW1VDaxLXfJlvRuD7gIpOA5v2whanVjAd
 xmJnrLpE5tadtvxJRzUKDtlIQkw/ZoCzGrJfl7EhSbZYzlu7qiLq9HeRs6/t5odU
 AnX69qGQoLU+ARdp6DdG3EpqPc1EEyjLMaU6Los8ZjWrkPRhG6kn6iRe4LRwxRS3
 7RcP8fDeAUUSBZCfAK1FRdD9xSNQB5yt1KJsjYLfKoLWehXzAMOytWeKEJ2rJzZ/
 1/rCfTDfB+Sq8GtbHGj86bv/7cZN3+seu7fNGackfOmQEKRX363SB2T5P9xjnZ5E
 K+44W71BLPT9yYZ/pQ8f6V6f/wRDeE15IMD2PLghouAXJxGtx2upOshCMkUHl9RE
 PmcLLev8qulU8UI5sPsuWZsiCPVt6ujHLDqUrk7SN7rf+Emc+Rf9roDVJcYIrqwI
 Om7AtQwKgVQ=
 =35LO
 -----END PGP SIGNATURE-----

Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull ARM SoC fixes from Arnd Bergmann:
 -  multiple omap2+ bug fixes
 - a regression on ux500 dt support
 - a build failure on shmobile

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  ARM: OMAP2+: omap2plus_defconfig: EHCI driver is not stable, disable it
  ARM: shmobile: fix platsmp.c build when ARCH_SH73A0=n
  ARM: ux500: Over-ride the DT device naming scheme for pinctrl
  ARM: ux500: Fix build errors/warnings when MACH_UX500_DT is not set
  of: address: Don't fail a lookup just because a node has no reg property
  ARM: OMAP2+: hwmod code/clockdomain data: fix 32K sync timer
2012-07-11 12:44:25 -07:00
David Howells
43224b739b MN10300: Fix a missing semicolon
The declaration of arch_release_thread_info() needs a semicolon.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-07-11 11:15:24 -07:00
Tony Luck
6751ed65dc x86/mce: Fix siginfo_t->si_addr value for non-recoverable memory faults
In commit dad1743e5993f1 ("x86/mce: Only restart instruction after machine
check recovery if it is safe") we fixed mce_notify_process() to force a
signal to the current process if it was not restartable (RIPV bit not
set in MCG_STATUS). But doing it here means that the process doesn't
get told the virtual address of the fault via siginfo_t->si_addr. This
would prevent application level recovery from the fault.

Make a new MF_MUST_KILL flag bit for memory_failure() et al. to use so
that we will provide the right information with the signal.

Signed-off-by: Tony Luck <tony.luck@intel.com>
Acked-by: Borislav Petkov <borislav.petkov@amd.com>
Cc: stable@kernel.org    # 3.4+
2012-07-11 10:20:47 -07:00
Avi Kivity
37e41afa97 Merge branch 'for-upstream-master' of git://github.com/agraf/linux-2.6
PPC fix from Alex Graf: "It contains an important bug fix which
can lead to guest freezes when using PAPR guests with PR KVM."

* 'for-upstream-master' of git://github.com/agraf/linux-2.6:
  powerpc/kvm: Fix "PR" KVM implementation of H_CEDE

Signed-off-by: Avi Kivity <avi@redhat.com>
2012-07-11 18:49:20 +03:00
Benjamin Herrenschmidt
1dee7a3dc8 powerpc/kvm: Fix "PR" KVM implementation of H_CEDE
H_CEDE should enable the vcpu's MSR:EE bit. It does on "HV" KVM (it's
burried in the assembly code though) and as far as I can tell, qemu
does it as well.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
2012-07-11 17:36:38 +02:00
Scott Wood
9653018b61 powerpc/e500: add paravirt QEMU platform
This gives the kernel a paravirtualized machine to target, without
requiring both sides to pretend to be targeting a specific board
that likely has little to do with the host in KVM scenarios.  This
avoids the need to add new boards to QEMU just to be able to
run KVM on new CPUs.

As this is the first platform that can run with either e500v2 or
e500mc, CONFIG_PPC_E500MC is now a legitimately user configurable
option, so add a help text.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2012-07-11 07:49:36 -05:00
Scott Wood
91a6f34792 powerpc/mpc85xx_ds: convert to unified PCI init
Similar to how the primary PCI bridge is identified by looking
for an isa subnode, we determine whether to apply uli exclusions
by looking for a uli subnode.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2012-07-11 07:49:34 -05:00
Scott Wood
07e4f8014f powerpc/fsl-pci: get PCI init out of board files
As an alternative incremental starting point to Jia Hongtao's patchset,
get the FSL PCI init out of the board files, but do not yet convert to a
platform driver.

Rather than having each board supply a magic register offset for
determining the "primary" bus, we look for which PCI host bridge
contains an ISA node within its subtree.  If there is no ISA node,
normally that would mean there is no primary bus, but until certain
bugs are fixed we arbitrarily designate a primary in this case.

Conversion to a platform driver and related improvements can happen
after this, as the ordering issues are sorted out.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2012-07-11 07:49:33 -05:00
Shengzhou Liu
478a4829d8 powerpc/85xx: Update corenet64_smp_defconfig
Enable USB, MMC, SATA, LBC, MTD, NAND, SPI, PCIe, EDAC, VFAT, NFS, etc.

Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2012-07-11 07:45:50 -05:00
Shengzhou Liu
9d23298734 powerpc/85xx: Update corenet32_smp_defconfig
- Enable NAND support
 - Enable CONFIG_PCI_MSI and CONFIG_MMC_SDHCI_OF

Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2012-07-11 07:45:43 -05:00
Xu Jiucheng
3ef4106573 powerpc/85xx: Rename P1021RDB-PC device trees to be consistent
The board is really P1021RDB-PC, so rename from p1021rdb.* to p1021rdb-pc.*

Signed-off-by: Xu Jiucheng <Jiucheng.Xu@freescale.com>
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2012-07-11 07:45:42 -05:00
Shaohui Xie
c5f02bb422 powerpc/watchdog: move booke watchdog param related code to setup-common.c
Currently, BOOKE watchdog code for checking "wdt" and "wdt_period" is
in setup_32.c, it cannot be used in 64-bit, so move it to a common place
setup-common.c, which will be shared by 32-bit and 64-bit.

Also, replace the simple_strtoul with kstrtol.

Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2012-07-11 07:44:03 -05:00
Arnd Bergmann
04cf794165 ARM i.MX SoC updates for 3.6
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABCAAGBQJP/SKWAAoJEPFlmONMx+ezon0P/iVPNmEUnGSl23YuavpuexlV
 qtWymHkzNIQhaAOXyt/hiH8CVy4FPuy8UhsahKw5ehhbtQk+5AL6lxnlN6KsfM4D
 K7tAefzapt3M7ohtxj7x7fmkYZo7TcIk9dQ20qDANdaHetzL17E7QjvQUxuBucfX
 s64EHtNRzv1ChV5RYRYzDsp2BzhdN/UYATq4WmJkqRBA3j5BmpkkVn/CF7iGUd6j
 UBlBw/luF6l8f6Gz1s6UeLXlAstwAnvIZE69A+GR2zJYJwwpWSD5W5dxQAY6nHZs
 zIGZ8XDqJlpOjpwQzrfjT7cSCgmaBxPpZmrqWLr2NdqdD32fHSBWjRYqVZbSSGKk
 r7OP/XOXe6nORV4hiTAnHs5Dd6GMbnKzGsqzROHzZhUqM2J173vOlT3QCnffzW/6
 J0YWINm/l8X37hyv3QCB5wedoAjKlr/VcFSgTDl4ylFCkzguVoGJBq1maW/6Apha
 UDa7sgBck10LWTmmwpFF0/fGQHgy3mlx+LLHvl8MS4jXseNsfgMMHDm1wmHFprjH
 IcDzlMAN7+sJ24lyi7m3OKnNoQXs7HZXVnd5+eJzLKgg4uoKG+G6bid8lcMzbnQB
 z0IKEIFGX4zNsxv0I34uGiQ9Qk4E1a/vYdGfgi9N9RFm5vp4GxaHjZxpA1kk0jUF
 S5LRAdYe04O02jTmcOn9
 =7ymV
 -----END PGP SIGNATURE-----

Merge tag 'imx-soc' of git://git.pengutronix.de/git/imx/linux-2.6 into next/soc

From Sascha Hauer <s.hauer@pengutronix.de>:
ARM i.MX SoC updates for 3.6

* tag 'imx-soc' of git://git.pengutronix.de/git/imx/linux-2.6:
  ARM: imx: fix mx51 ehci setup errors
  ARM: imx: make ehci power/oc polarities configurable
  ARM: imx: add rtc support to mx35_3ds
  ARM: imx: enable support for mx35 rtc
  ARM: imx: fix i.MX35 CPU architecture
  ARM: i.MX51 iomux: added missing pin definitions

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-07-11 12:50:42 +02:00
Arnd Bergmann
0dc1951043 Linux 3.5-rc6
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
 iQEcBAABAgAGBQJP+NMmAAoJEHm+PkMAQRiGPxEH/18YQN8FAzEIjcC10ytA3RC3
 KzPv31jXgJGZDy1UqmpKtJ7GDwb92AhqZxVnJimMa+6d1uA8NsZQq5EMOPPiX8Qi
 8P4AEaw5kSMmR/6zxsxguCGdbDLU3xZ1nJZkHyMgjo2UJbMU0jBPneb/79heWPhe
 0HOkLzN5VA6Yx3Nt70sWQ1zsuj0Ji5jCGO0iNTCBmTiv4J9ZlOx3xJQn4aK6JscO
 /3QRTM43GG0j6zToEOCTHrn8ajOq6rHQQkG0bPVR723nFrSGLoaCT6QVBXYug+AZ
 9Xay7zVNvrq2oH5x5jADG2t2vyaG+nEJpSrVjXznzxgDnK7tWjYqiuG5zqKhAq8=
 =IMfr
 -----END PGP SIGNATURE-----

Merge tag 'v3.5-rc6' into next/soc

Linux 3.5-rc6

Dependency for imx/soc changes
2012-07-11 12:50:20 +02:00
Haren Myneni
e1612de9e4 powerpc: Disable /dev/port interface on systems without an ISA bridge
Some power systems do not have legacy ISA devices. So, /dev/port is not
a valid interface on these systems. User level tools such as kbdrate is
trying to access the device using this interface which is causing the
system crash.

This patch will fix this issue by not creating this interface on these
powerpc systems.

Signed-off-by: Haren Myneni <haren@us.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-07-11 18:22:32 +10:00
Ingo Molnar
92254d3144 Linux 3.5-rc6
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
 iQEcBAABAgAGBQJP+NMmAAoJEHm+PkMAQRiGPxEH/18YQN8FAzEIjcC10ytA3RC3
 KzPv31jXgJGZDy1UqmpKtJ7GDwb92AhqZxVnJimMa+6d1uA8NsZQq5EMOPPiX8Qi
 8P4AEaw5kSMmR/6zxsxguCGdbDLU3xZ1nJZkHyMgjo2UJbMU0jBPneb/79heWPhe
 0HOkLzN5VA6Yx3Nt70sWQ1zsuj0Ji5jCGO0iNTCBmTiv4J9ZlOx3xJQn4aK6JscO
 /3QRTM43GG0j6zToEOCTHrn8ajOq6rHQQkG0bPVR723nFrSGLoaCT6QVBXYug+AZ
 9Xay7zVNvrq2oH5x5jADG2t2vyaG+nEJpSrVjXznzxgDnK7tWjYqiuG5zqKhAq8=
 =IMfr
 -----END PGP SIGNATURE-----

Merge tag 'v3.5-rc6' into x86/mce

Merge Linux 3.5-rc6 before merging more code.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2012-07-11 09:41:37 +02:00
Shawn Guo
ce9b9febe1 ARM: mxs: rename dts files with soc name being the prefix
Rename mxs dts files with soc name being the prefix, so that the board
dts file can be located easily by soc name, and we also gain the
consistency of naming.

Suggested-by: Marek Vasut <marex@denx.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-07-11 15:26:43 +08:00
Sascha Hauer
34ae0dadb4 ARM: imx_v4_v5_defconfig: update features
- reenable CONFIG_MFD_MC13XXX_SPI
- Allow booting from MMC card.
- Enable mc13783 Codec support
- Enable sgtl5000 Codec support
- Enable mc13783 RTC
- Enable Control Group support for systemd
- Enable clk debugfs support
- Enable i.MX keypad driver
- Enable MC13783 touchscreen
- Enable i.MX PATA driver

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-07-11 08:31:53 +02:00
Sascha Hauer
3def84ec9e ARM: imx_v6_v7_defconfig: update features
- Add sound support
- Enable mtd support
- Enable i.MX NAND support
- Enable NOR flash support
- Enable JFFS2/UBI
- Enable clk debugfs support
- Disable iommu support which is not present on i.MX
- Enable MC13xxx RTC
- Enable RNGA random number generator
- Enable SPI EEPROM support
- Enable I2C EEPROM support

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-07-11 08:30:46 +02:00
Dong Aisheng
475d009429 of: Improve prom_update_property() function
prom_update_property() currently fails if the property doesn't
actually exist yet which isn't what we want. Change to add-or-update
instead of update-only, then we can remove a lot duplicated lines.

Suggested-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-07-11 15:26:51 +10:00
Tiejun Chen
b416c9a10b powerpc: Add "memory" attribute for mfmsr()
Add "memory" attribute in inline assembly language as a compiler
barrier to make sure 4.6.x GCC don't reorder mfmsr().

Signed-off-by: Tiejun Chen <tiejun.chen@windriver.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: stable@vger.kernel.org
2012-07-11 15:25:45 +10:00
roger blofeld
fd5a42980e powerpc/ftrace: Fix assembly trampoline register usage
Just like the module loader, ftrace needs to be updated to use r12
instead of r11 with newer gcc's.

Signed-off-by: Roger Blofeld <blofeldus@yahoo.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: stable@vger.kernel.org
2012-07-11 14:23:32 +10:00
Naveen N. Rao
ac84aa2b3b powerpc/hw_breakpoints: Fix incorrect pointer access
If arch_validate_hwbkpt_settings() fails, bp->ctx won't be valid and the
kernel panics. Add a check to fix this.

Reported-by: Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-07-11 14:20:20 +10:00
Stephen Rothwell
1d5a436d2c powerpc: Put the gpr save/restore functions in their own section
This allows the linker to know that calls to them do not need to switch
TOC and stop errors like the following when linking large configurations:

powerpc64-linux-ld: drivers/built-in.o: In function `.gpiochip_is_requested':
(.text+0x4): sibling call optimization to `_savegpr0_29' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `_savegpr0_29' extern

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-07-11 14:19:59 +10:00
Anton Blanchard
18ad51dd34 powerpc: Add VDSO version of getcpu
We have a request for a fast method of getting CPU and NUMA node IDs
from userspace. This patch implements a getcpu VDSO function,
similar to x86.

Ben suggested we use SPRG3 which is userspace readable. SPRG3 can be
modified by a KVM guest, so we save the SPRG3 value in the paca and
restore it when transitioning from the guest to the host.

I have a glibc patch that implements sched_getcpu on top of this.
Testing on a POWER7:

baseline: 538 cycles
vdso:      30 cycles

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-07-11 14:18:40 +10:00
Michael Ellerman
e6a74c6ea3 powerpc: Add a symbol for hypervisor trampolines
Purely for cosmetic purposes, otherwise it can appear that we are in
single_step_pSeries() which is slightly confusing.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-07-11 14:18:38 +10:00
Deepthi Dharwar
852d8cb1ff powerpc/cpuidle: Fixes for pseries_idle hotplug notifier
Currently the call to pseries_notify_cpuidle_add_cpu(), that takes
action on the cpuidle front when a cpu is added/removed
is being made from smp_xics_setup_cpu().
This caused lockdep issues as
reported https://lkml.org/lkml/2012/5/17/2

On addition of each cpu,
resources were cleared and re-allocated each time, all in critical
section as part of start_secondary() call were interrupts are disabled.
To resolve this issue, the pseries_notify_cpuidle_add_cpu() call is
is being replaced by a hotplug notifier which
would prevent cpuidle resources from being
released and allocated each time cpu is onlined in the critical code path.
It was fixed in https://lkml.org/lkml/2012/5/18/174.

Also it is essential to call cpuidle_enable/disable_device
between  cpuidle_pause_and_lock()  and
cpuidle_resume_and_unlock()  when used externally
to avoid race conditions. Add support for CPU_ONLINE_FROZEN
and CPU_DEAD_FROZEN as part of hotplug notify event for
pseries_idle  and unregister hotplug notifier
while exiting out. The above mentioned issues
are fixed as part of this patch.

Signed-off-by: Deepthi Dharwar <deepthi@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-07-11 14:18:35 +10:00
Benjamin Herrenschmidt
8bf8385b9c powerpc: Fixup oddity in entry_32.S
When I "fixed" the CONFIG_TRACE_IRQFLAGS case on interrupt entry,
I screwed up a little bit with the test for user space vs. kernel.

The code is fine, there's just some dead code around it. I basically
removed the test and always create the added stack frame whether
coming from user or kernel since in any case we do need to save
a bunch of volatile registers or bad things would happen (we can
take page faults in the kernel for example).

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-07-11 14:18:33 +10:00
Stuart Yoder
9778b696a0 powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly
Signed-off-by: Stuart Yoder <stuart.yoder@freescale.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-07-11 14:18:22 +10:00
Lauri Hintsala
1ad0ceacb4 ARM: apx4devkit: add pin muxing for GPIOs
Some pins are used as GPIOs in user space.

Signed-off-by: Lauri Hintsala <lauri.hintsala@bluegiga.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-07-11 12:17:33 +08:00
Lauri Hintsala
78771f05c8 ARM: apx4devkit: remove AUART3
AUART3 is not available anymore. Pins are used as GPIOs.

Signed-off-by: Lauri Hintsala <lauri.hintsala@bluegiga.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-07-11 12:17:28 +08:00
Lauri Hintsala
557763b31c ARM: apx4devkit: add SSP2 support
Signed-off-by: Lauri Hintsala <lauri.hintsala@bluegiga.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-07-11 12:17:22 +08:00
Lauri Hintsala
1eb73ca0b5 ARM: apx4devkit: fix the bus-width of SSP0 to 4 bits
Signed-off-by: Lauri Hintsala <lauri.hintsala@bluegiga.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-07-11 12:17:16 +08:00
Lauri Hintsala
d8bb823d31 ARM: apx4devkit: add display support
Add HannStar display and device tree configuration.

Signed-off-by: Lauri Hintsala <lauri.hintsala@bluegiga.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-07-11 12:17:10 +08:00
Lauri Hintsala
3317d99e44 ARM: apx4devkit: add NAND support
Signed-off-by: Lauri Hintsala <lauri.hintsala@bluegiga.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-07-11 12:17:01 +08:00
Shawn Guo
841730e743 ARM: mxs: add dtb-y target into Makefile.boot
Add dtb-y target into Makefile.boot, so that "make ARCH=arm dtbs" can
build out all the dtbs listed there.  It's very useful for build-testing
all the <board>.dts when imx28.dtsi changes.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-07-11 11:50:13 +08:00
Shawn Guo
dd852aa521 ARM: mxs: convert stmp378x_devb board to device tree
The enc28j60 spi device does not get converted to dts file, because
there is no mxs spi driver on mainline so far.  The enc28j60 spi
in mach-stmp378x_devb.c does not work anyway.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-07-11 11:50:06 +08:00
Shawn Guo
e1a4d18f6c ARM: mxs: convert tx28 board to device tree
FEC support is missing because we need to find a proper way to rewrite
tx28_add_fec0 for device tree boot.

Cc: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-07-11 11:49:59 +08:00
Shawn Guo
3143bbb42b ARM: mxs: convert apx4devkit board to device tree
Tested-by: Lauri Hintsala <lauri.hintsala@bluegiga.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-07-11 11:49:50 +08:00
Marek Vasut
8fa62e1128 ARM: mxs: convert m28evk board to device tree
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-07-11 11:49:41 +08:00
Shawn Guo
3dba259673 ARM: dts: imx28: move lcdif control pins into board dts
The presence and muxing of lcdif control pins can vary much on different
boards.  Move them into imx28-evk.dts to make lcdif_24bit_pins_a only
about data pins, so that it can be reused by other boards.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-07-11 11:49:34 +08:00