Commit Graph

87643 Commits

Author SHA1 Message Date
Chris Metcalf
ce61cdc270 tile: make __write_once a synonym for __read_mostly
This was really only useful for TILE64 when we mapped the
kernel data with small pages. Now we use a huge page and we
really don't want to map different parts of the kernel
data in different ways.

We retain the __write_once name in case we want to bring
it back to life at some point in the future.

Note that this change uncovered a latent bug where the
"smp_topology" variable happened to always be aligned mod 8
so we could store two "int" values at once, but when we
eliminated __write_once it ended up only aligned mod 4.
Fix with an explicit annotation.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:53:32 -04:00
Chris Metcalf
d7c9661115 tile: remove support for TILE64
This chip is no longer being actively developed for (it was superceded
by the TILEPro64 in 2008), and in any case the existing compiler and
toolchain in the community do not support it.  It's unlikely that the
kernel works with TILE64 at this point as the configuration has not been
tested in years.  The support is also awkward as it requires maintaining
a significant number of ifdefs.  So, just remove it altogether.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:53:29 -04:00
Akinobu Mita
d6a0aa314c tile: use asm-generic/bitops/builtin-*.h
The definisions of __ffs(), __fls(), and ffs() for tile are almost same
as asm-generic/bitops-*.h.  The only difference is that it is defined
as __always_inline or inline.  So this switches to use those headers.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com> [moved #includes to end]
2013-09-03 14:53:27 -04:00
Chris Metcalf
f6f380dff6 tile: eliminate no-op "noatomichash" boot argument
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:53:24 -04:00
Chris Metcalf
a0099303cd tile: use standard tile_bundle_bits type in traps.c
We were rolling our own bundle_bits, which is unnecessary.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:53:22 -04:00
Chris Metcalf
43b7f2fb58 tile: simplify code referencing hypervisor API addresses
There's no need to make up new ways of computing the addresses
of the Tilera hypervisor APIs; just use the standard method
of relying on the symbols to provide the addresses.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:53:20 -04:00
Chris Metcalf
850a45209d tile: change <asm/system.h> to <asm/switch_to.h> in comments
Also fix mentions of it in #error statements.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:53:17 -04:00
Chris Metcalf
7b770a6a0a tile: mark pcibios_init() as __init
It was bombed away because it was previously marked as __devinit,
but it should be an __init function.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:53:15 -04:00
Chris Metcalf
9a55fed473 tile: check for correct compiler earlier in asm-offsets.c
If we wait until after including a bunch of other files, we
will have generated so much warning spew that it's hard to
notice the error about using the wrong compiler.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:53:09 -04:00
Chris Metcalf
729b25a464 tile: use standard 'generic-y' model for <asm/hw_irq.h>
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:52:25 -04:00
Chris Metcalf
4c63de8df0 tile: use asm-generic version of <asm/local64.h>
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:52:22 -04:00
Chris Metcalf
5e7705df28 tile PCI RC: add comment about "PCI hole" problem
Explain the rationale of not overlapping the 64-bit DMA window
with the PA range.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:52:20 -04:00
Chris Metcalf
bdb8205455 tile: remove DEBUG_EXTRA_FLAGS kernel config option
It isn't used any more by us now that the generic kernel build
offers DEBUG_INFO_REDUCED, so just get rid of it.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:52:17 -04:00
Chris Metcalf
640710a33b tile: add virt_to_kpte() API and clean up and document behavior
We use virt_to_pte(NULL, va) a lot, which isn't very obvious.
I added virt_to_kpte(va) as a more obvious wrapper function,
that also validates the va as being a kernel adddress.

And, I fixed the semantics of virt_to_pte() so that we handle
the pud and pmd the same way, and we now document the fact that
we handle the final pte level differently.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:52:13 -04:00
Chris Metcalf
49cf78ef7b tile: support FRAME_POINTER
Allow enabling frame pointer support; this makes it easier to hook
into the various kernel features that claim they require it without
having to add Kconfig conditionals everywhere (a la mips, ppc, s390,
and microblaze).  When enabled, it basically eliminates leaf functions
as such, and stops optimizing tail and sibling calls.  It adds around
3% to the size of the kernel when enabled.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:52:09 -04:00
Chris Metcalf
80f184108e tile: support reporting Tilera hypervisor statistics
Newer hypervisors have an API for reporting per-cpu statistics
information.  This change allows seeing that information via
/sys/devices/system/cpu/cpuN/hv_stats file for each core.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:51:36 -04:00
Chris Metcalf
8157107b13 tilegx: support KGDB
Enter kernel debugger at boot with:
  --hvd UART_1=1 --hvx kgdbwait --hvx kgdboc=ttyS1,115200
or at runtime with:
  echo ttyS1,115200 > /sys/module/kgdboc/parameters/kgdboc
  echo g > /proc/sysrq-trigger

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:51:26 -04:00
Chris Metcalf
6ec006ede5 tilegx: provide kernel support for the tilegx UART shim
The TILE-Gx chip includes an on-chip UART.  This change adds support
for using the UART from within the kernel.  The UART shim 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
a standard Linux tty serial driver only.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:50:36 -04:00
Chris Metcalf
acbde1db29 tile: parameterize VA and PA space more cleanly
The existing code relied on the hardware definition (<arch/chip.h>)
to specify how much VA and PA space was available.  It's convenient
to allow customizing this for some configurations, so provide symbols
MAX_PA_WIDTH and MAX_VA_WIDTH in <asm/page.h> that can be modified
if desired.

Additionally, move away from the MEM_XX_INTRPT nomenclature to
define the start of various regions within the VA space.  In fact
the cleaner symbol is, for example, MEM_SV_START, to indicate the
start of the area used for supervisor code; the actual address of the
interrupt vectors is not as important, and can be changed if desired.
As part of this change, convert from "intrpt1" nomenclature (which
built in the old privilege-level 1 model) to a simple "intrpt".

Also strip out some tilepro-specific code supporting modifying the
PL the kernel could run at, since we don't actually support using
different PLs in tilepro, only tilegx.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:47:34 -04:00
Chris Metcalf
051168df52 tile: don't assume user privilege is zero
Technically, user privilege is anything less than kernel
privilege.  We modify the existing user_mode() macro to have
this semantic (and use it in a couple of places it wasn't being
used before), and add an IS_KERNEL_EX1() macro to the assembly
code as well.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:45:52 -04:00
Linus Torvalds
2f01ea908b TTY/Serial driver patches for 3.12-rc1
Here's the big tty/serial driver pull request for 3.12-rc1.
 
 Lots of n_tty reworks to resolve some very long-standing issues, removing the
 3-4 different locks that were taken for every character.  This code has been
 beaten on for a long time in linux-next with no reported regressions.
 
 Other than that, a range of serial and tty driver updates and revisions.  Full
 details in the shortlog.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.21 (GNU/Linux)
 
 iEYEABECAAYFAlIlI6UACgkQMUfUDdst+ym7kgCgmysv/TVeqsdvmkiO2eEB4+xs
 ddwAoMqkJ/enCJ2f+fC8y2Wz+5+kDrU7
 =CiCp
 -----END PGP SIGNATURE-----

Merge tag 'tty-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty

Pull tty/serial driver patches from Greg KH:
 "Here's the big tty/serial driver pull request for 3.12-rc1.

  Lots of n_tty reworks to resolve some very long-standing issues,
  removing the 3-4 different locks that were taken for every character.
  This code has been beaten on for a long time in linux-next with no
  reported regressions.

  Other than that, a range of serial and tty driver updates and
  revisions.  Full details in the shortlog"

* tag 'tty-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (226 commits)
  hvc_xen: Remove unnecessary __GFP_ZERO from kzalloc
  serial: imx: initialize the local variable
  tty: ar933x_uart: add device tree support and binding documentation
  tty: ar933x_uart: allow to build the driver as a module
  ARM: dts: msm: Update uartdm compatible strings
  devicetree: serial: Document msm_serial bindings
  serial: unify serial bindings into a single dir
  serial: fsl-imx-uart: Cleanup duplicate device tree binding
  tty: ar933x_uart: use config_enabled() macro to clean up ifdefs
  tty: ar933x_uart: remove superfluous assignment of ar933x_uart_driver.nr
  tty: ar933x_uart: use the clk API to get the uart clock
  tty: serial: cpm_uart: Adding proper request of GPIO used by cpm_uart driver
  serial: sirf: fix the amount of serial ports
  serial: sirf: define macro for some magic numbers of USP
  serial: icom: move array overflow checks earlier
  TTY: amiserial, remove unnecessary platform_set_drvdata()
  serial: st-asc: remove unnecessary platform_set_drvdata()
  msm_serial: Send more than 1 character on the console w/ UARTDM
  msm_serial: Add support for non-GSBI UARTDM devices
  msm_serial: Switch clock consumer strings and simplify code
  ...
2013-09-03 11:38:36 -07:00
Linus Torvalds
751144271f staging tree merge for 3.12-rc1
Here's the bit staging tree pull request for 3.12-rc1.
 
 Lots of staging driver updates, and fixes.  Lustre is finally enabled in
 the build, and lots of cleanup started happening in it.  There's a new
 wireless driver in here, and 2 new TTY drivers, which cause the overall
 lines added/removed to be quite large on the "added" side.
 
 The IIO driver updates are also coming through here, as they are tied to
 the staging iio drivers.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.21 (GNU/Linux)
 
 iEYEABECAAYFAlIlIrEACgkQMUfUDdst+ynjqgCgjMpPlRkU1yzDCj8CnfoLUI+v
 dIkAoLXD49aC8Km3f0LPUg/TgBA98MVx
 =FLQ/
 -----END PGP SIGNATURE-----

Merge tag 'staging-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging

Pull staging tree merge from Greg KH:
 "Here's the bit staging tree pull request for 3.12-rc1.

  Lots of staging driver updates, and fixes.  Lustre is finally enabled
  in the build, and lots of cleanup started happening in it.  There's a
  new wireless driver in here, and 2 new TTY drivers, which cause the
  overall lines added/removed to be quite large on the "added" side.

  The IIO driver updates are also coming through here, as they are tied
  to the staging iio drivers"

* tag 'staging-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (942 commits)
  staging: dwc2: make dwc2_core_params documentation more complete
  staging: dwc2: validate the value for phy_utmi_width
  staging: dwc2: interpret all hwcfg and related register at init time
  staging: dwc2: properly mask the GRXFSIZ register
  staging: dwc2: remove redundant register reads
  staging: dwc2: re-use hptxfsiz variable
  staging: dwc2: simplify debug output in dwc_hc_init
  staging: dwc2: add missing shift
  staging: dwc2: simplify register shift expressions
  staging: dwc2: only read the snpsid register once
  staging: dwc2: unshift non-bool register value constants
  staging: dwc2: fix off-by-one in check for max_packet_count parameter
  staging: dwc2: remove specific fifo size constants
  Staging:BCM:DDRInit.c:Renaming __FUNCTION__
  staging: bcm: remove Version.h file.
  staging: rtl8188eu: off by one in rtw_set_802_11_add_wep()
  staging: r8188eu: copying one byte too much
  staging: rtl8188eu: || vs && typo
  staging: r8188eu: off by one bugs
  staging: crystalhd: Resolve sparse 'different base types' warnings.
  ...
2013-09-03 11:37:57 -07:00
Linus Torvalds
542a086ac7 Driver core patches for 3.12-rc1
Here's the big driver core pull request for 3.12-rc1.
 
 Lots of tiny changes here fixing up the way sysfs attributes are
 created, to try to make drivers simpler, and fix a whole class race
 conditions with creations of device attributes after the device was
 announced to userspace.
 
 All the various pieces are acked by the different subsystem maintainers.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.21 (GNU/Linux)
 
 iEYEABECAAYFAlIlIPcACgkQMUfUDdst+ynUMwCaAnITsxyDXYQ4DqEsz8EcOtMk
 718AoLrgnUZs3B+70AT34DVktg4HSThk
 =USl9
 -----END PGP SIGNATURE-----

Merge tag 'driver-core-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core

Pull driver core patches from Greg KH:
 "Here's the big driver core pull request for 3.12-rc1.

  Lots of tiny changes here fixing up the way sysfs attributes are
  created, to try to make drivers simpler, and fix a whole class race
  conditions with creations of device attributes after the device was
  announced to userspace.

  All the various pieces are acked by the different subsystem
  maintainers"

* tag 'driver-core-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (119 commits)
  firmware loader: fix pending_fw_head list corruption
  drivers/base/memory.c: introduce help macro to_memory_block
  dynamic debug: line queries failing due to uninitialized local variable
  sysfs: sysfs_create_groups returns a value.
  debugfs: provide debugfs_create_x64() when disabled
  rbd: convert bus code to use bus_groups
  firmware: dcdbas: use binary attribute groups
  sysfs: add sysfs_create/remove_groups for when SYSFS is not enabled
  driver core: add #include <linux/sysfs.h> to core files.
  HID: convert bus code to use dev_groups
  Input: serio: convert bus code to use drv_groups
  Input: gameport: convert bus code to use drv_groups
  driver core: firmware: use __ATTR_RW()
  driver core: core: use DEVICE_ATTR_RO
  driver core: bus: use DRIVER_ATTR_WO()
  driver core: create write-only attribute macros for devices and drivers
  sysfs: create __ATTR_WO()
  driver-core: platform: convert bus code to use dev_groups
  workqueue: convert bus code to use dev_groups
  MEI: convert bus code to use dev_groups
  ...
2013-09-03 11:37:15 -07:00
Linus Torvalds
b3b49114c8 USB patches for 3.12-rc1
Here's the big USB driver pull request for 3.12-rc1
 
 Lots of USB driver fixes and updates.  Nothing major, just the normal
 xhci, gadget, and other driver changes.  Full details in the shortlog.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.21 (GNU/Linux)
 
 iEYEABECAAYFAlIlJJ8ACgkQMUfUDdst+ymBAwCgg8czTAuwpCCK7H8LHnC2BsMj
 dtUAnjDisrbw4qWSXaaA/sfgSZjKW5G4
 =Tman
 -----END PGP SIGNATURE-----

Merge tag 'usb-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

Pull USB patches from Greg KH:
 "Here's the big USB driver pull request for 3.12-rc1

  Lots of USB driver fixes and updates.  Nothing major, just the normal
  xhci, gadget, and other driver changes.  Full details in the shortlog"

* tag 'usb-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (352 commits)
  usbcore: fix incorrect type in assignment in descriptors_changed()
  usbcore: compare and release one bos descriptor in usb_reset_and_verify_device()
  ehci: remove debugging statement with ehci statistics in ehci_stop()
  ehci: remove duplicate debug_async_open() prototype in ehci-dbg.c
  ehci: enable debugging code when CONFIG_DYNAMIC_DEBUG is set
  ehci: remove ehci_vdbg() verbose debugging statements
  Documentation sysfs-bus-usb: Document which files are used by libusb
  Documentation sysfs-bus-usb: Document the speed file used by libusb
  Documentation sysfs-bus-usb: Move files with known users to stable
  USB: fix build error when CONFIG_PM_SLEEP isn't enabled
  usb: r8a66597-hcd: use platform_{get,set}_drvdata()
  usb: phy-tegra-usb: use platform_{get,set}_drvdata()
  usb: acm gadget: Null termintate strings table
  dma: cppi41: off by one in desc_to_chan()
  xhci: Fix warning introduced by disabling runtime PM.
  dev-core: fix build break when DEBUG is enabled
  USB: OHCI: Allow runtime PM without system sleep
  usb: ohci-at91: remove unnecessary dev_set_drvdata()
  usb: renesas_usbhs: use platform_{get,set}_drvdata()
  usb: fotg210-udc: use platform_{get,set}_drvdata()
  ...
2013-09-03 11:35:32 -07:00
Chris Metcalf
309272f99f tile: clean up relocate_kernel_64 debug code
We remove some debug code in relocate_kernel_64.S that made raw
calls to the hv_console_putc Tilera hypervisor API, since everything
should funnel through the early_hv_write() API.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-09-03 14:13:31 -04:00
Linus Torvalds
1ccfd5eaf8 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull first batch of s390 updates from Martin Schwidefsky:
 "The most interesting change is that Martin converted s390 to generic
  hardirqs.  Which means that all current architectures have been
  converted and that CONFIG_GENERIC_HARDIRQS can be removed.  Martin
  prepared a patch for that already (see genirq branch), but the best
  time to merge that is probably at the end of the merge window / begin
  of -rc1.

  Another patch converts s390 to software referenced bits instead of
  relying on the reference bit in the storage key.  Therefore s390
  doesn't use storage keys anymore, except for kvm.

  Besides that we have improvements, cleanups and fixes in PCI, DASD and
  all over the place."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (32 commits)
  s390/pci: use virtual memory for iommu bitmap
  s390/cio: fix unlocked access of global bitmap
  s390/pci: update function handle after resume from hibernate
  s390/pci: try harder to modify a function
  s390/pci: split lpf
  s390/hibernate: add early resume function
  s390/pci: add recover sysfs knob
  s390/pci: use claim_resource
  s390/pci/hotplug: convert to be builtin only
  s390/mm: implement software referenced bits
  s390/dasd: fix statistics for recovered requests
  s390/tx: allow program interruption filtering in user space
  s390/pgtable: fix mprotect for single-threaded KVM guests
  s390/time: return with irqs disabled from psw_idle
  s390/kprobes: add support for compare and branch instructions
  s390/switch_to: fix save_access_regs() / restore_access_regs()
  s390/bitops: fix inline assembly constraints
  s390/dasd: enable raw_track_access reads without direct I/O
  s390/mm: introduce ptep_flush_lazy helper
  s390/time: clock comparator revalidation
  ...
2013-09-03 10:46:26 -07:00
Linus Torvalds
ea98af133f Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k
Pull m68k updates from Geert Uytterhoeven:
 "Summary:
   - Kill harmless warning messages when running a multi-platform kernel
     on Atari
   - Correct virt/phys mixups that didn't actually hurt due to identity
     mappings"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
  m68k/atari: ARAnyM - Always use physical addresses in NatFeat calls
  m68k: Ignore disabled HSYNC interrupt on Atari for irqs_disabled()
2013-09-03 10:45:29 -07:00
Olof Johansson
56e9e0f3a3 Merge branch 'socfpga/dt' into next/dt
SoCFPGA DT changes from Dinh Nguyen.

* socfpga/dt:
  dts: Rename DW APB timer compatible strings
  dts: Deprecate ALTR as a vendor prefix
  of: add vendor prefix for Altera Corp.

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-09-03 10:20:06 -07:00
Olof Johansson
103c6a7120 Merge branch 'armsoc/for-3.12/dt' of git://github.com/broadcom/bcm11351 into next/dt
From Christian Daudt, DT changes for Broadcom.

* 'armsoc/for-3.12/dt' of git://github.com/broadcom/bcm11351:
  ARM: DT: binding fixup to align with vendor-prefixes.txt (DT)
  ARM: dts: add sdio blocks to bcm28155-ap board
  ARM: dts: align sdio numbers to HW definition
  ARM: bcm281xx: DT changes for reboot code
  ARM: bcm281xx: Adding bcm28155-ap.dts
2013-09-03 10:20:05 -07:00
Kevin Hilman
ef8932b94a Merge tag 'mxs-dt-3.12' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/dt
From Shawn Guo:
It contains mxs device tree changes for 3.12.

- New board addition and hogpins cleanup for Crystalfontz
- New pinctrl entry addition for lcd, ssp2 and saif0
- Add alias and labels for various nodes
- Enable devices like LRADC and USB for a couple of imx23 boards,
  and backlight for M28EVK

* tag 'mxs-dt-3.12' of git://git.linaro.org/people/shawnguo/linux-2.6:
  ARM: dts: mxs: add pin config for LCD sync and clock pins
  ARM: dts: mxs: add pin config for SSP3 interface
  ARM: dts: mxs: add another set of saif0_pins (without MCLK)
  ARM: dts: mxs: add labels to most nodes for easier reference
  ARM: dts: mxs: whitespace cleanup
  ARM: dts: mxs: Add spi alias
  ARM: dts: imx23-olinuxino: enable Low Resolution ADC
  ARM: dts: imx23-evk: enable Low Resolution ADC
  ARM: dts: imx23-evk: enable USB PHY and controller
  ARM: dts: mxs: remove old DMA binding data from client nodes
  ARM: mxs: Add backlight support for M28EVK
  ARM: mxs: dt: cfa10036: make hogpins grabbed by respective drivers
  ARM: mxs: dt: cfa10057: remove hogpins
  ARM: mxs: dt: cfa10055: make hogpins grabbed by respective drivers
  ARM: mxs: dt: cfa10049: make hogpins grabbed by respective drivers
  ARM: mxs: dt: cfa10037: make hogpins grabbed by respective drivers
  ARM: mxs: dt: Add Crystalfontz CFA-10058 device tree
  ARM: mxs: dt: Add Crystalfontz CFA-10056 device tree
2013-09-03 10:20:04 -07:00
Jesse Barnes
814c5f1f52 x86: add early quirk for reserving Intel graphics stolen memory v5
Systems with Intel graphics controllers set aside memory exclusively for
gfx driver use.  This memory is not always marked in the E820 as
reserved or as RAM, and so is subject to overlap from E820 manipulation
later in the boot process.  On some systems, MMIO space is allocated on
top, despite the efforts of the "RAM buffer" approach, which simply
rounds memory boundaries up to 64M to try to catch space that may decode
as RAM and so is not suitable for MMIO.

v2: use read_pci_config for 32 bit reads instead of adding a new one
    (Chris)
    add gen6 stolen size function (Chris)
v3: use a function pointer (Chris)
    drop gen2 bits (Daniel)
v4: call e820_sanitize_map after adding the region
v5: fixup comments (Peter)
    simplify loop (Chris)

Acked-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66726
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66844
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-03 19:17:57 +02:00
Linus Torvalds
fc6d0b0376 Merge branch 'lockref' (locked reference counts)
Merge lockref infrastructure code by me and Waiman Long.

I already merged some of the preparatory patches that didn't actually do
any semantic changes earlier, but this merges the actual _reason_ for
those preparatory patches.

The "lockref" structure is a combination "spinlock and reference count"
that allows optimized reference count accesses.  In particular, it
guarantees that the reference count will be updated AS IF the spinlock
was held, but using atomic accesses that cover both the reference count
and the spinlock words, we can often do the update without actually
having to take the lock.

This allows us to avoid the nastiest cases of spinlock contention on
large machines under heavy pathname lookup loads.  When updating the
dentry reference counts on a large system, we'll still end up with the
cache line bouncing around, but that's much less noticeable than
actually having to spin waiting for the lock.

* lockref:
  lockref: implement lockless reference count updates using cmpxchg()
  lockref: uninline lockref helper functions
  vfs: reimplement d_rcu_to_refcount() using lockref_get_or_lock()
  vfs: use lockref_get_not_zero() for optimistic lockless dget_parent()
  lockref: add 'lockref_get_or_lock() helper
2013-09-03 08:08:21 -07:00
Jason Wu
ec2eba55f0 microblaze: Add linux.bin.ub target
Currently the linux.bin target creates both linux.bin and linux.bin.ub.
Add linux.bin.ub as separate target to generate linux.bin.ub.

Signed-off-by: Jason Wu <huanyu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2013-09-03 16:31:17 +02:00
Michal Simek
dcd454af22 microblaze: Add PVR version string for MB v9.0 and v9.1
Extend PVR reg decoding.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2013-09-03 16:31:16 +02:00
Michal Simek
5955563ae2 microblaze: timer: Replace microblaze_ prefix by xilinx_
The main reason that this driver can be used by ARM
and PPC. The part of preparing of move to generic location.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2013-09-03 16:31:15 +02:00
Michal Simek
1e52980370 microblaze: timer: Update header
Update dates in header and add Xilinx to it.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2013-09-03 16:31:15 +02:00
Michal Simek
fc436742b4 microblaze: timer: Remove unused header
Remove unused headers.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2013-09-03 16:31:14 +02:00
Laurent Pinchart
eb9bdef111 ARM: dts: Use the PWM polarity flags
Replace the numerical polarity flags with the PWM_POLARITY_INVERTED
symbolic constant.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
2013-09-03 13:08:11 +02:00
Michal Simek
cfd4eaefd0 microblaze: timer: Clear driver init function
- Use of_iomap
- Use of_property_read_u32
- Fix printk

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2013-09-03 11:27:30 +02:00
Michal Simek
4bcd943ec8 microblaze: timer: Use CLKSRC_OF initialization
Simplify timer initialization and prepare the driver
for moving to drivers/clocksource folder.
Also remove system-timer property from binding because
the name is too generic.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2013-09-03 11:26:52 +02:00
Michal Simek
144f5c19ff microblaze: intc: Remove unused header
asm/irq.h is included in linux/irq.h
asm/prom.h and linux/init.h is not needed

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2013-09-03 11:25:02 +02:00
Michal Simek
bcff661d38 microblaze: intc: Clean driver init function
- Use of_iomap
- Use of_property_read_u32
- Fix printk

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2013-09-03 11:25:01 +02:00
Michal Simek
8a9e90a128 microblaze: intc: Using irqchip
- Move init_IRQ to irq.c
- Use IRQCHIP_DECLARE macro

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2013-09-03 11:24:48 +02:00
Michal Simek
968674bd45 microblaze: intc: Update header
Update dates in header and add Xilinx to it.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2013-09-03 11:23:37 +02:00
Michal Simek
07020326a7 microblaze: intc: Remove unused headers
Trivial.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2013-09-03 11:23:35 +02:00
Will Deacon
d50240a5f6 arm64: mm: permit use of tagged pointers at EL0
TCR.TBI0 can be used to cause hardware address translation to ignore the
top byte of userspace virtual addresses. Whilst not especially useful in
standard C programs, this can be used by JITs to `tag' pointers with
various pieces of metadata.

This patch enables this bit for AArch64 Linux, and adds a new file to
Documentation/arm64/ which describes some potential caveats when using
tagged virtual addresses.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2013-09-03 10:18:02 +01:00
Michal Simek
9e77dab684 microblaze: Remove selfmodified feature
This was experimental feature which has never been
widely used because it expects GCC behaviour.
Also remove INTC_BASE and TIMER_BASE macros.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2013-09-03 11:13:46 +02:00
Andrew Murray
4f7b6de437 of/pci: Use of_pci_range_parser
This patch converts the pci_load_of_ranges function to use the new common
of_pci_range_parser.

Signed-off-by: Andrew Murray <amurray@embedded-bits.co.uk>
Signed-off-by: Andrew Murray <Andrew.Murray@arm.com>
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2013-09-03 11:13:19 +02:00
Linus Torvalds
bc08b449ee lockref: implement lockless reference count updates using cmpxchg()
Instead of taking the spinlock, the lockless versions atomically check
that the lock is not taken, and do the reference count update using a
cmpxchg() loop.  This is semantically identical to doing the reference
count update protected by the lock, but avoids the "wait for lock"
contention that you get when accesses to the reference count are
contended.

Note that a "lockref" is absolutely _not_ equivalent to an atomic_t.
Even when the lockref reference counts are updated atomically with
cmpxchg, the fact that they also verify the state of the spinlock means
that the lockless updates can never happen while somebody else holds the
spinlock.

So while "lockref_put_or_lock()" looks a lot like just another name for
"atomic_dec_and_lock()", and both optimize to lockless updates, they are
fundamentally different: the decrement done by atomic_dec_and_lock() is
truly independent of any lock (as long as it doesn't decrement to zero),
so a locked region can still see the count change.

The lockref structure, in contrast, really is a *locked* reference
count.  If you hold the spinlock, the reference count will be stable and
you can modify the reference count without using atomics, because even
the lockless updates will see and respect the state of the lock.

In order to enable the cmpxchg lockless code, the architecture needs to
do three things:

 (1) Make sure that the "arch_spinlock_t" and an "unsigned int" can fit
     in an aligned u64, and have a "cmpxchg()" implementation that works
     on such a u64 data type.

 (2) define a helper function to test for a spinlock being unlocked
     ("arch_spin_value_unlocked()")

 (3) select the "ARCH_USE_CMPXCHG_LOCKREF" config variable in its
     Kconfig file.

This enables it for x86-64 (but not 32-bit, we'd need to make sure
cmpxchg() turns into the proper cmpxchg8b in order to enable it for
32-bit mode).

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-09-02 12:12:15 -07:00
Linus Torvalds
e09a1fa9be Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 boot fix from Peter Anvin:
 "A single very small boot fix for very large memory systems (> 0.5T)"

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/mm: Fix boot crash with DEBUG_PAGE_ALLOC=y and more than 512G RAM
2013-09-02 09:55:14 -07:00
Dan Aloni
909e3ee411 Move the EM_ARM and EM_AARCH64 definitions to uapi/linux/elf-em.h
Signed-off-by: Dan Aloni <alonid@stratoscale.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2013-09-02 16:35:50 +01:00
Catalin Marinas
f3a1d7d53d arm64: Remove unused cpu_name ascii in arch/arm64/mm/proc.S
This string has been moved to arch/arm64/kernel/cputable.c.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2013-09-02 16:33:54 +01:00
Haojian Zhuang
8d258beb76 ARM: 7826/1: debug: support debug ll on hisilicon soc
Support UART0 debug ll on Hisilicon Hi3620 SoC & Hi3716 SoC.

Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-09-02 13:51:03 +01:00
Will Deacon
9fc2105aea ARM: 7830/1: delay: don't bother reporting bogomips in /proc/cpuinfo
Now that we support a timer-backed delay loop, I'm quickly getting sick
and tired of people complaining that their beloved bogomips value has
decreased. You know who you are!

This patch removes the bogomips line from /proc/cpuinfo, based on the
reasoning that any program parsing this is already broken and, as such,
won't be further broken if the field is removed.

Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-09-02 13:50:00 +01:00
Douglas Anderson
849b882b52 ARM: 7829/1: Add ".text.unlikely" and ".text.hot" to arm unwind tables
It appears that gcc may put some code in ".text.unlikely" or
".text.hot" sections.  Right now those aren't accounted for in unwind
tables.  Add them.

I found some docs about this at:
  http://gcc.gnu.org/onlinedocs/gcc-4.6.2/gcc.pdf

Without this, if you have slub_debug turned on, you can get messages
that look like this:
  unwind: Index not found 7f008c50

Signed-off-by: Doug Anderson <dianders@chromium.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-09-02 13:49:47 +01:00
Uwe Kleine-König
6a7d2c6256 ARM: 7828/1: ARMv7-M: implement restart routine common to all v7-M machines
The newly introduced function is to be used as .restart callback for
ARMv7-M machines. The used register is architecturally defined, so it
should work for all M-class machines.

Acked-by: Jonathan Austin <jonathan.austin@arm.com>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-09-02 13:49:29 +01:00
Rob Herring
5927c4dfe8 ARM: 7827/1: highbank: fix debug uart virtual address for LPAE
Section entries are 2MB on LPAE, so the DEBUG_LL virtual address must
have the same offset in the 2MB section as the physical address. This
fixes async external aborts when DEBUG_LL is enabled on Midway.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-09-02 13:48:38 +01:00
Will Deacon
84b6504f56 ARM: 7823/1: errata: workaround Cortex-A15 erratum 773022
On Cortex-A15 CPUs up to and including r0p4, in certain rare sequences
of code, the loop buffer may deliver incorrect instructions. This
workaround disables the loop buffer to avoid the erratum.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-09-02 13:44:27 +01:00
Joe Perches
7bfb7e6bdd perf: Convert kmalloc_node(...GFP_ZERO...) to kzalloc_node()
Use the convenience function instead of __GFP_ZERO.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/f58599ae1a8d7b32d37e9cf283e95fba6452f7f6.1377809875.git.joe@perches.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2013-09-02 08:42:49 +02:00
Yan, Zheng
1fa64180fb perf/x86: Add Silvermont (22nm Atom) support
Compared to old atom, Silvermont has offcore and has more events
that support PEBS.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1374138144-17278-2-git-send-email-zheng.z.yan@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2013-09-02 08:42:47 +02:00
Yan, Zheng
53ad044720 perf/x86: use INTEL_UEVENT_EXTRA_REG to define MSR_OFFCORE_RSP_X
Silvermont (22nm Atom) has two offcore response configuration MSRs,
unlike other Intel CPU, its event code for MSR_OFFCORE_RSP_1 is 0x02b7.

To avoid complicating intel_fixup_er(), use INTEL_UEVENT_EXTRA_REG to
define MSR_OFFCORE_RSP_X. So intel_fixup_er() can find the event code
for OFFCORE_RSP_N by x86_pmu.extra_regs[N].event.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1374138144-17278-1-git-send-email-zheng.z.yan@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2013-09-02 08:42:47 +02:00
Al Viro
bd1c149aa9 Introduce [compat_]save_altstack_ex() to unbreak x86 SMAP
For performance reasons, when SMAP is in use, SMAP is left open for an
entire put_user_try { ... } put_user_catch(); block, however, calling
__put_user() in the middle of that block will close SMAP as the
STAC..CLAC constructs intentionally do not nest.

Furthermore, using __put_user() rather than put_user_ex() here is bad
for performance.

Thus, introduce new [compat_]save_altstack_ex() helpers that replace
__[compat_]save_altstack() for x86, being currently the only
architecture which supports put_user_try { ... } put_user_catch().

Reported-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Cc: <stable@vger.kernel.org> # v3.8+
Link: http://lkml.kernel.org/n/tip-es5p6y64if71k8p5u08agv9n@git.kernel.org
2013-09-01 14:16:33 -07:00
H. Peter Anvin
7263dda41b x86, smap: Handle csum_partial_copy_*_user()
Add SMAP annotations to csum_partial_copy_to/from_user().  These
functions legitimately access user space and thus need to set the AC
flag.

TODO: add explicit checks that the side with the kernel space pointer
really points into kernel space.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Link: http://lkml.kernel.org/n/tip-2aps0u00eer658fd5xyanan7@git.kernel.org
Cc: <stable@vger.kernel.org> # v3.7+
2013-09-01 14:09:48 -07:00
Gleb Natapov
6b9e4fa074 KVM/ARM Updates for Linux 3.12
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJSISFLAAoJEEtpOizt6ddyZDAH/jhIQ6svBl0xwZB77feSlzTQ
 752CnT+NVLLaDkdcf2vQ+Rw+QDravB1q5erLR3wGmWhvKFK6Xpvf7JNTz++7kzbu
 HxenPmOrZhfjtcJ2+1vmvt6fZTe7NvjYc5wjOfX5gHKMwuk4WhF3gvLgUC88b8nT
 qprxkVBsHQPWmfhrrUY4E/jgRYQzXxy4jGQNOFC59iur1KM7whd9y2TFl1NCf1SU
 rJfnSg7PcowscCz5OauYK6Da4RfFmKWSsBOGDv8COwRNej6zXH68ImKIklhr7OZ+
 a1snH0Bs7jQ0cQF/Tdvtih1hTJ3zlKHilFt2enrhK+qBeAbtCacw+lg9tCa0HwI=
 =iJqf
 -----END PGP SIGNATURE-----

Merge tag 'kvm-arm-for-3.12' of git://git.linaro.org/people/cdall/linux-kvm-arm into queue

KVM/ARM Updates for Linux 3.12

* tag 'kvm-arm-for-3.12' of git://git.linaro.org/people/cdall/linux-kvm-arm:
  ARM: KVM: Add newlines to panic strings
  ARM: KVM: Work around older compiler bug
  ARM: KVM: Simplify tracepoint text
  ARM: KVM: Fix kvm_set_pte assignment
2013-09-01 10:48:18 +03:00
Linus Torvalds
d9eda0fae1 ARM: SoC fixes for 3.11
Two straggling fixes that I had missed as they were posted a couple of
 weeks ago, causing problems with interrupts (breaking them completely)
 on the CSR SiRF platforms.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJSH/KHAAoJEIwa5zzehBx3IEUQAIby2mOq5BGo0pss8Hv2yvBJ
 Q71zTfPB9ag1fgPI1Tmz8T0zWxt3Zl7ynXYGUo43tMaOgCVZUgK5UKOT255DiF8y
 7N7+RJCf3obHDh/3RfBZL3fu75yC8mkQHu67/fRnVVun59MhqsAmxWJLZkoeC0O2
 8AjIULFCN+OaLkqQx75Ti0PV5KgQIW559sx1JLnDaPq0siS7FMOIpMGxQFQvXuLc
 JFNWKazUSzHGZyAuXRMRs7+dzzuVbBaPuecLea2GlFqpRsUsEMUdsvWWhYwCZhRp
 UZ+dP88D9d7XZonjn/KIlEn03X1NglsSg0yf+7Ad11cOHqAHHeZh1xHSJTLFUySR
 XslNsLy5nifaxphhZIfkYgem+VMY4xYLQIY8ETBSfNhZnplLMLYxLLkTUEbvXPS5
 y50eSgBFnnpBktk8qaCQ0R1/sPKNufHYBkdWbBXxUCn8pDAFJnrBAFjJAZpAqZJu
 9TXOEApGcH+yQdQ+V5yKc6ln8mJUnXKLR6IHoa9z+LosZEqf9uQCcSrkE1Ml7or6
 mwNfvph4ka4/hWNxlHvUyTNZbtzwLkNzd13YHmo4c5zRmigLiW/ldf/4fszdxCZN
 KcrUvqfDey90Gg5rKktqrfv4hXPKWGYE9cMKv4eszQT1j06I6w7NkfXg4GlIDs0B
 kSI5NUFNVFF30i56+SPM
 =dbsG
 -----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 Olof Johansson:
 "Two straggling fixes that I had missed as they were posted a couple of
  weeks ago, causing problems with interrupts (breaking them completely)
  on the CSR SiRF platforms"

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  arm: prima2: drop nr_irqs in mach as we moved to linear irqdomain
  irqchip: sirf: move from legacy mode to linear irqdomain
2013-08-30 16:18:59 -07:00
Christoffer Dall
1fe40f6d39 ARM: KVM: Add newlines to panic strings
The panic strings are hard to read and on narrow terminals some
characters are simply truncated off the panic message.

Make is slightly prettier with a newline in the Hyp panic strings.

Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2013-08-30 15:48:02 -07:00
Christoffer Dall
6833d83891 ARM: KVM: Work around older compiler bug
Compilers before 4.6 do not behave well with unnamed fields in structure
initializers and therefore produces build errors:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10676

By refering to the unnamed union using braces, both older and newer
compilers produce the same result.

Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Reported-by: Russell King <linux@arm.linux.org.uk>
Tested-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2013-08-30 15:47:58 -07:00
Christoffer Dall
6e72cc5700 ARM: KVM: Simplify tracepoint text
The tracepoint for kvm_guest_fault was extremely long, make it a
slightly bit shorter.

Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2013-08-30 15:47:53 -07:00
Christoffer Dall
0963e5d0f2 ARM: KVM: Fix kvm_set_pte assignment
THe kvm_set_pte function was actually assigning the entire struct to the
structure member, which should work because the structure only has that
one member, but it is still not very nice.

Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2013-08-30 15:47:37 -07:00
Will Deacon
326b16db9f arm64: delay: don't bother reporting bogomips in /proc/cpuinfo
We always use a timer-backed delay loop for arm64, so don't bother
reporting a bogomips value which appears to confuse some people.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2013-08-30 18:47:07 +01:00
Jon Medhurst (Tixy)
a2bdc32a52 ARM: dts: vexpress: Add CCI node to TC2 device-tree
The Versatile Express V2P-CA15_A7 (aka TC2) has a CCI-400 which is
needed to get Multi-Cluster Power Management (MCPM) working.

Signed-off-by: Jon Medhurst <tixy@linaro.org>
Acked-by: Pawel Moll <pawel.moll@arm.com>
Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-30 09:32:07 -07:00
Vineet Gupta
947bf103fc ARC: [ASID] Track ASID allocation cycles/generations
This helps remove asid-to-mm reverse map

While mm->context.id contains the ASID assigned to a process, our ASID
allocator also used asid_mm_map[] reverse map. In a new allocation
cycle (mm->ASID >= @asid_cache), the Round Robin ASID allocator used this
to check if new @asid_cache belonged to some mm2 (from prev cycle).
If so, it could locate that mm using the ASID reverse map, and mark that
mm as unallocated ASID, to force it to refresh at the time of switch_mm()

However, for SMP, the reverse map has to be maintained per CPU, so
becomes 2 dimensional, hence got rid of it.

With reverse map gone, it is NOT possible to reach out to current
assignee. So we track the ASID allocation generation/cycle and
on every switch_mm(), check if the current generation of CPU ASID is
same as mm's ASID; If not it is refreshed.

(Based loosely on arch/sh implementation)

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-08-30 21:42:19 +05:30
Vineet Gupta
c60115537c ARC: [ASID] activate_mm() == switch_mm()
ASID allocation changes/2

Use the fact that switch_mm() and activate_mm() are exactly same code
now while acknowledging the semantical difference in comment

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-08-30 21:42:19 +05:30
Vineet Gupta
3daa48d1d9 ARC: [ASID] get_new_mmu_context() to conditionally allocate new ASID
ASID allocation changes/1

This patch does 2 things:

(1) get_new_mmu_context() NOW moves mm->ASID to a new value ONLY if it
    was from a prev allocation cycle/generation OR if mm had no ASID
    allocated (vs. before would unconditionally moving to a new ASID)

    Callers desiring unconditional update of ASID, e.g.local_flush_tlb_mm()
    (for parent's address space invalidation at fork) need to first force
    the parent to an unallocated ASID.

(2) get_new_mmu_context() always sets the MMU PID reg with unchanged/new
    ASID value.

The gains are:
- consolidation of all asid alloc logic into get_new_mmu_context()
- avoiding code duplication in switch_mm() for PID reg setting
- Enables future change to fold activate_mm() into switch_mm()

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-08-30 21:42:18 +05:30
Vineet Gupta
5bd87adf9b ARC: [ASID] Refactor the TLB paranoid debug code
-Asm code already has values of SW and HW ASID values, so they can be
 passed to the printing routine.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-08-30 21:42:18 +05:30
Vineet Gupta
ade922f8e2 ARC: [ASID] Remove legacy/unused debug code
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-08-30 21:42:17 +05:30
Chris Metcalf
a718e10cba tile: handle super huge pages in virt_to_pte
This tile-specific API had a minor bug, in that if a super huge (>4GB)
page mapped a particular address range, we wouldn't handle it correctly.
As part of fixing that bug, I also cleaned up some of the pud and pmd
accessors to make them more consistent.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-08-30 11:57:02 -04:00
Chris Metcalf
35f059761c tilegx: change how we find the kernel stack
Previously, we used a special-purpose register (SPR_SYSTEM_SAVE_K_0)
to hold the CPU number and the top of the current kernel stack
by using the low bits to hold the CPU number, and using the high
bits to hold the address of the page just above where we'd want
the kernel stack to be.  That way we could initialize a new SP
when first entering the kernel by just masking the SPR value and
subtracting a couple of words.

However, it's actually more useful to be able to place an arbitrary
kernel-top value in the SPR.  This allows us to create a new stack
context (e.g. for virtualization) with an arbitrary top-of-stack VA.
To make this work, we now store the CPU number in the high bits,
above the highest legal VA bit (42 bits in the current tilegx
microarchitecture).  The full 42 bits are thus available to store the
top of stack value.  Getting the current cpu (a relatively common
operation) is still fast; it's now a shift rather than a mask.

We make this change only for tilegx, since tilepro has too few SPR
bits to do this, and we don't need this support on tilepro anyway.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-08-30 11:56:58 -04:00
Chris Metcalf
4036c7d354 tile: don't call show_regs_print_info() with corrupt current
We use the validate_current() API to make sure that "current" seems
plausible before using it.  With the new show_regs_print_info()
API, we want to check that current is OK before calling it, since
otherwise we will end up in a recursive panic.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-08-30 11:56:54 -04:00
Chris Metcalf
6fbeee29a2 tile: fix some -Wsign-compare warnings
Normally the build doesn't include these warnings, but at one
point I built with -Wsign-compare, and noticed a few things that
are technically bugs.  This change fixes those things.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-08-30 11:56:50 -04:00
Chris Metcalf
e56059f2d3 tile: group .hottext* sections properly in vmlinux.lds
With this change such sections are grouped with regular text
in the vmlinux image; this change puts them at the front,
which is where the standard Linux includes .text.hot*.
This change should fix a recently-observed bug where a bunch of
symbols were being omitted from the /proc/kallsyms output
because they fell between _etext and _sinittext.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-08-30 11:56:46 -04:00
Chris Metcalf
c0f0601060 tile: fix strncpy_from_user bug
In strncpy_from_user_asm, when the destination buffer length was the
same as the actual string length, we were returning the size of the
destination buffer.  But since it's a NUL terminated string, we should
return the length of the string instead.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-08-30 11:56:42 -04:00
Chris Metcalf
084fe6a0f5 tile: remove set/clear_fixmap APIs
Nothing in the codebase was using them, and as written they took
"unsigned long" as the physical address rather than "phys_addr_t",
which is wrong on tilepro anyway.  Rather than fixing stale APIs,
just remove them; if there's ever demand for them on this platform,
we can put them back.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-08-30 11:56:38 -04:00
Chris Metcalf
abe3265a6d tile: do less L1 I-cache eviction
We had been doing an automatic full eviction of the L1 I$
everywhere whenever we did a kernel-space TLB flush.  It turns
out this isn't necessary, since all the callers already handle
doing a flush if necessary.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-08-30 11:56:34 -04:00
Chris Metcalf
6f0142d501 tile: allow "initrd" boot argument for kexec
This enables support for "kexec --initrd" for tile.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-08-30 11:56:30 -04:00
Tony Lu
b2eca4274c tile: support ASLR fully
With this change, tile Linux now supports address-space layout
randomization for shared objects, stack, heap and vdso.

Acked-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Tony Lu <zlu@tilera.com>
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-08-30 11:56:25 -04:00
Chris Metcalf
9b5bbf729d tile: correct r1 value during syscall tracing
The r1 value is set based on the r0 value as we return to user space.
So tracing tools won't automatically see the right value.  Fix this by
generating the correct r1 value in do_syscall_trace_exit() rather
than trying to tamper with the hot path in syscall return.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-08-30 11:56:20 -04:00
Chris Metcalf
8d8cf06740 tile: fix panic with large IRQ number
The "available_irqs" value needs to actually reflect the IRQs
available, not just start as an all-ones mask, since we only
have 32 IRQs available even on a 64-bit platform.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-08-30 11:56:16 -04:00
Chris Metcalf
d4d9eab4ad tile: use proper .align directives on __ex_table sections
This may fix a reported bug where an R_TILEGX_64 in a module was not
pointing to an aligned address.

Reported-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-08-30 11:56:11 -04:00
Tony Lu
3fa17c395b tile: support kprobes on tilegx
This change includes support for Kprobes, Jprobes and Return Probes.

Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Tony Lu <zlu@tilera.com>
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-08-30 11:55:53 -04:00
Tony Lu
a61fd5e366 tile: support ftrace on tilegx
This commit adds support for static ftrace, graph function support,
and dynamic tracer support.

Signed-off-by: Tony Lu <zlu@tilera.com>
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2013-08-30 10:20:13 -04:00
Gleb Natapov
a9f6cf965e Merge branch 'kvm-ppc-next' of git://github.com/agraf/linux-2.6 into queue
* 'kvm-ppc-next' of git://github.com/agraf/linux-2.6:
  KVM: PPC: Book3S PR: Rework kvmppc_mmu_book3s_64_xlate()
  KVM: PPC: Book3S PR: Make instruction fetch fallback work for system calls
  KVM: PPC: Book3S PR: Don't corrupt guest state when kernel uses VMX
  KVM: PPC: Book3S: Fix compile error in XICS emulation
  KVM: PPC: Book3S PR: return appropriate error when allocation fails
  arch: powerpc: kvm: add signed type cast for comparation
  powerpc/kvm: Copy the pvr value after memset
  KVM: PPC: Book3S PR: Load up SPRG3 register with guest value on guest entry
  kvm/ppc/booke: Don't call kvm_guest_enter twice
  kvm/ppc: Call trace_hardirqs_on before entry
  KVM: PPC: Book3S HV: Allow negative offsets to real-mode hcall handlers
  KVM: PPC: Book3S HV: Correct tlbie usage
  powerpc/kvm: Use 256K chunk to track both RMA and hash page table allocation.
  powerpc/kvm: Contiguous memory allocator based RMA allocation
  powerpc/kvm: Contiguous memory allocator based hash page table allocation
  KVM: PPC: Book3S: Ignore DABR register
  mm/cma: Move dma contiguous changes into a seperate config
2013-08-30 15:33:11 +03:00
Mark Brown
c85fa502ef Merge remote-tracking branch 'asoc/topic/samsung' into tmp 2013-08-30 11:04:29 +01:00
Mark Brown
c79c33af8f Merge remote-tracking branch 'asoc/topic/core' into tmp 2013-08-30 11:04:14 +01:00
Sebastian Ott
2245932155 s390/pci: use virtual memory for iommu bitmap
The bitmap used to mark dma mappings can be quite large on systems
with huge amounts of memory. Use virtual memory for this bitmap.

Suggested-by: Alexander Schmidt <alexschm@de.ibm.com>
Reviewed-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2013-08-30 08:57:24 +02:00
Sebastian Ott
57b5918c33 s390/pci: update function handle after resume from hibernate
Function handles may change while the system was in hibernation
use list pci functions and update the function handles.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2013-08-30 08:57:20 +02:00
Sebastian Ott
d03abe5882 s390/pci: try harder to modify a function
In rare situations a PCI function can report a busy condition
when we issue the modify pci function command. A temporary busy
condition can exceed 1 second but not 2 seconds. Increase the
time until we report an error to 2 seconds. Also increase the
time we sleep between the retries to reduce the load in this
case.

Suggested-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2013-08-30 08:57:18 +02:00
Sebastian Ott
1d57896638 s390/pci: split lpf
List pci functions is used to query and iterate over pci functions.
This function currently has 2 users - initial device discovery and
rescan after a machine check. Instead of having a multipurpose
function pass a callback which gets called for each pci function.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2013-08-30 08:57:17 +02:00
Sebastian Ott
77e844b964 s390/hibernate: add early resume function
Some functions that do arch specific resume actions are called
directly from swsusp_asm64.S . Before we add another function call
provide a generic s390_early_resume function which can be used
for this purpose.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2013-08-30 08:57:15 +02:00
Sebastian Ott
0ff70ec88b s390/pci: add recover sysfs knob
Add an arch specific attribute to recover a pci function from an
error state or config space blockage.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2013-08-30 08:57:12 +02:00
Sebastian Ott
cb80918287 s390/pci: use claim_resource
Use pci_claim_resource to find and request bus ressources in
pcibios_add_device. Also move some (de)initialization stuff to
pcibios_enable_device/pcibios_disable_device.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2013-08-30 08:57:10 +02:00
Sebastian Ott
67f43f38ee s390/pci/hotplug: convert to be builtin only
Convert s390' pci hotplug to be builtin only, with no module option.

Suggested-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2013-08-30 08:57:07 +02:00
Vineet Gupta
c0857f5d0e ARC: No need to flush the TLB in early boot
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-08-30 10:48:14 +05:30
Vineet Gupta
483e9bcb01 ARC: MMUv4 preps/3 - Abstract out TLB Insert/Delete
This reorganizes the current TLB operations into psuedo-ops to better
pair with MMUv4's native Insert/Delete operations

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-08-30 10:22:48 +05:30
Vineet Gupta
d091fcb97f ARC: MMUv4 preps/2 - Reshuffle PTE bits
With previous commit freeing up PTE bits, reassign them so as to:

- Match the bit to H/w counterpart where possible
  (e.g. MMUv2 GLOBAL/PRESENT, this avoids a shift in create_tlb())
- Avoid holes in _PAGE_xxx definitions

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-08-30 10:19:12 +05:30
Olof Johansson
2bbc31ef2b Omap fixes for the merge window that are not urgent enough
for the -rc series.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJSFvaVAAoJEBvUPslcq6VzasEQAJ9ZGk+TAmRR7PlB+Aj0b7dc
 5Ki9hmvkoql1FCCTFHBdVBJtn9ketJ1mBI15GDy3VQW+bECwm5MessEOX/x7PHYd
 ZXRgI6CuFyoNZ54I6RvcO/zyOVLrdUHh27iGTj9SdR9RmMLQgofFFeKhfUsYniLP
 /A4fIil+J7wM31uyZPeK4w8AFxGTBUNAQB+cixBYNMdmRXqnxQbjLzeSmeHHFQJB
 Ls9lgTOyypECojqYqX1gA8ooYzfkkjujvcRxIuzhq/U84cNAFGk4KFEiOtoAEQ4i
 xlXSRegvk6m+0w+f28cHyBb1HFBvdijOBeT6ajkiG7XdukV8nRfSqFIlmWAI0DMg
 r3M7MacSUKhclIqx+8v9SMKpjLRVxBJz6c7OmZov7YZ8Er9TFi79VSlY3D89KvJb
 +ZKaWkKYLSnG5Z7oi8lDXt9wx3Uwe7GRAEjILD3acLIvp0IG+s+c65MyC7OMh7Gl
 ewGPa/DeqGxm04MfhjG7A9sNsuZ0qs70vDDCIfhwYQk+saB7XJV9V1y6n9m8gc+R
 791DsWKls6pXHKUc++v/aQuC0PeS6JZn0VE3pCITQaGrwwTO5jLn+IccUCnXeoMM
 wxBVJtJsqVTK44i9OedG0mFwQ7o2XKwcjEqu1Hh58rr522ICTpZSM7QHRwC2Q0m5
 onkKS0pQCNM/hFiQLFLN
 =MJql
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v3.12/fixes-non-critical-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/fixes-non-critical

From Tony Lindgren:
Omap fixes for the merge window that are not urgent enough
for the -rc series.

* tag 'omap-for-v3.12/fixes-non-critical-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2: use 'int' instead of 'unsigned' for variable 'gpmc_irq_start'
  ARM: OMAP2: remove useless variable 'ret'
  ARM: OMAP: dma: fix error return code in omap_system_dma_probe()
  ARM: OMAP2+: fix wrong address when loading PRM_FRAC_INCREMENTOR_DENUMERATOR_RELOAD
  ARM: OMAP2+: am33xx-restart: trigger warm reset on omap2+ boards
  ARM: OMAP2: Use a consistent AM33XX SoC option description
  ARM: OMAP2+: Remove legacy device creation for McPDM and DMIC
  + Linux 3.11-rc6
2013-08-29 19:12:04 -07:00
Tony Lindgren
7323f21953 ARM: OMAP2+: Add back the define for AM33XX_RST_GLOBAL_WARM_SW_MASK
This is needed to prevent a build error with a patch queued for fixes
"ARM: OMAP2+: am33xx-restart: trigger warm reset on omap2+ boards".

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-29 19:10:59 -07:00
Olof Johansson
d296ebe0e6 Add basic support for devices on dra7xx by adding the PRCM and hwmod
parts the same way as for other omaps. This is still needed in
 addition to device tree support for things like power management.
 
 Via Paul Walmsley <paul@pwsan.com>:
 
 This series adds basic TI DRA7xx PRCM and hwmod support.
 
 Basic test logs are available here:
 
 http://www.pwsan.com/omap/testlogs/dra7xx_prcm_devel_v3.12/20130823050445/
 
 Note that DRA7xx could not be tested locally, since I don't have a board.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJSGysnAAoJEBvUPslcq6VzP00QALzGla3/ZMwnE3RpIkU8f9Ju
 dQkgtV/71yM7RZE6AxW1BgrFV3EcIEn2aPTWTAPXih7mtQJ30BlshDPu0JKSPQp4
 jkbr/T7euMkmJ2g3nACTPLvcjdEwsBQXYfDb+qRHX6HV80Yg0qdXtLhfn4lEGFPw
 A+MYlFGli3aQYlnRFIDtSSBecOfLPQ94VYZtk2modz1k6aXMD6qrORLuu4jvuICS
 bcRnJAgjxYez7vvnJ0h+1uQsgni4lUqrUzjuNqMEmZRFyIjilt2kP9gRpSdKLu2p
 nwPSOLVpMy6D/LWJrhhRRVkyoOwAQk6T0nfmKkk+IEZTbeu3AYfo8yX35/O8Ziw7
 BA1P4G66A5Y2q/pWtfZB2XO1ifD5cmPHrI/Vzq3rVq6yEoWI3vCjiDnRYsxU2J6M
 lkXCQtXnCI/xdALSeDJ14m0d/IefANf0iS/DJp/+iHwGRgH1twas32Sk9V1ub4i6
 Oh2XUIoydZpv6eeJzQSTBxNYSDO0alN7hHBQKkwqOpi7sSCLg4kZW8GgF2Vm5YC4
 bQbH636o8Vd+E0yP2U0F9gZoNN7J1xFdzomU8sEyYLXBBXlzvIbrXH8t1qcK0Gg7
 4xE3hfoLuieiaX4uvgeW3yEvGaFkuK8MmnMdKxzZnKGhEtBj33+gGLaLJohhg0st
 AO4khUsBuZNmqcnKOCui
 =c+8k
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v3.12/dra7xx-prcm' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into late/all

From Tony Lindgren:
Add basic support for devices on dra7xx by adding the PRCM and hwmod
parts the same way as for other omaps. This is still needed in
addition to device tree support for things like power management.

Via Paul Walmsley <paul@pwsan.com>:

This series adds basic TI DRA7xx PRCM and hwmod support.

Basic test logs are available here:

http://www.pwsan.com/omap/testlogs/dra7xx_prcm_devel_v3.12/20130823050445/

Note that DRA7xx could not be tested locally, since I don't have a board.

* tag 'omap-for-v3.12/dra7xx-prcm' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP: DRA7: Enable PM framework initializations
  ARM: OMAP: DRA7: hwmod: Create initial DRA7XX SoC data
  ARM: OMAP: DRA7: Reuse the omap44xx_restart and fix the device instance
  ARM: OMAP: DRA7: powerdomain: Handle missing vc/vp
  ARM: OMAP: DRA7: powerdomain: Add DRA7XX data and update header
  ARM: OMAP: DRA7: clockdomain: Add DRA7XX data and update header
  ARM: OMAP: DRA7: PRCM: Add DRA7XX local MPU PRCM regsiters
  ARM: OMAP: DRA7: CM: Add minimal regbit shifts
  ARM: OMAP: DRA7: CM: Add DRA7XX register defines
  ARM: OMAP: DRA7: PRM: Add DRA7XX register definitions
  ARM: DRA7: Add the build support in omap2plus
  ARM: DRA7: hwmod: Reuse the soc_ops used for OMAP4/5
  ARM: DRA7: id: Add cpu detection support for DRA7xx based SoCs'
  ARM: DRA7: Kconfig: Make ARCH_NR_GPIO default to 512
  ARM: DRA7: board-generic: Add basic DT support
  ARM: DRA7: Resue the clocksource, clockevent support
  ARM: DRA7: Reuse io tables and add a new .init_early
  ARM: DRA7: Reuse all of PRCM and MPUSS SMP infra

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-29 16:46:14 -07:00
Olof Johansson
65cb771fdf OMAP PRCM and hwmod fixes and improvments via Paul Walmsley <paul@pwsan.com>:
Various OMAP PRCM & hwmod fixes and improvements.  Notable changes
 include:
 
 - a fix for OMAP4 PLL locking to avoid a bootloader dependency that
   causes nasty log spew on startup
 
 - AM33xx DEBUGSS support fixes in hwmod data
 
 - OMAP5 mailbox support in hwmod data
 
 Basic test logs are here:
 
 http://www.pwsan.com/omap/testlogs/prcm_a_for_v3.12/20130823125002/
 
 Note that the 3530 failure is due to the mysterious transient serial
 issue affecting 3530 for several releases now, which causes a log
 parsing failure.  PM still seems to work.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJSGzGfAAoJEBvUPslcq6Vz9HAP/jw8RH4wFphbmG+6xs3h2+q+
 UjbxwFJu3VFnFVpUElMvnfEonigr/aaqXvYVwj/sk9G7xe9JkDjeGsbe01rnos28
 15cOvfwC05GUvA0cAUfaKUImU7YDTQ4rQ5w5eM6zTCSl801CTxaav6B6cBfUWRei
 qIKR7iPJsNFLWRGJQdvLRHPxR3rJLhwOUT8OCLhcprrwz8KJoYseufA8GJ94Jv7c
 N/uEHOJP4/2AzphucQEi1OjPkYFBN/H8AaJUW10z0lrjq2r4CycrDD5TCE1IBHND
 qypaPTKx+7TJo3H7QWMOZ/jXhA0eFxPqxUj+rlB2yoXhM00loNBC3Pg+zvhJg4Jk
 0pU9UuwhFBTI5qDWhUAmgc57A8wGOQSOQReh1zTK5CicV4hhh/npahGgrvBM6n2y
 O+vcjvzAtEU+VnpnAJ2FFsErDgUBtcgl2hQ5cOOEObT+rk3RESSFaXLGzLTBFYsW
 e09HFfq435iPlwsWugCKPoZtg5VVhUkIBSu5dqhtaX8zFW15GVaphHGZMudcOJbL
 vvVEr3x4bnvl7ICOZKqJhzf6DY35NzkrThq1Ht6jc6ZwwAlIlUI+B4mhkBrNObkQ
 BpgG+noANRwnlH8Psd/gKPXHFU/1zk8Ic1BGf56wEQgOGPqDl3PmLWdVmOqE1xOg
 53UlWqEaryN6fbFNmtjp
 =K23I
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v3.12/prcm-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into late/all

From Tony Lindgren:
OMAP PRCM and hwmod fixes and improvments via Paul Walmsley <paul@pwsan.com>:

Various OMAP PRCM & hwmod fixes and improvements.  Notable changes
include:

- a fix for OMAP4 PLL locking to avoid a bootloader dependency that
  causes nasty log spew on startup

- AM33xx DEBUGSS support fixes in hwmod data

- OMAP5 mailbox support in hwmod data

Basic test logs are here:

http://www.pwsan.com/omap/testlogs/prcm_a_for_v3.12/20130823125002/

Note that the 3530 failure is due to the mysterious transient serial
issue affecting 3530 for several releases now, which causes a log
parsing failure.  PM still seems to work.

* tag 'omap-for-v3.12/prcm-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP: AM33xx: clock: Add RNG clock data
  ARM: OMAP: TI81XX: add always-on powerdomain for TI81XX
  ARM: OMAP4: clock: Lock PLLs in the right sequence
  ARM: OMAP: AM33XX: hwmod: Add hwmod data for debugSS
  ARM: OMAP2+: Only write the sysconfig on idle when necessary
  ARM: OMAP5: hwmod data: Add mailbox data

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-29 16:38:28 -07:00
Olof Johansson
3616257f30 Updates for Highbank for 3.12:
- A couple of fixes to enable LPAE.
 - pl08x driver fixes to make it build with ARCH_DMA_ADDR_T_64BIT.
 - Avoid L2 related smc calls on Midway.
 - Add selecting of necesssary ARM errata.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQEcBAABAgAGBQJSHOrXAAoJEMhvYp4jgsXiPk0IAJfoHwuX1T2JoCNmOwfY4iHQ
 8Fc0H4tEklnalNXy2gXWBFup87Ysp6CYf4hvkp1pbAs4LklPbq5XVL0BazfN6JPT
 goiX3QZZo/+VBQZC1j+O6VA3wUE5VZjgDKh327n+t5N22jcfk0XgdwOmxFUw5MJp
 H23kUB8g/dKtQhI8+GHFBAfFyiCVU8nnZpRx4tBA34cWbKkZlOXAn7Elv6Phcekb
 TAEW43kejNowUK01rhLwPAGahaJ2GYI6Ocusw8AsKg+GB/8m3mLcbxGdHnBV0vH4
 HLapmhVmCaybSyqXKLyu5CvlBSL1dF0wwxQ1YZrB5mWD9gmhuAOuxo9M/opc9Sc=
 =nsop
 -----END PGP SIGNATURE-----

Merge tag 'highbank-for-3.12' of git://sources.calxeda.com/kernel/linux into late/all

From Rob Herring:
Updates for Highbank for 3.12:
- A couple of fixes to enable LPAE.
- pl08x driver fixes to make it build with ARCH_DMA_ADDR_T_64BIT.
- Avoid L2 related smc calls on Midway.
- Add selecting of necesssary ARM errata.

* tag 'highbank-for-3.12' of git://sources.calxeda.com/kernel/linux:
  ARM: highbank: clean-up some unused includes
  ARM: highbank: avoid L2 cache smc calls when PL310 is not present
  ARM: move outer_cache declaration out of ifdef
  ARM: highbank: select ARCH_DMA_ADDR_T_64BIT for LPAE
  DMA: fix printk warning in AMBA PL08x DMA driver
  DMA: fix AMBA PL08x compilation issue with 64bit DMA address type
  ARM: highbank: select required errata work-arounds
  ARM: highbank: select ARCH_HAS_HOLES_MEMORYMODEL
  ARM: highbank: enable DMA zone for LPAE
  ARM: use phys_addr_t for DMA zone sizes

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-29 14:09:04 -07:00
Olof Johansson
6f244c9ccf AT91 SoC update for 3.12 take 1
- enable kernel uncompress information output for
   SoC where it was missing: at91sam9n12 and sama5d3
 - addition of at91rm9200 to the generic at91_dt_defconfig
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJSHwZcAAoJEAf03oE53VmQ9OAIALdTKUZRYu3BGBJ8RCSAlV8a
 FyldFwteFYi73zLwcL8OGMPfUOFa4nP51l2uGv6soFg5EM1eDt20Te/fZXjkUIM9
 zD7EHarX31QxBBIfrwyP8TehXV2rwUj7F6RpqsIlWSpgBPdwuan1mv1BExNcLNaM
 cnEnPcX0oUJW8bub/mSqiJFgMKAo4wDI4l6VaXkVseRxSyVMijqpSmS/k7AcF4fG
 KLUMxN2/L3b2LiTggOlOE20Bz50IUx3e1iLMZDb7KFfvGzG+1CfbNAwvFNPCW7Jg
 1zQhDyx0E/vxxZi98i3S14H71E+oWHngJuyns4pPVi3/AW8EMk7FpQMTrzP8tNE=
 =yERj
 -----END PGP SIGNATURE-----

Merge tag 'at91-soc' of git://github.com/at91linux/linux-at91 into late/all

From Nicolas Ferre:
AT91 SoC update for 3.12 take 1
- enable kernel uncompress information output for
  SoC where it was missing: at91sam9n12 and sama5d3
- addition of at91rm9200 to the generic at91_dt_defconfig

* tag 'at91-soc' of git://github.com/at91linux/linux-at91:
  ARM: at91: at91_dt_defconfig: enable rm9200 support
  ARM: at91: sam9n12: enable kernel uncompress info output
  ARM: at91: sama5: enable kernel uncompress info output
  ARM: at91: include sama5d3.h into hardware.h
  ARM: at91: sama5d3: add definition for usart base address
2013-08-29 14:07:34 -07:00
Olof Johansson
ef2fd3b15b Allwinner DT changes for 3.12, take 4
These patches enables the gated clocks on the A10s, A20 and A31 DTSI.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJSGxleAAoJEBx+YmzsjxAgMHIP/i1MjO0IB/PneVrKCP36PlAP
 b3ST2UVDy9IBtgGHoqH+Ql12FsRZkrTM6QvPVkjlIQAHaHfrZxQYlRoHou+MFUIU
 3WixWYsjJmyUW1jLrXlW+TubCLJ5V4pHxZpU/79qFKiAg+F57vm3Zj/+gczRZp0+
 6bezcVNZ599BRcwfrjg33yMNo7kHg78Mib1yTnj9Tdak+aqomzW2bUWmE/uprMQy
 GOwkNVxcVVXxul23bjBzj2Cxxf9Acbtfhm4+nr449opDgHiFY8GRx6moDNp2/Nbe
 VygG48jw3Dt+yM++xFFIJwHTHOWdrkFioqYL4cWYMWqLeJhJzgDp6zdxvxLvC3PC
 6LACex4ZskxWVsKu2OLPSIBJyqpFLmOSKoBMML3e9jHcJ2ykbpE1oXZcBiJa/0pV
 TTldJnbgpdT8ZgB0oOqWJ6xw8jaKSfUwbS8LwtIaiSpXsbCqT5okgApuhgyiD1qh
 h+c4ZBH1i1ytbrNta7Ce8zkcx73pfwPr0queXdEgy24zjfYCWB9oE9yXcEAEbRAT
 FeftFzaNO4LI8asHOSL0FsjJJ3/WjTL25wWVnfwYoulBG3AcQipu9m4I+SGEAtP6
 ZmqaA99yRTO3XSvB4/YHyT21Ar3BICAhgM/K9DOx2VKeRFwn8Fct9c4aZBs93Z0O
 QpH7kElElwV2SIEV0mIy
 =MtGM
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-3.12-4' of https://github.com/mripard/linux into late/all

From Maxime Ripard:
Allwinner DT changes for 3.12, take 3 and 4

These patches add support for:
  - The cubieboard2 board
  - The pinctrl driver that got merged for the A20 and A31
  - The associated muxing for the A20 and A31 boards already supported
  - Enables the gated clocks on the A10s, A20 and A31 DTSI.

* tag 'sunxi-dt-for-3.12-4' of https://github.com/mripard/linux:
  ARM: sun7i: Enable the A20 clocks in the DTSI
  ARM: sun6i: Enable clock support in the DTSI
  ARM: sun5i: dt: Use the A10s gates in the DTSI
  ARM: sun7i: Add Cubieboard2 Device Tree
  ARM: sun7i: a20-olinuxino: Enable the user LED
  ARM: sun7i: a20-olinuxino: Enable UARTs muxing
  ARM: sun7i: DT: Add UART muxing options to the DTSI
  ARM: sun7i: Add the PIO controller node to the DTSI
  ARM: sun6i: colombus: Add uart0 muxing
  ARM: sun6i: Add UART0 muxing options
  ARM: sunxi: dt: Add PIO controller to A31 DTSI

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-29 14:00:28 -07:00
Josh Wu
9120c0bea9 iio: at91: Use different prescal, startup mask in MR for different IP
For at91 boards, there are different IPs for adc. Different IPs has different
STARTUP & PRESCAL mask in ADC_MR.

Signed-off-by: Josh Wu <josh.wu@atmel.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-08-29 21:49:28 +01:00
Josh Wu
e1811f97ba iio: at91: introduce the multiple compatible string for different IPs.
As use the multiple compatible string, we can remove hardware register in dt.

CC: devicetree@vger.kernel.org
Signed-off-by: Josh Wu <josh.wu@atmel.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-08-29 21:45:04 +01:00
H. Peter Anvin
f69fa9a91f x86, doc: Update uaccess.h comment to reflect clang changes
Update comment in uaccess.h to reflect the changes for clang support:
gcc only cares about the base register (most architectures don't
encode the size of the operation in the operands like x86 does, and so
it is treated effectively like a register number), whereas clang tries
to enforce the size -- but not for register pairs.

Link: http://lkml.kernel.org/r/1377803585-5913-3-git-send-email-dl9pf@gmx.de
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Cc: Jan-Simon Möller <dl9pf@gmx.de>
2013-08-29 13:34:50 -07:00
Olof Johansson
6229f0fcba AT91 DT changes for 3.12, take 2
- addition of the Nand Flash Controller (NFC) in DT
   for sama5d3 SoC. This NFC will enhance the traditional
   Nand Flash handling (SMC + PMECC).
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJSGx/LAAoJEAf03oE53VmQCH8H/jUaXqdmLk6wNFamHbFtWaib
 AuIIJL65NeOHCIgVRMIu+Cjxc4XqPeqjHvttNWJ3xaqLMWt9s7d0L+65WsQs9kEg
 yIJ3KOWMOs4+/uoaOPZ9lG+luv0kFQ5GaY7w9PRuFOZ+mtjATzZxOJ3ARfpbvlxA
 zxiqqKjlK7CuyjDjO6prfABVUTn+JfKlHcYdRvK03TISAe87nq2eUeZr08/Dx1OT
 iohSvHPQ/xwbVvHxfB69Oc95h756n0Y+8XJ2S6U/mM29YDiyLznBmMxkXZXDX4fw
 TGxRKuV/Gt4vM0Bbq5E0aJA0/MQQu6q3HbTtY20Io1JHA6S5yVSPXGAcdi+uqys=
 =V30n
 -----END PGP SIGNATURE-----

Merge tag 'at91-dt' of git://github.com/at91linux/linux-at91 into late/all

From Nicolas Ferre:
AT91 DT changes for 3.12, take 2
- addition of the Nand Flash Controller (NFC) in DT
  for sama5d3 SoC. This NFC will enhance the traditional
  Nand Flash handling (SMC + PMECC).

* tag 'at91-dt' of git://github.com/at91linux/linux-at91:
  ARM: at91/dt: sama5d3xek: reduce the ROM code mapping for pmecc lookup table
  ARM: at91/dt: sama5d3xek: Enable NFC support in dts
  ARM: at91/dt: sama5d3xek: remove the useless NFC dt parameters
  ARM: at91/dt: sam9x5ek: add sound configuration
  ARM: at91/dt: sam9x5ek: enable SSC
  ARM: at91/dt: sam9x5ek: add WM8731 codec
  ARM: at91/dt: sam9x5: add SSC DMA parameters
  ARM: at91/dt: add at91rm9200 PQFP package version
  ARM: at91: at91rm9200: set default mmc0 pinctrl-names
  ARM: at91: at91sam9n12: correct pin number of gpio-key
  ARM: at91: at91sam9n12: add qt1070 support
  ARM: at91: at91sam9n12: add pinctrl of TWI
  ARM: at91: Add PMU support for sama5d3
  ARM: at91: at91sam9260: add missing pinctrl-names on mmc
2013-08-29 13:31:05 -07:00
Olof Johansson
d6a99de704 update mach-exynos v2 for v3.12
- enable ARCH_HAS_BANDGAP for exynos SoCs
 - always enable PM domains for exynos4x12
 - skip C1 cpuidle state for exynos5440
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJSHMs0AAoJEA0Cl+kVi2xqR1sQAJEhlsqPuEH1SPA/FqI8JT6P
 feZUcNyVsv5Y5NreVvgV62178T5LAUR2nypoNLfZaHBFHqggW0yam8mimyKvF5uF
 A6Sw4585OV4Obj5O5eviFfwkCWjNgF/o0hpX6/l85/7tbHxSFPnHGjKPvF6b4F4Q
 JiFYW0z6O7puQHu8ttj11vYxVz3dEugzwvhtVbPicXijpgiLE7K8gtpGNvWLy38y
 zqCUAv/Ovxk7b1PZmkFsfrceI8vjiRe1O3XU/mwN2YbbWT/B/Q/N5+dXlg2mZWPj
 fAge0NW59iU4uKIo1OQIH4355XXT7dyecqDdCRe8bmQgN62/cBw3750xyli2j9Bh
 BtzfYqVALLr/9Jd1DRaMSCF0UK0mJ12grwgU+qOsB7xYYnsA8irbg2zJHJRtdYE0
 k9sZRAjlVnshkosyzHcPTOfKk89sL8D/xXq4i82ChYHGHA/V/o4VypKVIn4BGXrL
 s4ScCCJ2OG0cVLLxBe+GOfYyu1lENtDeofnYs6/m/qhvA1JaGdVzyy2kdONfsz0T
 UCHy4ym+oj/5ZI6lhJWt2p/wZOOal+f2u+l3wvoGNmZn/GoCYd0qIS/bTjWdwEYt
 ITzfVOS3wZoY6LTHSm7+G6KMZTR1J+9JeVoDUzyP2HNsUVnAB7mSZL8eMLiEKzlh
 CTOfpUZmBKdWmm/JfJGP
 =JARn
 -----END PGP SIGNATURE-----

Merge tag 'samsung-mach-exynos-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into late/all

update mach-exynos v2 for v3.12
- enable ARCH_HAS_BANDGAP for exynos SoCs
- always enable PM domains for exynos4x12
- skip C1 cpuidle state for exynos5440

* tag 'samsung-mach-exynos-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: EXYNOS: Skip C1 cpuidle state for exynos5440
  ARM: EXYNOS: always enable PM domains support for EXYNOS4X12
  ARM: EXYNOS: enable ARCH_HAS_BANDGAP

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-29 13:29:35 -07:00
Olof Johansson
bba383eef2 Update exynos DT:
- fix the RTC DT node name for exynos5250
 - update the "status" property of RTC DT node for exynos5250
 - add RTC DT node for  exynos5420
 - add ADC DT node for exynos5420 and exynos5250
 
 Based on previouse exynos DT branch, v3.12-next/dt-exynos
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJSGoXHAAoJEA0Cl+kVi2xqx4AQAJTiiEVLbtJXCdhq7WrRAgWC
 De+rVIqnwlaaGaSQG0TQU3Dq3rN+y/pUbYM/B75q2C0/kKKfcFsW8lwrfrR4gLqB
 G81amQAuxQ0grpOGshAi98ZERkc5OWtO2HDK9Vfw63YxLSYAYRMb8+LUMgpJTD/6
 DQuAZaoiDeCi/P/7H0pqPNs+NsUlYyWTtmmSZDGYTHmu4C7U1gMGhdr5G+q2GZn6
 vianMk9UL3b9c2YH4e697ClxNxM1tSgNRPgTzzU/4mqrg7ctAcTJ19DZma6nMXk1
 wzhz1zJtAxcy+mb6uPuigyeYrngallg49oWSJpZwma3evKTLWSgFdFdRkMbIe7r/
 3EvQ8dOchIxcM7M6hcRgThM8/19k25u8kuH9DGjQnV9WdGD8zk4tLsDbohP5kbSe
 ltqufRpdUbLH1nr42TeqX6RhHFYOkHpsFxO13qSYvUlhl7tFHo2bJN1+FGs2BBAi
 9bp9rhZcl45d81knqC9yA/b1wq5Krs3e7H3aI5IKV4ZlYMAnpMUu+7v5FKRryceE
 wWuKf7d10hvpL5OyVqxlm2RQ75aCtXzwglGTVyyrYJQn2k/vzotn/PppyN0vigjS
 soJ+iyZGEYdYhby/70KxlScQwxKlyN7rnTP0pku65HEMPm7LTD7dtOIXSd1o4s1A
 3u8c1JH/heuKb41d7Jvw
 =ax0r
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into late/all

From Kukjin Kim:
Update exynos DT:
- fix the RTC DT node name for exynos5250
- update the "status" property of RTC DT node for exynos5250
- add RTC DT node for  exynos5420
- add ADC DT node for exynos5420 and exynos5250

Based on previouse exynos DT branch, v3.12-next/dt-exynos

* tag 'samsung-dt-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (42 commits)
  ARM: dts: add ADC device tree node for exynos5420/5250
  ARM: dts: Add RTC DT node to Exynos5420 SoC
  ARM: dts: Update the "status" property of RTC DT node for Exynos5250 SoC
  ARM: dts: Fix the RTC DT node name for Exynos5250
  ARM: dts: Add USB host node for Exynos4
  ARM: dts: add audio clock controller for exynos5420
  ARM: dts: Correct the /include entry on exynos5420 dtsi file
  ARM: dts: Add MFC node for exynos 5420
  ARM: dts: Update 5250 MFC node
  ARM: dts: Remove unsused MFC clock from exynos4
  ARM: dts: Update clocks entry in MFC binding documentation
  ARM: dts: Hook up internal PHY on Arndale
  ARM: dts: Enable USB hub on Arndale
  ARM: dts: Add secure-firmware boot support for OrigenQaud board
  ARM: dts: Add pin state information for DP HPD support to Exynos5420
  ARM: dts: Add DP controller DT node to exynos5420 SoC
  ARM: dts: Update DP controller DT Node for Exynos5 based SoCs
  ARM: dts: Add FIMD DT node to exynos5420 DTS files
  ARM: dts: Add basic PM domains for EXYNOS5420
  ARM: dts: Update FIMD DT node for Exynos5 SoCs
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-29 13:27:40 -07:00
Jan-Simon Möller
bdfc017eea x86, asm: Fix a compilation issue with clang
Clang does not support the "shortcut" we're taking here for gcc (see below).
The patch uses the macro _ASM_DX to do the job.

From arch/x86/include/asm/uaccess.h:
/*
 * Careful: we have to cast the result to the type of the pointer
 * for sign reasons.
 *
 * The use of %edx as the register specifier is a bit of a
 * simplification, as gcc only cares about it as the starting point
 * and not size: for a 64-bit value it will use %ecx:%edx on 32 bits
 * (%ecx being the next register in gcc's x86 register sequence), and
 * %rdx on 64 bits.
 */

[ hpa: I consider this a compatibility bug in clang as this reflects a
  bit of a misunderstanding about how register strings are used by
  gcc, but the workaround is straightforward and there is no
  particular reason to not do it. ]

Signed-off-by: Jan-Simon Möller <dl9pf@gmx.de>
Link: http://lkml.kernel.org/r/1377803585-5913-3-git-send-email-dl9pf@gmx.de
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2013-08-29 13:26:33 -07:00
Jan-Simon Möller
3e9b2327b5 x86, asm: Extend definitions of _ASM_* with a raw format
The __ASM_* macros (e.g. __ASM_DX) are used to return the proper
register name (e.g. edx for 32bit / rdx for 64bit). We want to use
this also in arch/x86/include/asm/uaccess.h / get_user() .  For this
to work, we need a raw form as both gcc and clang choke on the
whitespace in a register asm() statement, and the __ASM_FORM macro
surrounds the argument with blanks.  A new macro, __ASM_FORM_RAW was
added and we change __ASM_REG to use the new RAW form.

Signed-off-by: Jan-Simon Möller <dl9pf@gmx.de>
Link: http://lkml.kernel.org/r/1377803585-5913-2-git-send-email-dl9pf@gmx.de
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2013-08-29 13:26:32 -07:00
Olof Johansson
d5db40a775 Remove exynos4_defconfig because,
- No more used after disabling exynos non-DT
 - exynos_defconfig can support exynos SoCs
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJSGoSmAAoJEA0Cl+kVi2xqf1kP/RsScHqoVAq5AHh23rTlLaGy
 kO+zQ61dqf1qtGTBsH2pevyNIe2/bcXEIHV+GHw1dmVXy9jJGBFRVaeFYlLjKfG3
 q4P25mZJ1FfClMd1Nud+J6GRnyKYFEZGcHTlSB1BTPEeMAKJH0Nv8KkHkkXb6Rda
 ifABNFxfXJGJ1PQ652Y/jijbgau2kyx+BpWR9cqKKdazFWoq4xelPKRVP7czc7jb
 +t15RazEPv2HFrvTLEIqDsNPKxOJoFNaQwdRuv4YjD5Z4kneqoUojpV3WZxyE6FE
 qQL9ulYd9e8aTU1DTq4VmYzekA96S/VPBJiP6jvSEkEV53XD74s9p/TPQHPdsvQe
 H5YazRU6EhLSiVQH2lZu/Iwz2BNfmj9mWVxl3N+LFUEWrtXe7plytMYiPxShG0JL
 KM6uCCy7ws8QKBcTulelnIdmWZFdFcVY8qN010rV73yVYuyw1eUzzMpysZt8Rb/c
 Lw4LQtVQyQe7dSrnS4perMyNK+RcFDB3Wt+4Fyq4fmibsvnUFPmeGxIJfMekMbyW
 yNMrmRXD4mlpkf2XiBDTANw0MleZ2JzHKMTl5GP8/6/rsFrvuUCpdYnksMj4jJwE
 Js73J7k/fa8wO0HydlkOLwBmkEpWOuzr5y9Bwh/yIICZEkAMthPmuoh3SZRDpbPY
 nz3q7xop0K+/NqgxQxgI
 =hgdN
 -----END PGP SIGNATURE-----

Merge tag 'samsung-defconfig-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup

From Kukjin Kim:
Remove exynos4_defconfig because,
- No more used after disabling exynos non-DT
- exynos_defconfig can support exynos SoCs

* tag 'samsung-defconfig-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: exynos4_defconfig: remove obsolete exynos4_defconfig

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-29 13:23:09 -07:00
Olof Johansson
66fafb6fbf move irq driver out of mach-mmp to support multiplatform
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIbBAABAgAGBQJSGLR+AAoJELXbXY/c+iv2GUEP+OvNeUa/t/1/WSH7jbLNJmPt
 vWZreU7i+ASC7PVt+7f0KQnmHVQTsgMChbGIC+eAkGWt/H9xgA5NvGrfqSY4gGdD
 JK/4zM1wPvj5Xpx+mLi1NX8fEGVlfXEQedQPoqMP8pfAHjsQs/8MylrAW6/iogZ9
 RtjRPH5vFdOjg12TzD2rnw4mdHaI4ULBaSvLgFhfqlKaPQdHwr/cuxsmmpTzXw1f
 b1/+n27EYmAvrjux8nSSgW3DrAIh9b0cbRCQZ4mFvtVsZIXAnXHfJ0ALNglxTS0O
 dPmZbL+tqHIhts690D72uupduzCtJwPUsj017KS0LZsaL5lyvnSn3d3C5rskyejx
 3g53FgK8gzj8PWqy9UdhWdCf+qFAkU+g1J43fW7qfPIIIHHEjtfg65pNvpYnscri
 mOuxHbC6llVjt/UXS1PvcXAOcmcqbnzqsneLeHHRxv+qUXa/gNa/jemPxqSYMMG2
 wOKCH3dv+LOlNINHTD9nwbEQJjXx3ceV0rViSJrX5cjbIs5JpWA/IPFicBzEfrxn
 fZ5sEW6AAqK25m6m097VZ1ezZmKUTyYhDGMncxKe6eF5bWFEaqM9AGQUtzeH1hiA
 ijBrHfEiL18DByZ4hTdlI8JIUXFWfWYVoGVjNp+pdntebzLfV55ZJifYBxtc8BYk
 xykbReN/uZeaPz+n0I8=
 =Vx7M
 -----END PGP SIGNATURE-----

Merge tag 'mmp-irq' of git://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux into late/all

From Haojian Zhuang:
Move irq driver out of mach-mmp to support multiplatform

* tag 'mmp-irq' of git://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux:
  irqchip: mmp: avoid to include irqs head file
  ARM: mmp: avoid to include head file in mach-mmp
  irqchip: mmp: support irqchip
  irqchip: move mmp irq driver
2013-08-29 13:21:24 -07:00
Olof Johansson
b94c1823b8 Ux500 core changes for ARM SoC:
- Cleanup from Julia Lawall
 - Clean out old pin definitions
 - Fix the I2C devices
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.13 (GNU/Linux)
 
 iQIcBAABAgAGBQJSF180AAoJEEEQszewGV1z2CAP/iI8OAe/mOAMXrkzUtgBU1I1
 qBh0E0KIxk3/szlkTlmfcakIpkasZeHc/wI1SjutniT1BgTlavnZDnMOkixWd9mP
 SdPuU45UvfaPhy6/E0qDyLmTfi9jHhV9mkAmW+kfnWPW/Mp26qJecMfxpbsryuuu
 kq0tJ4T8JwK74OQ7IJGY/V6/hfFbIIQOaWAR83ZPPw2gKZ5hsOyyz55Yc6YAlEYp
 1cTh3YU4vdhEBSNB/bKRzP6GPUo6pzMMGK/dTXV5A+YBMjugyxpMOPX+bn/rwhcV
 eG6n6nU6jy1KWZUdOGsDcqkgLjCMThFkNRr8Khjt5L/nwBOtbYLaqPD3G/heQ0P/
 rdE/5s10yt9tQEIpwUoAoiiP14/TC+S+e0dmuIazFOSbCIYk4JmSt1xAgRvostEk
 eXVr/Yh7JBYgwjZtoSYn/289Q3KRqKJ8/UfsVf6f3nrlPEPzdz1INtuZ+Wkn+fC+
 nKV7hEYw+zE8klr8VntDOYW26UTh11/UmdOarZ9W5AEsaJkSayAsOa5rWe5bi5B4
 IlBon6jFbTTnZ8WnB3OhCNEr5i5jmXS7bHgjDlqAw5r6m5BDo2rNrJc/b163k4P5
 CBOy+hMG7HjtKk5d9mLo22lSGHd5Rv2XFjipsYXSZJh6GkR0Duzph5+VaXP+nJEt
 /bgLfLW1MIFMHYsysNin
 =JWO+
 -----END PGP SIGNATURE-----

Merge tag 'ux500-core-for-arm-soc-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into late/all

From Linus Walleij:
Ux500 core changes for ARM SoC:
- Cleanup from Julia Lawall
- Clean out old pin definitions
- Fix the I2C devices

* tag 'ux500-core-for-arm-soc-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  ARM: ux500: fix up the I2C devices
  ARM: ux500: delete oldschool pin defines
  arch/arm/mach-ux500/cpu-db8500.c: Avoid using ARRAY_AND_SIZE(e) as a function argument
  ARM: ux500: set coherent_dma_mask for dma40
  ARM: ux500: remove u8500_secondary_startup from INIT section.
  ARM: ux500: add restart support via prcmu

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-29 13:19:40 -07:00
Dinh Nguyen
620f5e1cbf dts: Rename DW APB timer compatible strings
"dw-apb-timer-osc" and "dw-apb-timer-sp" are the same implementation of the
DW APB timer, just fed by different clocks. Thus, deprecate both
"dw-apb-timer-osc" and "dw-apb-timer-sp" in lieu of "dw-apb-timer".

Signed-off-by: Dinh Nguyen <dinguyen@altera.com>
Reviewed-by: Pavel Machek <pavel@denx.de>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
CC: Rob Herring <rob.herring@calxeda.com>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
CC: Arnd Bergmann <arnd@arndb.de>
Cc: Olof Johansson <olof@lixom.net>
CC: Jamie Iles <jamie@jamieiles.com>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: Pavel Machek <pavel@denx.de>
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Olof Johansson <olof@lixom.net>

v3:
- Split out a separate that cleans up the timer entries and clock information.
- Clearly states which binding is deprecated in the bindings doc.

v2:
- Deprecate the "dw-apb-timer-osc" and "dw-apb-timer-sp" but maintain
  backwards compatibility in the driver.
2013-08-29 12:59:02 -07:00
Thierry Reding
e8a72e2a5d ARM: tegra: Drop ARCH_SUPPORTS_MSI and sort list
The ARCH_SUPPORTS_MSI symbol was removed during the recent patches that
introduce the MSI chip infrastructure. Drop it from the list of selected
symbols. While at it, move the MIGHT_HAVE_PCI symbol so the list stays
sorted alphabetically.

Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-29 12:50:29 -07:00
Vivien Didelot
5877457a96 gpio: (gpio-pca953x) move header to linux/platform_data/
This patch moves the pca953x.h header from include/linux/i2c to
include/linux/platform_data and updates existing support accordingly.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-29 12:33:52 -07:00
Boris BREZILLON
a3a975b1df ARM: at91/dt: fix phy address in sama5xmb to match the reg property
Fix phy0 address to match the reg property defined in phy0 node.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-08-29 15:21:45 -04:00
Olof Johansson
293d0e3bf0 Merge branch 'armsoc/for-3.12/soc' of git://github.com/broadcom/bcm11351 into next/boards
From Christian Daudt, SoC changes for Broadcom.

* 'armsoc/for-3.12/soc' of git://github.com/broadcom/bcm11351: (673 commits)
  ARM: bcm: Make secure API call optional
  ARM: DT: binding fixup to align with vendor-prefixes.txt (drivers)
  ARM: mmc: fix NONREMOVABLE test in sdhci-bcm-kona
  ARM: bcm: Rename board_bcm
  mmc: sdhci-bcm-kona: make linker-section warning go away
  ARM: configs: disable DEBUG_LL in bcm_defconfig
  ARM: bcm281xx: Board specific reboot code
  ARM bcm281xx: Turn on socket & network support.
  ARM: bcm281xx: Turn on L2 cache.
  + Linux 3.11-rc4

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-29 10:44:42 -07:00
Olof Johansson
158a71f838 mvebu msi pci changes for v3.12
- introduce support for MSI on PCI
  - fix s390 build breakage when !HAVE_GENERIC_HARDIRQS
 
 NOTE: This branch is a dependency for changes going though arm-soc from both
 Thomas Petazzoni and Thierry Reding.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.20 (GNU/Linux)
 
 iQEcBAABAgAGBQJSC9XJAAoJEAi3KVZQDZAebeUIAJCZtJ9cth52Hhbw5hZCpuwy
 9F7C8FVrOA66xw9ryFBhcKMFZN9G1YAciaBmIXSXL6Zxj/p4ZTDdzfyiWHM67Hvj
 Bq+fD6GgtARB3zmi10dWhIqKOEXC7wmG68u3k4xengLxB8d4VlGHRXnrAzz+XAyo
 y6mtCgzfALXkjNTTHmZW3ecuxiyXo2T7IP2e5feK8qgmFRvBR0vWdv59Kk/qurSd
 E/9MjdtMJjLIXy/+h0vbAQbujA7g3e+P0JaNsxNDPxDIrWG3a61gzOqlbkgNZKIu
 HCaSxg37d2cPG9PVTdoWq88nZ1+aVBfWQdaL59jmui2lZ6LNZtrnwnsSg6SOzEA=
 =/x8J
 -----END PGP SIGNATURE-----

Merge tag 'msi-3.12' of git://git.infradead.org/linux-mvebu into next/drivers

From Jason Cooper:
mvebu msi pci changes for v3.12

 - introduce support for MSI on PCI
 - fix s390 build breakage when !HAVE_GENERIC_HARDIRQS

NOTE: This branch is a dependency for changes going though arm-soc from both
Thomas Petazzoni and Thierry Reding.

* tag 'msi-3.12' of git://git.infradead.org/linux-mvebu:
  PCI: msi: add default MSI operations for !HAVE_GENERIC_HARDIRQS platforms
  ARM: pci: add ->add_bus() and ->remove_bus() hooks to hw_pci
  of: pci: add registry of MSI chips
  PCI: Introduce new MSI chip infrastructure
  PCI: remove ARCH_SUPPORTS_MSI kconfig option
  PCI: use weak functions for MSI arch-specific functions

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-29 10:06:50 -07:00
Olof Johansson
6cbe0e1fea mvebu dt changes for v3.12
- kirkwood
     - add ZyXEL NSA310 board, fan for ReadyNAS Duo v2
 
  - mvebu
     - add ReadyNAS 102 board
 
  - misc dts updates and changes.
 
 v2:
  - dropped mv64xxx-i2c change
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.20 (GNU/Linux)
 
 iQEcBAABAgAGBQJSDiMPAAoJEAi3KVZQDZAenzYH+QEhluZYpiGjeo60RchyzYzx
 sKcNiGiUgZs1KAcONFIaKpTYoKjm8SSKiboegJhIYSN3NxYIm0Rlogjdl012p1zw
 vAR1dphum+xeTrvZLtiOZjfXA8XtSq+EBwkP4+CunAFXMPcyaqUW7MsxleIqCgGG
 GhSyT0APhsMBhIuvzsrBILZWPpriReiunM4rclU629xyzzrwHMxh7hrTpsw4qIgD
 ynZFRN5qJMLcFrRQ0nJVmhSyFMllYeAou5y8rXyUrde/sTI6ycMSG112ti2X3qQe
 pWEkiTnMSUajV4Adv3ljATMokDv2eMuNAEaq57k7w4njcYzNskfuhzTURy38xM0=
 =T/Dr
 -----END PGP SIGNATURE-----

Merge tag 'dt-3.12' of git://git.infradead.org/linux-mvebu into next/soc

From Jason Cooper:
mvebu dt changes for v3.12
 - kirkwood
    - add ZyXEL NSA310 board, fan for ReadyNAS Duo v2
 - mvebu
    - add ReadyNAS 102 board
 - misc dts updates and changes.

v2:
 - dropped mv64xxx-i2c change

* tag 'dt-3.12' of git://git.infradead.org/linux-mvebu:
  ARM: mvebu: Fix the Armada 370/XP timer compatible strings
  ARM: mvebu: use dts pre-processor for readynas 102
  ARM: kirkwood: use dts pre-processor for nsa310 boards
  ARM: mvebu: use correct #interrupt-cells instead of #interrupts-cells
  ARM: Kirkwood: Add support for another ZyXEL NSA310 variant
  ARM: mvebu: Add Netgear ReadyNAS 102 board
  arm: kirkwood: readynas duo v2: Add GMT G762 Fan Controller

Signed-off-by: Olof Johansson <olof@lixom.net>

Conflicts:
	arch/arm/boot/dts/kirkwood-nsa310.dts
2013-08-29 10:01:40 -07:00
Barry Song
f8ab658b5d arm: prima2: drop nr_irqs in mach as we moved to linear irqdomain
we don't need nr_irqs in machine any more after we move to
linear irqdomain for sirfsoc irqchip, so drop them.

Signed-off-by: Barry Song <Baohua.Song@csr.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-29 09:48:36 -07:00
Tomasz Figa
9b9ae16a97 ASoC: Samsung: Do not queue cyclic buffers multiple times
The legacy S3C-DMA API required every period of a cyclic buffer to be
queued separately. After conversion of Samsung ASoC to Samsung DMA
wrappers somebody made an assumption that the same is needed for DMA
engine API, which is not true.

In effect, Samsung ASoC DMA code was queuing the whole cyclic buffer
multiple times with a shift of one period per iteration, leading to:
  a) severe memory waste - up to 13x times more DMA transfer descriptors
     are allocated than needed,
  b) possible memory corruption, because further cyclic buffers were out
     of the original buffers, due to the offset.

This patch fixes this problem by making the legacy S3C-DMA API use the
same semantics as DMA engine (the whole cyclic buffer is enqueued at
once) and modifying users of Samsung DMA wrappers in cyclic mode to
behave appropriately.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-29 17:31:02 +01:00
Tomi Valkeinen
35f5df6fd8 OMAPDSS: fix DPI and SDI device ids
The DPI and SDI platform devices are currently created with the ID of
-1. The ID doesn't currently affect anything.

However, we have added regulator supply entries for "omapdss_dpi.0" and
"omapdss_sdi.0" to the board files, although these supply entries are
not yet used. As the ID used for the devices is -1, these regulator
supply entries will not work.

To fix the issue, assign ID of 0 to the devices. In the future there may
be more than one DPI or SDI output, so it makes sense to have a proper
ID for them.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
2013-08-29 16:21:51 +03:00
Vineet Gupta
64b703ef27 ARC: MMUv4 preps/1 - Fold PTE K/U access flags
The current ARC VM code has 13 flags in Page Table entry: some software
(accesed/dirty/non-linear-maps) and rest hardware specific. With 8k MMU
page, we need 19 bits for addressing page frame so remaining 13 bits is
just about enough to accomodate the current flags.

In MMUv4 there are 2 additional flags, SZ (normal or super page) and WT
(cache access mode write-thru) - and additionally PFN is 20 bits (vs. 19
before for 8k). Thus these can't be held in current PTE w/o making each
entry 64bit wide.

It seems there is some scope of compressing the current PTE flags (and
freeing up a few bits). Currently PTE contains fully orthogonal distinct
access permissions for kernel and user mode (Kr, Kw, Kx; Ur, Uw, Ux)
which can be folded into one set (R, W, X). The translation of 3 PTE
bits into 6 TLB bits (when programming the MMU) can be done based on
following pre-requites/assumptions:

1. For kernel-mode-only translations (vmalloc: 0x7000_0000 to
   0x7FFF_FFFF), PTE additionally has PAGE_GLOBAL flag set (and user
   space entries can never be global). Thus such a PTE can translate
   to Kr, Kw, Kx (as appropriate) and zero for User mode counterparts.

2. For non global entries, the PTE flags can be used to create mirrored
   K and U TLB bits. This is true after commit a950549c67
   "ARC: copy_(to|from)_user() to honor usermode-access permissions"
   which ensured that user-space translations _MUST_ have same access
   permissions for both U/K mode accesses so that  copy_{to,from}_user()
   play fair with fault based CoW break and such...

There is no such thing as free lunch - the cost is slightly infalted
TLB-Miss Handlers.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-08-29 17:51:36 +05:30
Vineet Gupta
4b06ff35fb ARC: Code cosmetics (Nothing semantical)
* reduce editor lines taken by pt_regs
* ARCompact ISA specific part of TLB Miss handlers clubbed together
* cleanup some comments

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-08-29 17:51:15 +05:30
Martin Schwidefsky
0944fe3f4a s390/mm: implement software referenced bits
The last remaining use for the storage key of the s390 architecture
is reference counting. The alternative is to make page table entries
invalid while they are old. On access the fault handler marks the
pte/pmd as young which makes the pte/pmd valid if the access rights
allow read access. The pte/pmd invalidations required for software
managed reference bits cost a bit of performance, on the other hand
the RRBE/RRBM instructions to read and reset the referenced bits are
quite expensive as well.

Reviewed-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2013-08-29 13:20:11 +02:00
Ingo Molnar
aee2bce3cf Merge branch 'linus' into perf/core
Pick up the latest upstream fixes.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2013-08-29 12:02:08 +02:00
Linus Walleij
6ad30ce046 Linux 3.11-rc7
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iQEcBAABAgAGBQJSGqS5AAoJEHm+PkMAQRiGFxEH/3VrqF6WAkcviNiW/0DCdO8k
 v6Wi7Sp5LxVkwzmOCHCV1tTHwLRlH3cB9YmJlGQ0kHCREaAuEQAB0xJXIW7dnyYj
 Qq7KoRZEMe3wizmjEsj8qsrhfMLzHjBw67hBz2znwW/4P7YdgzwD7KRiEat+yRC9
 ON3nNL2zIqpfk92RXvVrSVl4KMEM+WNbOfiffgBiEP24Ja1MJMFH1d4i6hNOaB0x
 9Pb3Lw8let92x+8Ao5jnjKdKMgVsoZWbN/TgQR8zZOHM38AGGiDgk18vMz+L+hpS
 jqfjckxj1m30jGq0qZ9ZbMZx3IGif4KccVr30MqNHJpwi6Q24qXvT3YfA3HkstM=
 =nAab
 -----END PGP SIGNATURE-----

Merge tag 'v3.11-rc7' into devel

Merged in this to avoid conflicts with the big locking fixes
from upstream.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

Conflicts:
	drivers/pinctrl/pinctrl-sunxi.c
2013-08-29 09:46:30 +02:00
Xiao Guangrong
e5552fd252 KVM: MMU: remove unused parameter
vcpu in page_fault_can_be_fast() is not used so remove it

Signed-off-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
2013-08-29 10:17:42 +03:00
Stephen Boyd
9dfe59f151 ARM: dts: msm: Update uartdm compatible strings
Let's follow the ratified DT binding and use uartdm instead of
hsuart. This does break backwards compatibility but this
shouldn't be a problem because the uart driver isn't probing on
these devices without adding clock support (which isn't merged so
far).

Cc: David Brown <davidb@codeaurora.org>
Acked-by: Kumar Gala <galak@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-08-28 16:03:29 -07:00
Alexander Graf
bf550fc93d Merge remote-tracking branch 'origin/next' into kvm-ppc-next
Conflicts:
	mm/Kconfig

CMA DMA split and ZSWAP introduction were conflicting, fix up manually.
2013-08-29 00:41:59 +02:00
Paul Mackerras
7e48c101e0 KVM: PPC: Book3S PR: Rework kvmppc_mmu_book3s_64_xlate()
This reworks kvmppc_mmu_book3s_64_xlate() to make it check the large
page bit in the hashed page table entries (HPTEs) it looks at, and
to simplify and streamline the code.  The checking of the first dword
of each HPTE is now done with a single mask and compare operation,
and all the code dealing with the matching HPTE, if we find one,
is consolidated in one place in the main line of the function flow.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
2013-08-29 00:05:50 +02:00
Grant Likely
a1727da599 of: consolidate definition of early_init_dt_alloc_memory_arch()
Most architectures use the same implementation. Collapse the common ones
into a single weak function that can be overridden.

Signed-off-by: Grant Likely <grant.likely@linaro.org>
2013-08-28 21:18:32 +01:00
Grant Likely
8be137f266 Linux 3.11-rc7
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iQEcBAABAgAGBQJSGqS5AAoJEHm+PkMAQRiGFxEH/3VrqF6WAkcviNiW/0DCdO8k
 v6Wi7Sp5LxVkwzmOCHCV1tTHwLRlH3cB9YmJlGQ0kHCREaAuEQAB0xJXIW7dnyYj
 Qq7KoRZEMe3wizmjEsj8qsrhfMLzHjBw67hBz2znwW/4P7YdgzwD7KRiEat+yRC9
 ON3nNL2zIqpfk92RXvVrSVl4KMEM+WNbOfiffgBiEP24Ja1MJMFH1d4i6hNOaB0x
 9Pb3Lw8let92x+8Ao5jnjKdKMgVsoZWbN/TgQR8zZOHM38AGGiDgk18vMz+L+hpS
 jqfjckxj1m30jGq0qZ9ZbMZx3IGif4KccVr30MqNHJpwi6Q24qXvT3YfA3HkstM=
 =nAab
 -----END PGP SIGNATURE-----

Merge tag 'v3.11-rc7' into devicetree/next

Linux 3.11-rc7
2013-08-28 20:18:13 +01:00
Olof Johansson
aaf75e454c Merge branch 'cpuidle/biglittle' into next/drivers
From Lorenzo Pieralisi:
This patch series contains:

- GIC driver update to add a method to disable the GIC CPU IF
- TC2 MCPM update to add GIC CPU disabling to suspend method
- TC2 CPU idle big.LITTLE driver

* cpuidle/biglittle:
  cpuidle: big.LITTLE: vexpress-TC2 CPU idle driver
  ARM: vexpress: tc2: disable GIC CPU IF in tc2_pm_suspend
  drivers: irq-chip: irq-gic: introduce gic_cpu_if_down()
  ARM: vexpress/TC2: implement PM suspend method
  ARM: vexpress/TC2: basic PM support
  ARM: vexpress: Add SCC to V2P-CA15_A7's device tree
  ARM: vexpress/TC2: add Serial Power Controller (SPC) support
  ARM: vexpress/dcscb: fix cache disabling sequences

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-28 11:29:18 -07:00
Lorenzo Pieralisi
9ee2ee0f05 ARM: vexpress: tc2: disable GIC CPU IF in tc2_pm_suspend
To prevent cores from exiting wfi when they are about to be shut down
the GIC CPU IF must be disabled so that the GIC CPU IF IRQ output line
is not asserted to the cores. wfi completion must be prevented since,
in absence of coordinating HW logic, if the power controller receives
a standbywfi signal but in the meantime the processor restarts executing
owing to a pending IRQ, the core might be reset when running in a
non-quiescent state (eg with pending load/store transactions)

Raw GIC distributor IRQ signals are routed to the power controller, that
is capable of taking core out of reset on pending IRQs even if their GIC
CPU IF is disabled, thus keeping the normal wfi behaviour.

GIC CPU IF is restored upon CPU wake-up by the respective MCPM API
consumers (ie CPU idle driver and suspend to RAM thread).

Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-28 11:28:47 -07:00
Russell King
5cc91e0460 Merge branch 'for-rmk/cacheflush-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into devel-stable 2013-08-28 18:38:40 +01:00
Russell King
cdf0bfb012 Merge branch 'for-rmk/barriers' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into devel-stable 2013-08-28 18:37:31 +01:00
Olof Johansson
25475030ec Renesas ARM based SoC SMP updates for v3.12
* Per-CPU SMP boot and sleep code on SoCs that use SCU
 * Shared SCU CPU Hotplug code on r8a7779 and sh73a0 SoCs
 * Shared SCU CPU boot code on emev2, r8a7779 and sh73a0 SoCs
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJSAawzAAoJENfPZGlqN0++MRgP/0TDYa+QhVd6h43a6tZ7OBGp
 +sln2YQOrQFSSSVxnqIwFAfISoG0Fb0upvlalvPueLSUP4NCNDAIgNVilUMkOwZq
 qkDr3QAIcp+tJq/jzI+y7gK0T6DWAIgutLX8n/GbR9ZAGl4huRZiM1kRnRotUA89
 mhK0I8B2xNFeqdqhFm9UqslCctuQDxCdFSJhDl+mV+cM6cQyXfbP4XFXI53x5i7d
 91YDa6/zVeGGL9sqVFthEESXmZMpjWgO3Rnw0QByp/hvXDRF+AsMxUQx2B+65zm7
 SsUEBdUTXTtarqVr5oiqYOzMiFQ8tJXNXUxghRcN5RET5KsdHye/uwWzV01qtcBj
 d917baHS3Po5EQ6TxOseaRLSHmNVfeDn00esxRz+KywnTjZzhKh3AcZq640a0UPf
 ljjKLAiQvWLcdawG6rp24TA4nOS3jwIyALvgrRL0k74oie5O/yV307+n/m46iJvA
 d08+mBNkKTWV+uZQXo9cxyRITD/b3Wv27AXS+hPdRwCX3BtA81Y2w7u5LnlskuZr
 H3HvvJ3G9OzkvXZTdqolntqBUn9Fr++ptJjzZG+WYPM8KGngKeSBR9a3NrwSCa2v
 xprAEXb8hg1h3E721xGckIk7b6IJbGdN7euSEy4T/XNaj2wI4jLfGE/5adZk54+H
 MxumRYYdhJqudCJs0lhy
 =6QVN
 -----END PGP SIGNATURE-----

Merge tag 'renesas-smp-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/renesas

From Simon Horman:
Renesas ARM based SoC SMP updates for v3.12

* Per-CPU SMP boot and sleep code on SoCs that use SCU
* Shared SCU CPU Hotplug code on r8a7779 and sh73a0 SoCs
* Shared SCU CPU boot code on emev2, r8a7779 and sh73a0 SoCs

* tag 'renesas-smp-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Per-CPU SMP boot / sleep code for SCU SoCs
  ARM: shmobile: Introduce per-CPU SMP boot / sleep code
  ARM: shmobile: Use shared SCU CPU Hotplug code on r8a7779
  ARM: shmobile: Use shared SCU CPU Hotplug code on sh73a0
  ARM: shmobile: Add shared SCU CPU Hotplug code
  ARM: shmobile: Use shared SCU SMP boot code on emev2
  ARM: shmobile: Use shared SCU SMP boot code on r8a7779
  ARM: shmobile: Use shared SCU SMP boot code on sh73a0
  ARM: shmobile: Introduce shared SCU SMP boot code

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-28 10:04:38 -07:00
Olof Johansson
e707bb338b Third round of Renesas ARM based SoC cleanups for v3.12
* Remove global GPIO_NR definition from sh73a0 SoC
 * Remove unnecessary nfsroot settings from bootargs of
   kzm9d and armadillo800eva
 * Rename irq initialisation functions of r8a7779 SoC
   to make them consistent with other SoCs
 * Simplify irq initialisation of r8a7740 SoC
 * Add missing __initdata annotations to bockw board, and
   r8a7790 and r8a7779 SoCs
 * Refactor time initialisation and remove shmobile_init_time.
   - This affects the following boards: kzm9g, marzen, ape6evm,
     armadillo800eva and bockw
   - This affects the following SoCs: r8a7790, r8a7779, r7a7740, r7a73a4
 * Cleanup device registration code of r8a7778 SoC
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJSAaigAAoJENfPZGlqN0++6dIQAJmaeKd/6QsHXy1Yc0h6knMk
 J2Jf1gL4lHM9FrsmFKVLqY6W6b0ctRPxBJXhpLEr2nfNnml924LHVKaxMXSnqvea
 Bn5U44L6X/Tpx04+I1KLkWRcLmej+1xULra15yZvb1YgtCueJcgzxAaZN+6vgIle
 NHK+gQsGqGnIIXAXawXF7p6v4SwSoUrcuqYd6IekmIKGYhxTNFKpyLZd6MY6I+Tp
 F14ulRnewAJWG5HrXbtLJlE2MOcd5IAvsRtMEizZO+3vmzf8esM+Fw9s39+2v0zg
 8+lpucb68vaovjaP9TPgDTT9ddELL/0xrzfWnPFYWtaGiLOV//BEZYkOUhRqZy5I
 P55PZnlpjacSLDeJpsQxQGOx8RERhVKrNVycr1+XN0RnalLXI7lNepV7+j4cXUZw
 kFr2hEzRKwJ820rZNKmzGQEVLWypLtFxVdA9JBX3SP3vPe4QvuK1IWfb0VSs5L5s
 7h8Cwvshb1jnULM1LhNobpQzQ2WTljghUiZU1omGOvQh8qzPn0+Iy9POVa5wBwCk
 PPYUJaL+aJYeikWMrxX757X1SYWKvuQ6pnNSEZSJm35HY4ESRg7gO/M56Ns1L62z
 lrcIf2OKbN8wUyqp1lZSg2HgJ+Du9N5mlSBVVw4sZBPN/Iukl+Jb0MznWhttEq2P
 dCb+bon+o5CS1+9xPGjI
 =Sbjt
 -----END PGP SIGNATURE-----

Merge tag 'renesas-cleanup3-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/renesas

From Simon Horman:
Third round of Renesas ARM based SoC cleanups for v3.12

* Remove global GPIO_NR definition from sh73a0 SoC
* Remove unnecessary nfsroot settings from bootargs of
  kzm9d and armadillo800eva
* Rename irq initialisation functions of r8a7779 SoC
  to make them consistent with other SoCs
* Simplify irq initialisation of r8a7740 SoC
* Add missing __initdata annotations to bockw board, and
  r8a7790 and r8a7779 SoCs
* Refactor time initialisation and remove shmobile_init_time.
  - This affects the following boards: kzm9g, marzen, ape6evm,
    armadillo800eva and bockw
  - This affects the following SoCs: r8a7790, r8a7779, r7a7740, r7a73a4
* Cleanup device registration code of r8a7778 SoC

* tag 'renesas-cleanup3-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (45 commits)
  ARM: shmobile: sh73a0: Remove global GPIO_NR definition
  ARM: shmobile: kzm9d: remove nfsroot settings from bootargs
  ARM: shmobile: armadillo800eva: remove nfsroot settings from bootargs
  ARM: shmobile: r8a7779: move r8a7779_init_irq_xxx() to setup
  ARM: shmobile: r8a7740: move r8a7740_init_irq_of() to setup
  ARM: shmobile: bockw: add missing __initdata
  ARM: shmobile: r8a7790: add missing __initdata
  ARM: shmobile: r8a7779: add missing __initdata
  ARM: shmobile: Remove unused shmobile_init_time()
  ARM: shmobile: Use clocksource_of_init() on r8a7790
  ARM: shmobile: Use default ->init_time() on KZM9G DT ref
  ARM: shmobile: Use default ->init_time() on Marzen DT ref
  ARM: shmobile: Use default ->init_time() on APE6EVM DT ref
  ARM: shmobile: Use default ->init_time() on APE6EVM
  ARM: shmobile: Use default ->init_time() on Armadillo DT ref
  ARM: shmobile: Use default ->init_time() on Bockw DT ref
  ARM: shmobile: Use default ->init_time() on Bockw
  ARM: shmobile: Use default ->init_time() on r8a7779
  ARM: shmobile: Use default ->init_time() on r8a7778
  ARM: shmobile: Use default ->init_time() on r8a7740
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-28 10:00:24 -07:00
Olof Johansson
f0a108b722 Second round of Renesas ARM based SoC cleanups for v3.12
* Remove mach/hardware.h which has no useful contents
 * Remove ag5evm board support
 * Remove kota2 board support
 * Use pm-rmobile on sh7372 and r8a7740 SoCs only, it is otherwise unneeded
 * Remove use of INTC header on r8a7779 and r8a7740 SoCs
 * Cleanup registration of usb phy in r8a7779 SoC
 * Remove '0x's from R8A7779 DTS file for r8a7779 SoC
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJR+hf1AAoJENfPZGlqN0+++0gP/2hSp6T9qQAmriOeOTE9NrOu
 fLx/d35Q70u5p14NfjKKs0vDIc/II8YqHizHlF5+mW1getnhBDNDS761f6nypmUw
 LE19YgBE/idDEyz4WBbr+YFrXVS1Mq494UzN4esePtTrG2joQIv6krE6SX1shsLz
 yCmUk+zPXEvhv/oVJLahm0pe+UjJHqWbST6gbscL5WTNnfQM3JhQQIJwGruge2Ui
 c0ja+irLphCVgFgVvn1YwgtuvDaoL/qSxqGgESISL2awPEUoF/nQExTQ3U/DjBZN
 VWAYpy6DFyYl5B8ZZh5UUowA7ed/trVVbblsrbu9Z93GxRRgNal/rU1pCS/uPoyw
 Giw3f51VGWrvw5Vrb/Fpl8OsMRn7rpcnWROsR0glkn/DHlNJkw5b60g2lLtYaL4m
 33rNH18l2B+rmzbhsF+kwDR2JxYXyaE+iyfMXGBkhLsRfhCCiUq4iP3+u0hpsnPw
 FB0+ngnlsjypYVLgkkYSUOzvnDHmB3uz+bH+5psDD6+L5+mp7H4KhhTrQXCBqdVZ
 Up2qKT7lJz+T0nnzJQZtXS+n+I4O06ewtghwG3MxtQ/NbwS6mUrqE18YMRj/21Af
 d91bhBnMpWX251T5LRqUlqHQCmVn9F8EuO7VK1qEX0GavxT+71ChlBDSXlGK/uqY
 wZbyX/n24e9B50AeyNVv
 =ujiw
 -----END PGP SIGNATURE-----

Merge tag 'renesas-cleanup2-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/renesas

From Simon Horman:
Second round of Renesas ARM based SoC cleanups for v3.12

* Remove mach/hardware.h which has no useful contents
* Remove ag5evm board support
* Remove kota2 board support
* Use pm-rmobile on sh7372 and r8a7740 SoCs only, it is otherwise unneeded
* Remove use of INTC header on r8a7779 and r8a7740 SoCs
* Cleanup registration of usb phy in r8a7779 SoC
* Remove '0x's from R8A7779 DTS file for r8a7779 SoC

* tag 'renesas-cleanup2-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (74 commits)
  ARM: shmobile: r8a7779: Remove '0x's from R8A7779 DTS file
  ARM: shmobile: r8a7779: cleanup registration of usb phy
  ARM: shmobile: No need to use INTC header on r8a7779
  ARM: shmobile: No need to use INTC demux on r8a7740
  ARM: shmobile: Use pm-rmobile on sh7372 and r8a7740 only
  ARM: shmobile: r8a73a4: Remove ->init_machine() special case
  ARM: shmobile: Remove include <mach/hardware.h>
  ARM: shmobile: Remove Marzen use of <mach/hardware.h>
  ARM: shmobile: Remove r8a7779 use of <mach/hardware.h>
  ARM: shmobile: Remove EMEV2 use of <mach/hardware.h>
  ARM: shmobile: Remove sh7372 use of <mach/hardware.h>
  ARM: shmobile: Remove sh73a0 use of <mach/hardware.h>
  ARCH: ARM: shmobile: Remove ag5evm board support
  ARCH: ARM: shmobile: Remove kota2 board support
  leds: Remove leds-renesas-tpu driver
  ARM: shmobile: sh73a0: Remove all GPIOs
  ARM: shmobile: kota2: Use leds-pwm + pwm-rmob
  ARM: shmobile: armadillo800eva: Add backlight support
  ARM: shmobile: Setup r8a7790 arch timer based on MD pins
  ARM: shmobile: Introduce r8a7790_read_mode_pins()
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-28 09:56:49 -07:00
Paul Mackerras
8b23de2948 KVM: PPC: Book3S PR: Make instruction fetch fallback work for system calls
It turns out that if we exit the guest due to a hcall instruction (sc 1),
and the loading of the instruction in the guest exit path fails for any
reason, the call to kvmppc_ld() in kvmppc_get_last_inst() fetches the
instruction after the hcall instruction rather than the hcall itself.
This in turn means that the instruction doesn't get recognized as an
hcall in kvmppc_handle_exit_pr() but gets passed to the guest kernel
as a sc instruction.  That usually results in the guest kernel getting
a return code of 38 (ENOSYS) from an hcall, which often triggers a
BUG_ON() or other failure.

This fixes the problem by adding a new variant of kvmppc_get_last_inst()
called kvmppc_get_last_sc(), which fetches the instruction if necessary
from pc - 4 rather than pc.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
2013-08-28 16:47:49 +02:00
Paul Mackerras
9d1ffdd8f3 KVM: PPC: Book3S PR: Don't corrupt guest state when kernel uses VMX
Currently the code assumes that once we load up guest FP/VSX or VMX
state into the CPU, it stays valid in the CPU registers until we
explicitly flush it to the thread_struct.  However, on POWER7,
copy_page() and memcpy() can use VMX.  These functions do flush the
VMX state to the thread_struct before using VMX instructions, but if
this happens while we have guest state in the VMX registers, and we
then re-enter the guest, we don't reload the VMX state from the
thread_struct, leading to guest corruption.  This has been observed
to cause guest processes to segfault.

To fix this, we check before re-entering the guest that all of the
bits corresponding to facilities owned by the guest, as expressed
in vcpu->arch.guest_owned_ext, are set in current->thread.regs->msr.
Any bits that have been cleared correspond to facilities that have
been used by kernel code and thus flushed to the thread_struct, so
for them we reload the state from the thread_struct.

We also need to check current->thread.regs->msr before calling
giveup_fpu() or giveup_altivec(), since if the relevant bit is
clear, the state has already been flushed to the thread_struct and
to flush it again would corrupt it.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
2013-08-28 16:41:14 +02:00
Marcelo Tosatti
2e762ff79f KVM: x86: update masterclock when kvmclock_offset is calculated (v2)
The offset to add to the hosts monotonic time, kvmclock_offset, is
calculated against the monotonic time at KVM_SET_CLOCK ioctl time.

Request a master clock update at this time, to reduce a potentially
unbounded difference between the values of the masterclock and
the clock value used to calculate kvmclock_offset.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
2013-08-28 17:36:11 +03:00
Paul Mackerras
7bfa9ad55d KVM: PPC: Book3S: Fix compile error in XICS emulation
Commit 8e44ddc3f3 ("powerpc/kvm/book3s: Add support for H_IPOLL and
H_XIRR_X in XICS emulation") added a call to get_tb() but didn't
include the header that defines it, and on some configs this means
book3s_xics.c fails to compile:

arch/powerpc/kvm/book3s_xics.c: In function ‘kvmppc_xics_hcall’:
arch/powerpc/kvm/book3s_xics.c:812:3: error: implicit declaration of function ‘get_tb’ [-Werror=implicit-function-declaration]

Cc: stable@vger.kernel.org [v3.10, v3.11]
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
2013-08-28 16:28:47 +02:00
Thadeu Lima de Souza Cascardo
7c7b406e6b KVM: PPC: Book3S PR: return appropriate error when allocation fails
err was overwritten by a previous function call, and checked to be 0. If
the following page allocation fails, 0 is going to be returned instead
of -ENOMEM.

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
2013-08-28 16:26:33 +02:00
Chen Gang
5d226ae56f arch: powerpc: kvm: add signed type cast for comparation
'rmls' is 'unsigned long', lpcr_rmls() will return negative number when
failure occurs, so it need a type cast for comparing.

'lpid' is 'unsigned long', kvmppc_alloc_lpid() return negative number
when failure occurs, so it need a type cast for comparing.

Signed-off-by: Chen Gang <gang.chen@asianux.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
2013-08-28 16:23:35 +02:00
Paolo Bonzini
0912c9771e KVM: x86: add comments where MMIO does not return to the emulator
Support for single-step in the emulator (new in 3.12) does not work for
MMIO or PIO writes, because they are completed without returning to
the emulator.  This is not worse than what we had in 3.11; still, add
comments so that the issue is not forgotten.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
2013-08-28 17:15:54 +03:00
Paolo Bonzini
94452b9e34 KVM: vmx: count exits to userspace during invalid guest emulation
These will happen due to MMIO.

Suggested-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
2013-08-28 17:13:15 +03:00
Catalin Marinas
e25208f77c arm64: Fix mapping of memory banks not ending on a PMD_SIZE boundary
The map_mem() function limits the current memblock limit to PGDIR_SIZE
(the initial swapper_pg_dir mapping) to avoid create_mapping()
allocating memory from unmapped areas. However, if the first block is
within PGDIR_SIZE and not ending on a PMD_SIZE boundary, when 4K page
configuration is enabled, create_mapping() will try to allocate a pte
page. Such page may be returned by memblock_alloc() from the end of such
bank (or any subsequent bank within PGDIR_SIZE) which is not mapped yet.

The patch limits the current memblock limit to the aligned end of the
first bank and gradually increases it as more memory is mapped. It also
ensures that the start of the first bank is aligned to PMD_SIZE to avoid
pte page allocation for this mapping.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Reported-by: "Leizhen (ThunderTown, Euler)" <thunder.leizhen@huawei.com>
Tested-by: "Leizhen (ThunderTown, Euler)" <thunder.leizhen@huawei.com>
2013-08-28 10:47:00 +01:00
Tomi Valkeinen
5c61a05dac ARM: OMAP2+: Remove old display drivers from omap2plus_defconfig
The old display drivers are no longer used, and will be phased out. So
remove them from the omap2plus_defconfig.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:22 +03:00
Tomi Valkeinen
9dab02d9c6 ARM: OMAP: AM3517EVM: use new display drivers
Use new display drivers for AM3517EVM board.

The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.

Note: the management of LCD GPIOs is unclear. They were originally muxed
as inputs, and LCD_PANEL_PWR was labelled as "dvi enable".

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:22 +03:00
Tomi Valkeinen
d901ffa6a7 ARM: OMAP: Zoom: use new display drivers
Use new display drivers for Zoom board.

The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:22 +03:00
Tomi Valkeinen
9f2906b790 ARM: OMAP: Pandora: use new display drivers
Use new display drivers for OMAP3 Pandora board.

The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tested-by: Grazvydas Ignotas <notasas@gmail.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:21 +03:00
Tomi Valkeinen
eb11d29e97 ARM: OMAP: OMAP3EVM: use new display drivers
Use new display drivers for OMAP3EVM board.

The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:21 +03:00
Tomi Valkeinen
7a2950ccd6 ARM: OMAP: 3430SDP: use new display drivers
Use new display drivers for 3430SDP board.

The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:21 +03:00
Tomi Valkeinen
6970c01e46 ARM: OMAP: H4: use new display drivers
Use new display drivers for H4 board.

The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:21 +03:00
Tomi Valkeinen
fe0cf7d9f8 ARM: OMAP: cm-t35: use new display drivers
Use new display drivers for cm-t35 board.

The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:21 +03:00
Tomi Valkeinen
5508642379 ARM: OMAP: igep0020: use new display drivers
Use new display drivers for igep0020 board.

The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:21 +03:00
Tomi Valkeinen
07eb40bdac ARM: OMAP: omap3stalker: use new display drivers
Use new display drivers for OMAP3 Stalker board.

The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:20 +03:00
Tomi Valkeinen
f23248d4b7 ARM: OMAP: LDP: use new display drivers
Use new display drivers for LDP board.

The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:20 +03:00
Tomi Valkeinen
09bc6ff2d7 ARM: OMAP: 2430SDP: use new display drivers
Use new display drivers for 2430SDP board.

The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:20 +03:00
Tomi Valkeinen
c78fb21dec ARM: OMAP: devkit8000: use new display drivers
Use new display drivers for devkit8000 board.

The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:20 +03:00
Tomi Valkeinen
5302556cd4 ARM: OMAP: beagle: use new display drivers
Use the new display drivers for Beagleboard.

The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:20 +03:00
Tomi Valkeinen
2320dc6f9c ARM: OMAP: rx51: use new display drivers
Use the new display drivers for RX51 board.

The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tested-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:19 +03:00
Tomi Valkeinen
45a279c5ae ARM: OMAP: overo: use new display drivers
Use the new display drivers for OMAP3 Overo board.

The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.

Note that the LCD add-on boards for lcd43 and lcd35 use the same GPIOs
for the panels. This means that both panel devices cannot be probed at
the same time.

DT will handle this correctly, i.e. the DT data will contain the panel
device only for the add-on board that is attached. However, for the
board file we need a hackish solution: We parse the kernel boot command
line, and see whether lcd43 or lcd35 is set as a default display, and
add the given one. Or, if neither is given, default to lcd43.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:19 +03:00
Tomi Valkeinen
20d31345bd ARM: OMAP: 4430SDP: remove picodlp device data
4430SDP board has an option for a PicoDLP mini-projector. PicoDLP cannot
be used at the same time as the second LCD, and there are GPIOs that
need to be set/unset when changing the used display.

Managing that kind of board specific setup is not simple without board
file callbacks. As only some 4430SDP boards actually have the PicoDLP
installed, and 4430SDP boards are not that common in the first place,
let's remove PicoDLP data from the board file.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:19 +03:00
Tomi Valkeinen
7346582dd1 ARM: OMAP: dss-common: use new display drivers
Use the new display drivers for OMAP4 Panda and OMAP4 SDP boards.

The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:19 +03:00
Tomi Valkeinen
488e352b2b ARM: OMAP2+: Add selected display drivers to omap2plus_defconfig
Add some of the most common new display drivers to omap2plus_defconfig
to be built as modules.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:19 +03:00
Tomi Valkeinen
d14b97397a ARM: OMAP2+: Remove legacy DSS initialization for omap4
This is no longer needed as omap4 is now booted using device tree.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
2013-08-28 10:23:18 +03:00
Martin Schwidefsky
0628a5fbe1 s390/tx: allow program interruption filtering in user space
A user space program using the transactional execution facility
should be allowed to do program interrupt filtering. Do not set the
transactional-execution program-interruption-filtering override (PIFO)
bit in CR0.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2013-08-28 09:19:30 +02:00
Martin Schwidefsky
0196c642f7 s390/pgtable: fix mprotect for single-threaded KVM guests
For a single-threaded KVM guest ptep_modify_prot_start will not use
IPTE, the invalid bit will therefore not be set. If DEBUG_VM is set
pgste_set_key called by ptep_modify_prot_commit will complain about
the missing invalid bit. ptep_modify_prot_start should set the
invalid bit in all cases.

Cc: stable@vger.kernel.org # 3.10+
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2013-08-28 09:19:28 +02:00
Martin Schwidefsky
0587d409ec s390/time: return with irqs disabled from psw_idle
Modify the psw_idle waiting logic in entry[64].S to return with
interrupts disabled. This avoids potential issues with udelay
and interrupt loops as interrupts are not reenabled after
clock comparator interrupts.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2013-08-28 09:19:23 +02:00
Benjamin Herrenschmidt
83c93e2bdf powerpc/pseries: Move lparcfg.c to platforms/pseries
This file is entirely pseries specific nowadays, so move it out
of arch/powerpc/kernel where it doesn't belong anymore.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-08-28 11:20:54 +10:00
Benjamin Herrenschmidt
1042092167 Merge branch 'merge' into next
Merge recent fixes to lparcfg so subsequent patches can move
the whole file to arch/powerpc/platforms/pseries
2013-08-28 11:17:32 +10:00
Stephen Boyd
bfaddb7d13 msm_serial: Switch clock consumer strings and simplify code
In downstream kernel we've standardized the clock consumer names
that MSM device drivers use. Replace the uart specific clock
names in this driver with the more standard 'core' and 'iface'
names. Also simplify the code by assuming that clk_prepare_enable
and clk_disable_unprepare() will properly check for NULL pointers
(it will because MSM uses the common clock framework).

Cc: David Brown <davidb@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-08-27 16:22:58 -07:00
Sebastian Andrzej Siewior
2ae847a1b1 usb: musb: am335x: add second port to beagle bone
So I assumed that Beagle bone has only one USB port in host mode because
the micro USB connector had an USB-UART there. I was wrong a little. The
second port runs on host mode, but the micro USB plug is connected to an
internal HUB with two ports: one to the USB-UART and one to musb
instance one.
For that reason, this patch enables both ports: the primary in device
mode only and the second in host mode only.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2013-08-27 14:18:44 -05:00
Sebastian Andrzej Siewior
781f179830 usb: musb: am335x-evm: Do not remove the session bit HOST-only mode
This is what I observe:
On the first connect, the musb starts with DEVCTL.Session set. On
disconnect, musb_core calls try_idle. That functions removes the Session
bit signalizing that the session is over (something that only in OTG is
required). A new device, that is plugged, is no longer recognized.
I've setup a timer and checked the DEVCTL register and I haven't seen a
change in VBus and I saw the B-Device bit set. After setting the IDDIG
into A mode and forcing the device to behave like a A device, I didn't
see a change.
Neither VBUS goes to 0b11 nor does a session start request comes.
In the TI-v3.2 kernel they skip to call musb_platform_try_idle() in the
OTG_STATE_A_WAIT_BCON state while not in OTG mode.
Since the second port hast a standard A plug the patch changes the port
to run in host mode only and skips the timer which would remove
DEVCTL.Session so we can reconnect to another device later.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2013-08-27 14:18:41 -05:00
Sebastian Andrzej Siewior
c031a7d419 usb: usb: dsps: update code according to the binding document
This relfects the code and dts requires changes due to recent .dts
binding updates:
- use mg prefix for the Metor Graphics specific attributes
- use power in mA not in mA/2 as specifed in the USB2.0 specification
- remove the child node for USB. This is driver specific on won't be
  reflected in the device tree
- use the "mentor" prefix instead of "mg".
- use "dr_mode" istead of "mg,port-mode" for the port mode. The former
  is used by a few other drivers.

Cc: Rob Herring <rob.herring@calxeda.com>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: devicetree@vger.kernel.org
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2013-08-27 14:18:32 -05:00
Sebastian Andrzej Siewior
3b6394b4fa usb: musb: dsps fix the typo in reg-names of the dma node
I forgot to separete the different names in the reg-names property. This
didn't cause anything to fail because the driver does not use the names
and simply relies on the order of the memory offsets in reg.
This patch fixes this in case it is used later.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2013-08-27 14:18:17 -05:00
Linus Torvalds
0c6b5c5b45 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
Pull powerpc fixes from Ben Herrenschmidt:
 "Here are 3 bug fixes that should probably go into 3.11 since I'm also
  tagging them for stable.

  Once fixes our old /proc/powerpc/lparcfg file which provides partition
  informations when running under our hypervisor and also acts as a
  user-triggerable Oops when hot :-(

  The other two respectively are a one liner to fix a HVSI protocol
  handshake problem causing the console to fail to show up on a bunch of
  machines until we reach userspace, which I deem annoying enough to
  warrant going to stable, and a nasty gcc miscompile causing us to pass
  virtual instead of physical addresses to the firmware under some
  circumstances"

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
  powerpc/hvsi: Increase handshake timeout from 200ms to 400ms.
  powerpc: Work around gcc miscompilation of __pa() on 64-bit
  powerpc: Don't Oops when accessing /proc/powerpc/lparcfg without hypervisor
2013-08-27 10:09:22 -07:00
Mark Salter
c80b7ee852 arm64: move elf notes into readonly segment
The current vmlinux.lds.S places the notes sections between the
end of rw data and start of bss. This means that _edata doesn't
really point to the end of data. Since notes are read-only, this
patch moves them to the read-only segment so that _edata does
point to the end of initialized rw data.

Signed-off-by: Mark Salter <msalter@redhat.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2013-08-27 17:34:09 +01:00
Amit Daniel Kachhap
1e9fec0e40 ARM: EXYNOS: Skip C1 cpuidle state for exynos5440
This patch skips the deep C1(AFTR -Arm off top running) state for
exynos5440 SoC as this soc does not support this state. The cpu's
only allows the basic C0 state.
The C1 state is filtered by re-initialising the driver state_count
value to 1.

Suggested-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Amit Daniel Kachhap <amit.daniel@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-28 00:51:21 +09:00
Bartlomiej Zolnierkiewicz
08e594fc12 ARM: EXYNOS: always enable PM domains support for EXYNOS4X12
Currently PM domains support will be enabled for EXYNOS4X12 SoCs
only if EXYNOS4210 SoC or EXYNOS5250 SoC support is also enabled.

Fix it by explicitly selecting PM domains support (if PM support
is enabled) by SOC_EXYNOS4212 and SOC_EXYNOS4412 config options.

Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-28 00:48:15 +09:00
Rob Herring
e7dc079608 ARM: highbank: clean-up some unused includes
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
2013-08-27 07:51:43 -05:00
Marek Szyprowski
10bcdfb8ba ARM: init: add support for reserved memory defined by device tree
Enable reserved memory initialization from device tree.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Michal Nazarewicz <mina86@mina86.com>
Acked-by: Tomasz Figa <t.figa@samsung.com>
2013-08-27 10:53:45 +02:00
Joe Perches
8e33a52fad treewide: Fix printks with 0x%#
Using 0x%# emits 0x0x.  Only one is necessary.

Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2013-08-27 10:49:38 +02:00
Benjamin Herrenschmidt
13906db670 powerpc/powernv: Return secondary CPUs to firmware on kexec
With OPAL v3 we can return secondary CPUs to firmware on kexec. This
allows firmware to do various cleanups making things generally more
reliable, and will enable the "new" kernel to call OPAL to perform
some reconfiguration tasks early on that can only be done while
all the CPUs are in firmware.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-08-27 17:43:50 +10:00
Marek Szyprowski
a254738039 drivers: dma-contiguous: clean source code and prepare for device tree
This patch cleans the initialization of dma contiguous framework. The
all-in-one dma_declare_contiguous() function is now separated into
dma_contiguous_reserve_area() which only steals the the memory from
memblock allocator and dma_contiguous_add_device() function, which
assigns given device to the specified reserved memory area. This improves
the flexibility in defining contiguous memory areas and assigning device
to them, because now it is possible to assign more than one device to
the given contiguous memory area. Such split in initialization procedure
is also required for upcoming device tree support.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Michal Nazarewicz <mina86@mina86.com>
Acked-by: Tomasz Figa <t.figa@samsung.com>
2013-08-27 09:18:29 +02:00
Paul Mackerras
bdbc29c19b powerpc: Work around gcc miscompilation of __pa() on 64-bit
On 64-bit, __pa(&static_var) gets miscompiled by recent versions of
gcc as something like:

        addis 3,2,.LANCHOR1+4611686018427387904@toc@ha
        addi 3,3,.LANCHOR1+4611686018427387904@toc@l

This ends up effectively ignoring the offset, since its bottom 32 bits
are zero, and means that the result of __pa() still has 0xC in the top
nibble.  This happens with gcc 4.8.1, at least.

To work around this, for 64-bit we make __pa() use an AND operator,
and for symmetry, we make __va() use an OR operator.  Using an AND
operator rather than a subtraction ends up with slightly shorter code
since it can be done with a single clrldi instruction, whereas it
takes three instructions to form the constant (-PAGE_OFFSET) and add
it on.  (Note that MEMORY_START is always 0 on 64-bit.)

CC: <stable@vger.kernel.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-08-27 16:59:30 +10:00