Commit graph

39134 commits

Author SHA1 Message Date
Linus Torvalds
1f59fe7667 The ARM changes are largish, but not too scary. And a simple fix
for x86 (bug introduced in 3.19).
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQEcBAABAgAGBQJUy2ulAAoJEL/70l94x66D18kIAJhuh2k5Mt3TfP/zfhi2Y6ER
 IAZqyFODs8txZ3v432PB8yWWvr2XfJ3gwfjvurLygQJ3jCGZqDrmucbUUXzEaPUk
 mPnLpxV0ZEmNweS2HLGPX9HJ6zfsZ1dHRk55Tko9ynAO731q7yPjj6HC0th8wzvE
 BRv5y/18rY2zyar+5Azpj5wpOSllq0ynMgjWXGSlaTLbQoyvgZtzbqNY6nsAGrKw
 e8hSUPogfGUmZkBHHHVDYKpgHvWS1hARyuGFo8LeKXKPo7qhYxZHCDpch8TXnq2y
 21IvQfYddGpcMsaTroA5qyXFigxCX+1j3po6MS3ZH9GGXS5fC3sI8t0EDxKiO6Q=
 =O4X0
 -----END PGP SIGNATURE-----

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull KVM fixes from Paolo Bonzini:
 "The ARM changes are largish, but not too scary.  And a simple fix for
  x86 (bug introduced in 3.19)"

(Paolo sayus these are the "Final" fixes. We'll see).

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
  KVM: x86: check LAPIC presence when building apic_map
  arm/arm64: KVM: Use kernel mapping to perform invalidation on page fault
  arm/arm64: KVM: Invalidate data cache on unmap
  arm/arm64: KVM: Use set/way op trapping to track the state of the caches
2015-01-30 10:45:24 -08:00
Paolo Bonzini
02512b2bd6 Second round of fixes for KVM/ARM for 3.19.
Fixes memory corruption issues on APM platforms and swapping issues on
 DMA-coherent systems.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJUyrVCAAoJEEtpOizt6ddy/rgH/1gFfX3zGryDYwbFz2BbnMk8
 zJeQfeaOD4TF/6k8UZctrJatoqPgMCmVMAbT7uuZ+zwOYPYDGijGeJOYKS6IcIcj
 Lhl0QjbwBUaC58jZhhKGStZTKV2w9L7JK3RFStw+cE2HAAKcZQSVdfnM7ZoyyaRC
 qbFqPXLppSSZXD1R+/F17+mM8bogRmdS4we0o7J1KCT6hWbnK1CJkScxXLapbl5Y
 tKZSMM+k+L7wvgDnuzepTY+rFna3LSLQXNli0nPX9ByRFR4nMjeJKwm68kOaTU1r
 y1naOS3F6kl7S0OiCzyzekM4U330MAVmTyvlT9GHAHCVyjzavGQuuBFHdcdnvvc=
 =rJUG
 -----END PGP SIGNATURE-----

Merge tag 'kvm-arm-fixes-3.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master

Second round of fixes for KVM/ARM for 3.19.

Fixes memory corruption issues on APM platforms and swapping issues on
DMA-coherent systems.
2015-01-30 09:41:38 +01:00
Bartlomiej Zolnierkiewicz
712eddf702 cpuidle: exynos: add coupled cpuidle support for exynos4210
The following patch adds coupled cpuidle support for Exynos4210 to
an existing cpuidle-exynos driver.  As a result it enables AFTR mode
to be used by default on Exynos4210 without the need to hot unplug
CPU1 first.

The patch is heavily based on earlier cpuidle-exynos4210 driver from
Daniel Lezcano:

http://www.spinics.net/lists/linux-samsung-soc/msg28134.html

Changes from Daniel's code include:
- porting code to current kernels
- fixing it to work on my setup (by using S5P_INFORM register
  instead of S5P_VA_SYSRAM one on Revison 1.1 and retrying poking
  CPU1 out of the BOOT ROM if necessary)
- fixing rare lockup caused by waiting for CPU1 to get stuck in
  the BOOT ROM (CPU hotplug code in arch/arm/mach-exynos/platsmp.c
  doesn't require this and works fine)
- moving Exynos specific code to arch/arm/mach-exynos/pm.c
- using cpu_boot_reg_base() helper instead of BOOT_VECTOR macro
- using exynos_cpu_*() helpers instead of accessing registers
  directly
- using arch_send_wakeup_ipi_mask() instead of dsb_sev()
  (this matches CPU hotplug code in arch/arm/mach-exynos/platsmp.c)
- integrating separate exynos4210-cpuidle driver into existing
  exynos-cpuidle one

Cc: Colin Cross <ccross@google.com>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Cc: Tomasz Figa <tomasz.figa@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-01-30 08:39:15 +09:00
Bartlomiej Zolnierkiewicz
865e8b76a0 ARM: EXYNOS: apply S5P_CENTRAL_SEQ_OPTION fix only when necessary
Commit c2dd114d24 ("ARM: EXYNOS: fix register setup for AFTR mode
code") added S5P_CENTRAL_SEQ_OPTION register setup fix for all
Exynos SoCs to AFTR mode code-path.  It turned out that for coupled
cpuidle AFTR mode on Exynos4210 (added by the next patch) applying
this fix causes lockup so enable it in the AFTR mode code-path only
on SoCs that require it (in the suspend code-path it can be always
applied like it was before commit c2dd114d24 ("ARM: EXYNOS: fix
register setup for AFTR mode code")

Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Colin Cross <ccross@google.com>
Cc: Tomasz Figa <tomasz.figa@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-01-30 08:38:52 +09:00
Heiko Stuebner
c25d8cbcd8 ARM: dts: rockchip: move the hdmi ddc-i2c-bus property to the actual boards
Currently the hdmi driver is using one of the soc i2c busses for ddc probing
and while documentation always specifies i2c5 as hdmi-i2c it could very well
be any other bus as well.

Therefore this is a property of the board and should be specified there.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-01-30 00:10:59 +01:00
Heiko Stuebner
863b76b2b5 ARM: dts: rockchip: enable vops and hdmi output on rk3288-firefly and -evb
This enables the recently added display nodes on the firefly and evb,
letting the boards output graphic data over the hdmi port.

This includes enabling of i2c5 on the evb that is used for ddc probing and
setting the lcd-regulators to always on until the hdmi driver learns
about using them.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-01-30 00:10:55 +01:00
Marc Zyngier
0d3e4d4fad arm/arm64: KVM: Use kernel mapping to perform invalidation on page fault
When handling a fault in stage-2, we need to resync I$ and D$, just
to be sure we don't leave any old cache line behind.

That's very good, except that we do so using the *user* address.
Under heavy load (swapping like crazy), we may end up in a situation
where the page gets mapped in stage-2 while being unmapped from
userspace by another CPU.

At that point, the DC/IC instructions can generate a fault, which
we handle with kvm->mmu_lock held. The box quickly deadlocks, user
is unhappy.

Instead, perform this invalidation through the kernel mapping,
which is guaranteed to be present. The box is much happier, and so
am I.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2015-01-29 23:24:57 +01:00
Marc Zyngier
363ef89f8e arm/arm64: KVM: Invalidate data cache on unmap
Let's assume a guest has created an uncached mapping, and written
to that page. Let's also assume that the host uses a cache-coherent
IO subsystem. Let's finally assume that the host is under memory
pressure and starts to swap things out.

Before this "uncached" page is evicted, we need to make sure
we invalidate potential speculated, clean cache lines that are
sitting there, or the IO subsystem is going to swap out the
cached view, loosing the data that has been written directly
into memory.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2015-01-29 23:24:56 +01:00
Marc Zyngier
3c1e716508 arm/arm64: KVM: Use set/way op trapping to track the state of the caches
Trying to emulate the behaviour of set/way cache ops is fairly
pointless, as there are too many ways we can end-up missing stuff.
Also, there is some system caches out there that simply ignore
set/way operations.

So instead of trying to implement them, let's convert it to VA ops,
and use them as a way to re-enable the trapping of VM ops. That way,
we can detect the point when the MMU/caches are turned off, and do
a full VM flush (which is what the guest was trying to do anyway).

This allows a 32bit zImage to boot on the APM thingy, and will
probably help bootloaders in general.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2015-01-29 23:24:56 +01:00
Heiko Stuebner
9fffa7ad0d ARM: dts: rockchip: housekeeping off i2c0 on rk3288-evb boards
Use the same transfer speed on both the rk808 and act8846 variants and
remove the status=okay from the rk808 one which is already set in the
shared rk3288-evb.dtsi .

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-01-29 23:21:15 +01:00
Heiko Stuebner
5bbb50d5a2 ARM: dts: rockchip: add cpu and gpu regulators to rk3288-evb-act8846
The evaluation board using the act8846 as main pmic uses two additional
regulators to provide the cpu and gpu voltage. Add these and also add
the link to cpu supply from vdd_cpu.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Daniel Lezcano <daniel.lezcano@linaro.org>
2015-01-29 23:20:47 +01:00
Olof Johansson
ee481c84fa Merge tag 'zynq-soc-for-3.20' of https://github.com/Xilinx/linux-xlnx into next/soc
Merge "Zynq SoC changes for 3.20" from Michal Simek:

arm: Xilinx Zynq SoC patches for v3.20

- Enable pincontrol
- Simplified SLCR initialization
- Setup default ARCH_NR_GPIO

* tag 'zynq-soc-for-3.20' of https://github.com/Xilinx/linux-xlnx:
  ARM: zynq: Simplify SLCR initialization
  ARM: zynq: PM: Fixed simple typo.
  ARM: zynq: Setup default gpio number for Xilinx Zynq
  ARM: zynq: Enable pinctrl

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-29 14:08:04 -08:00
Olof Johansson
7679f31f14 arm: Xilinx Zynq dt patches for v3.20
- Add USB chipidea driver to DT
 - Add pincontrol
 - Add aliases node
 - Fix WDT node
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iEYEABECAAYFAlTKRKUACgkQykllyylKDCFdaQCghATSNR0DjT8Nj1aPTxr868KZ
 rx8An3sIUG5K/kj/Ccfn2Eq5wjautNef
 =hnva
 -----END PGP SIGNATURE-----

Merge tag 'zynq-dt-for-3.20' of https://github.com/Xilinx/linux-xlnx into next/dt

Merge "Zync DT for v3.20" from Michal Simek:

arm: Xilinx Zynq dt patches for v3.20

- Add USB chipidea driver to DT
- Add pincontrol
- Add aliases node
- Fix WDT node

* tag 'zynq-dt-for-3.20' of https://github.com/Xilinx/linux-xlnx:
  ARM: zynq: DT: Add aliases node
  ARM: zynq: DT: Fix binding for cadence WDT
  ARM: zynq: DT: Add pinctrl information to USB nodes
  ARM: zynq: DT: Remove bogus value from 'bias-disable' property
  ARM: zynq: DT: Add pinctrl information
  ARM: zynq: DT: Add USB to device tree

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-29 14:03:28 -08:00
Olof Johansson
467f7ad9f4 Renesas ARM Based SoC Defconfig Fixes for v3.20
* Select CONFIG_REGULATOR in mach_shmobile defconfig once again
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUyYSiAAoJENfPZGlqN0++FOUP/js8f1R4MsI14U2PlvDojDcz
 laI0Uad2uaSh9PK1ibMxoCvHFewmkUxsixO1ei5FJRgRd+Fgahy7wVaaU1cwqHOG
 b4PvpQD65bYY7UX8Kac06wOc258LQcYYhzIPn4OlQg85FprpiYLjJFik5qUvyTxH
 /igU+eXISJTXGr2l5PvLRAIbetJTYKR+pTElz6DWL9DOQmoBqLyLcg4Yj/puahg9
 ZoNQrzXHSs3H6UFF6MIRh+jvZfNlcsY3RxeI7d/vUxgAAP9iI1MPTdA7VLMYE3DU
 eCJu1lGyE1mwLKb/slgVbvqo4fvBlr6IXRBrK2X41Sd/KI6Hs3lYtht5z3Uu4xz1
 bebghe+YaKYaSvt1K9TibmXYpjEf//PGdLzF4554VMjbX+sShEn54WP3ySxL8SoD
 RcnyI2PgLza/aDKp7DILtw5me+PyO1TrTOKA973eU+Uenoz8zQQREAVna7fOtd3L
 UwUcrzYI8PnZWjrhJ5JrgxHdp8zwNe4QME2Xz0RTBHN4XI91DC955MtN8ZZDabkR
 n6Y62nUdGBd0b4OFmmSJup87w5rP2+AMj+HKQaH1WN6sBh6+cX6fxKfZhDq4MYR2
 v1Ckiso3i+U+86xc5L/oX/x1Ecf6G3qCvFEDnj+OOZwfKnT8oKqJQcpnPacLeUuk
 N5xkCsoQg9+ST8XduDH/
 =joof
 -----END PGP SIGNATURE-----

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

Merge "Renesas ARM Based SoC Defconfig Fixes for v3.20" from Simon Horman:

* Select CONFIG_REGULATOR in mach_shmobile defconfig once again

* tag 'renesas-defconfig-fixes-for-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Select CONFIG_REGULATOR in defconfig once again

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-29 13:58:33 -08:00
Olof Johansson
1215c3e65a Samsung 3rd DT updates for v3.20
- add DISP1 power domain for support HDMI support on exynos5420/5422/5800
   and the power domain node including FIMD1, MIXER and HDMI modules
   (tested on exynos5420 Peach Pit and exynos5800 Peach Pi Chromebooks
   and exynos5422 Odroid XU3 by Javier Martinez Canillas)
 
 Note this is including a patch for adding clock IDs for the DISP1 power
 domain with Mike and Sylwester's acks so that could be handled together
 to avoid non-working.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJUyXrPAAoJEA0Cl+kVi2xqxRgP/3+NBTV3qWQ6+pYTl4kCebIz
 6lCmjgMeLZFfqRT420ouK1w7K0ra2eeeLX1GNZHOayzzBfFEJfR7GL6GMh40NqHy
 qs5CtAGTDlwb8ZSIECBcklABXICE6nujl9lqa3WD1vjwJy9Zug/3BUYfSlxwJap6
 Uzrw1tGt+k7WcHWWSyC8FCsK8gpvxb5cAIcBYTRPrxwHcGGeVfvn4IFBcz5eYMsz
 EttmkxXOVcpVJ90c+iSyrLSVuc+YH0m+ITrYj0/EjlzJzlQQ1NKjBg+eUnWU9Zef
 L7bZp3r4ZWU1FYNzQuuUXaEwSfSzGJ2icKLmX5nmcH5XPSBWPTYRDEIJe2fX7j+X
 1zhxi992LvZysIgJrfPJf8N6vsOeKc2mfz/65YLjcbSpFX7Qe5hISlMIRAWYT/69
 IqVsH0E05VvXtpFKfSlfapsztAmfVsaRZwsHhvmMEZdzUatJehQAn2t5gftZQ0iu
 9/z1HD3uszZWPghbRuFBalmgWB8WEhF8yhiIRBx1o/ML7DAcdLtrZ2HrSobjnBYz
 APnxZAU6s4QwAAk5bQCN7p3jPqSnZUakg1ETeXf3j1qvfWhTmKcYPggYDtfb2Nou
 tIwJdY3VAJWC+9n/4pKw5OKsCdE/34DUdT9rkuIBhO+AbRpeGkztSVJmBRU4bGQM
 1yVwptBrUybxDLqM4Lad
 =9Imn
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt

Merge "Samsung 3rd DT updates for v3.20" from Kukjin Kim:

- add DISP1 power domain for support HDMI support on exynos5420/5422/5800
  and the power domain node including FIMD1, MIXER and HDMI modules
  (tested on exynos5420 Peach Pit and exynos5800 Peach Pi Chromebooks
  and exynos5422 Odroid XU3 by Javier Martinez Canillas)

Note this is including a patch for adding clock IDs for the DISP1 power
domain with Mike and Sylwester's acks so that could be handled together
to avoid non-working.

* tag 'samsung-dt-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: dts: Add DISP1 power domain for exynos5420
  clk: exynos5420: Add IDs for clocks used in DISP1 power domain

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-29 13:57:19 -08:00
Olof Johansson
a35306d3ad Samsung 2nd DT updates for v3.20
- for all of Samsung SoCs
   : use generic power domain bindings
   : add 'dr_mode' property for hsotg/dwc2 devices
 
 - exynos3250-rinato and exynos3250-monk
   : add regulator-haptic
 
 - exynos5422-odroidxu3
   : reduce total RAM by 22 MiB because last 22 MiB
     for secure monitor cannot be accessed by kernel
   : add on-board INA231 sensors and LDO26 of PMIC
     for the sensors
 
 Note that this is based on tags/samsung-dt
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJUyXYCAAoJEA0Cl+kVi2xqZCMP/2B41IOspFq1wAbCLGNDT3sU
 sc1z7FR0OSXGVTsIkAQk1dIj9KpEKaygDezF1/3q/csc7lCFWoDDwdTR+zzatrzH
 cOyZnecMW/OOzzavc/qbUIfaJQjXwG1MNsdED44taJGJngG3NPvOmJJtA9HBPCPQ
 Fv9gmZF/PnstOl2I5exx3mznPIf7LRysHezj6rjbIO5R7znMcc56IegTQm59jY8+
 8i1njDINAhVDWGaLHAhDGy5gLEMHI5lST+NP0M9dnSf6pN53Ua20wPEsn5SJ7vRw
 Rn6frmZr/lIbKz0JlZtoU+QEcLUiJB7/ZYfKJGzKI5KmF9T3q+Rv+Su+JbGnQciL
 3EUy3lh/NDqW6Vvuy+G5UAg5lZ39Pt7BE/F6a0hT1GvRKYnsnY2XfTkIibmD8VDr
 0kLPJESKt1z8x5bowlBKlYe6sxU3/x2bYWBpAg0wMbt7oOz99w4kTgxNaJmiyL7y
 gda3IXWTkJ9z3sncW9UCbJBpgKM/+9+t6QFOszrXK0Upqz2qPi31levKV8XCwBzW
 h0SVULdmxRRm+u5z80++xXaeZ4dmKvQPFV9GJsCj2RGlFGWIi76SwGUZWANZFPAz
 g84ApMMvD8uvCJJoPw+gpocesEHckzFHhvbMHT6ctU2QW0JysbJ58vXHvXjc9zNO
 2VZnOAFYQq6fw6MiuUfE
 =DGVz
 -----END PGP SIGNATURE-----

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

Merge "Samsung 2nd DT updates for v3.20" from Kukjin Kim:

- for all of Samsung SoCs
  : use generic power domain bindings
  : add 'dr_mode' property for hsotg/dwc2 devices

- exynos3250-rinato and exynos3250-monk
  : add regulator-haptic

- exynos5422-odroidxu3
  : reduce total RAM by 22 MiB because last 22 MiB
    for secure monitor cannot be accessed by kernel
  : add on-board INA231 sensors and LDO26 of PMIC
    for the sensors

* tag 'samsung-dt-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: dts: reduce total RAM by 22 MiB for exynos5422-odroidxu3
  ARM: dts: add on-board INA231 sensors for exynos5422-odroidxu3
  ARM: dts: Add regulator-haptic node for exynos3250-monk
  ARM: dts: Add regulator-haptic node for exynos3250-rinato
  ARM: dts: add 'dr_mode' property to hsotg devices for exynos boards
  ARM: dts: convert to generic power domain bindings for exynos DT

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-29 13:54:26 -08:00
Olof Johansson
ff6a8168d2 Samsung mach updates for v3.20
- add exynos3250 Supsend to RAM support
 - recognize MFC v8 devices for exynos5422/5800
 - print CPU id/rev during kernel boot
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJUyXuOAAoJEA0Cl+kVi2xqOrwP/3MkfdxApwSVKGo7eg7xNA8i
 YJNDQM0Fdb1sTIxLD1ZJvz8rso1If/0wHkuWkmfje8zOoBEvL4C6jQq33KvWvtlS
 v5FqRjjvU8zz2wUBGu9cNkET3M6rKiiMANw8FiZJvVQa3RGL9WtFYtADZxJOy04Y
 ucbIGjJuha2oHrgWMNTW1OJUIvuJ3x8YGLUdDZVOffUMBqQxrz6UIun6juy/Xjio
 l8Gx9TJUhAmgMBzEhOV0BCfMWbdhLDZbq6ivfyUL19C5Y1lD6VbNlu2U26dVUQL5
 bL3ZJ3F6NZbxQRwsj1TgesJzA6d293N1nFOOvHX3n/lU6vp3E2G+s6MpkC2Jm6xi
 V9n6iowqkLkLPTCMroVggdWMN0FkVPm37peRFi1+xtLYKfJLYfNz9i2qGYJtJtpz
 Qc+yJOai/mRLhRBPA3UeoOMeWhQgs6asIUAamEDPg2fUiaOqlZUESnjNaJyXuYDS
 py/jMQexc0+TAkBiC2lRAYo0yunWaJhNaYyVkLBhyi6LBJieqCRpwrDAaCSBrCoK
 1FZaAmIo9cuhDxtIOy7vs4Y7z/PWvwTFrzL643IDwwlKr3cL0PE7+2zGLdtH8BTH
 HhtzlKGX1P9DdU6B7uBv5F8/33ZaolS8GRf8W+J2kpKzCOnd7AZ1kXvI2DgrHpUC
 oqUfn++rh1gafzTpB5Qm
 =MZnm
 -----END PGP SIGNATURE-----

Merge tag 'samsung-update' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/soc

Merge "Samsung mach updates for v3.20" from Kukjin Kim:

- add exynos3250 Supsend to RAM support
- recognize MFC v8 devices for exynos5422/5800
- print CPU id/rev during kernel boot

* tag 'samsung-update' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: EXYNOS: Add exynos3250 suspend-to-ram support
  ARM: EXYNOS: Recognize Samsung MFC v8 devices
  ARM: SAMSUNG: print CPU id on probe

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-29 13:53:47 -08:00
Olof Johansson
d073d7a146 Samsung cleanup for v3.20
- remove i2c sys configuration from mach-exynos/
   : all related codes moved into i2c driver
 - remove Samsung specific DMA
   : every Samsung stuff uses dmaengine APIs
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJUyXM3AAoJEA0Cl+kVi2xqn8MP/jDl9Jgx94dvLoj+jZxrN/QL
 qm4ZbhWnQ+DCv6B8GSgkwljWTpQazqUztft1FXpjKUW3p2VoQHugb0a62jySx6vG
 VKCxLsZh95Zj7ZL1q18v1HO7zrAm/TdWl7H+j55jATfQVQGmHeiFTkyHBYVmicHU
 /HMwT3C42oJEiz58BPs0uoM5Pfm+2cV8J4yj2VMIQXLx5y52+Ic0s228yJxqWYuO
 Nm7RGMW5oJwkgAli2ug0VqMUYGVg4otiNqoXIl9DP1B+yhdvEsXrkPcDNvTqgJBU
 nq+ho3X2qFM+ETMi80QA4YNq/MM5Ns3cqwMprVTeAvMe8xJqjL3FpSc3eDQRRhHq
 LHn0eUhwOj4xWa5d/dku6Onp1UOBSqvuURj30Vg2OXMwwBa/DD5g3sihmvBXUdVa
 Bd8QEWl9gcVTXqjRb3V2X9UdID3EZMongAohzAqi/ailb8kFmdGPOt7EZsPGa4ZA
 YkxR/KvcLMEjClwGVDH9x7vJq8rONSi+zWhE3MbBMjyj4quUv4tzMUb2Bl2dkrma
 lrpberjceQ2gLIRFC8fy5JoL4sNfIT3JcCpLCRMZXK9SbWx7UjdV3Ni8m04ldwJt
 +Jjoh2qiZ/wsFH++RyJ2K3yrntcGhzqe/wfm1ZB6dGe0W/XRIOb/dq9vBODbX/9W
 yl99BuYWxUZw9aHPfRp2
 =2/ZU
 -----END PGP SIGNATURE-----

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

Merge "Samsung cleanup for v3.20" from Kukjin Kim:

- remove i2c sys configuration from mach-exynos/
  : all related codes moved into i2c driver
- remove Samsung specific DMA
  : every Samsung stuff uses dmaengine APIs

* tag 'samsung-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: SAMSUNG: remove unused DMA infrastructure
  ARM: EXYNOS: Remove i2c sys configuration related code

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-29 13:52:52 -08:00
Baruch Siach
436d3b13fc ARM: digicolor: select syscon and timer
The digicolor interrupt controller driver now needs syscon.

Also, as per clocksource maintainer request, we now have a separate config
symbol, CONFIG_DIGICOLOR_TIMER, for the digicolor timer.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-29 13:52:06 -08:00
Baruch Siach
1e4cd7e52b ARM: digicolor: add minimal device tree description
cx92755.dtsi describes CX92755 on chip peripherals. cx92755_equinox.dts
describes the Equinox evaluation board for the CX92755 SoC.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-29 13:51:42 -08:00
Laurent Pinchart
eab8d6530c arm: dma-mapping: Set DMA IOMMU ops in arm_iommu_attach_device()
Commit 4bb25789ed ("arm: dma-mapping: plumb our iommu mapping ops
into arch_setup_dma_ops") moved the setting of the DMA operations from
arm_iommu_attach_device() to arch_setup_dma_ops() where the DMA
operations to be used are selected based on whether the device is
connected to an IOMMU. However, the IOMMU detection scheme requires the
IOMMU driver to be ported to the new IOMMU of_xlate API. As no driver
has been ported yet, this effectively breaks all IOMMU ARM users that
depend on the IOMMU being handled transparently by the DMA mapping API.

Fix this by restoring the setting of DMA IOMMU ops in
arm_iommu_attach_device() and splitting the rest of the function into a
new internal __arm_iommu_attach_device() function, called by
arch_setup_dma_ops().

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-29 10:56:27 -08:00
Murali Karicheri
dbbfae701a ARM: config: add DEVTMPFS option by default to keystone config
When using network driver on keystone and nfs rootfs is used following
error displayed and device halts.

Missing devtmpfs, which is required for udev to run
Halting...

Add the DEVTMPFS option by default to fix this

Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2015-01-29 09:00:20 -08:00
Dmitry Eremin-Solenikov
e461894dc2 ARM: 8284/1: sa1100: clear RCSR_SMR on resume
StrongARM core uses RCSR SMR bit to tell to bootloader that it was reset
by entering the sleep mode. After we have resumed, there is little point
in having that bit enabled. Moreover, if this bit is set before reboot,
the bootloader can become confused. Thus clear the SMR bit on resume
just before clearing the scratchpad (resume address) register.

Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-01-29 15:24:53 +00:00
Dmitry Eremin-Solenikov
1ff990c018 ARM: 8283/1: sa1100: collie: clear PWER register on machine init
Let kernel drivers to control wakeup sources instead of hardcoding them
in the collie.c board file.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-01-29 15:24:52 +00:00
Dmitry Eremin-Solenikov
364e386917 ARM: 8282/1: sa1100: use handle_domain_irq
Use handle_domain_irq instead of handle_IRQ to automatically map
hardware irq number to virq.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-01-29 15:24:50 +00:00
Dmitry Eremin-Solenikov
a0ea298d32 ARM: 8281/1: sa1100: move GPIO-related IRQ code to gpio driver
As a part of driver consolidation, move GPIO-related IRQ code to
drivers/gpio/gpio-sa1100.c. The code does not use GPIOLIB_IRQCHIP (yet),
because sa1100 does not have a device for gpios, which is a requirement
for GPIOLIB_IRQCHIP. This will be the next step.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-01-29 15:24:49 +00:00
Dmitry Eremin-Solenikov
a82be3f0f1 ARM: 8280/1: sa1100: switch to irq_domain_add_simple()
As now both SC and GPIO irq domains start from 0 hwirq and do not
contain holes, switch to using irq_domain_add_simple() instead of
irq_domain_add_legacy().

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-01-29 15:24:48 +00:00
Dmitry Eremin-Solenikov
590f266106 ARM: 8279/1: sa1100: merge both GPIO irqdomains
Now there is no difference between low and high GPIO irqdomains. Merge
them into single irqdomain handling all GPIOs.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-01-29 15:24:47 +00:00
Dmitry Eremin-Solenikov
83508093f4 ARM: 8278/1: sa1100: split irq handling for low GPIOs
Low GPIO pins use an interrupt in SC interrupts space. However it's
possible to handle them as if all the GPIO interrupts are instead tied
to single GPIO handler, which later decodes GEDR register and
chain-calls next IRQ handler. So split first 11 interrupts into system
part (IRQ_GPIO0_SC - IRQ_GPIO10_SC) which work exactly like the rest of
system controller interrupts and real GPIO interrupts
(IRQ_GPIO0..IRQ_GPIO10). A single handler sa1100_gpio_handler then
decodes and calls next handler.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-01-29 15:24:46 +00:00
Arnd Bergmann
fba289054f ARM: 8298/1: ARM_KERNMEM_PERMS only works with MMU enabled
The recently added ARM_KERNMEM_PERMS feature works by manipulating
the kernel page tables, which obviously requires an MMU. Trying
to enable this feature when the MMU is disabled results in a lot
of compile errors in mm/init.c, so let's add a Kconfig dependency
to avoid that case.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-01-29 15:23:31 +00:00
Rob Herring
ed46092518 ARM: 8295/1: fix v7M build for !CONFIG_PRINTK
Minimal builds for v7M are broken when printk is disabled. The caller is
assembly so add the necessary ifdef around the call.

Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-01-29 15:23:12 +00:00
Nicolas Pitre
c2607f74aa ARM: 8294/1: ATAG_DTB_COMPAT: remove the DT workspace's hardcoded 64KB size
There is currently a hardcoded limit of 64KB for the DTB to live in and
be extended with ATAG info.  Some DTBs have outgrown that limit:

$ du -b arch/arm/boot/dts/omap3-n900.dtb
70212   arch/arm/boot/dts/omap3-n900.dtb

Furthermore, the actual size passed to atags_to_fdt() included the stack
size which is obviously wrong.

The initial DTB size is known, so use it to size the allocated workspace
with a 50% growth assumption and relocate the temporary stack above that.
This is also clamped to 32KB min / 1MB max for robustness against bad
DTB data.

Reported-by: Pali Rohár <pali.rohar@gmail.com>
Tested-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-01-29 15:23:01 +00:00
Will Deacon
c2273a1853 ARM: 8288/1: dma-mapping: don't detach devices without an IOMMU during teardown
When tearing down the DMA ops for a device via of_dma_deconfigure, we
unconditionally detach the device from its IOMMU domain. For devices
that aren't actually behind an IOMMU, this produces a "Not attached"
warning message on the console.

This patch changes the teardown code so that we don't detach from the
IOMMU domain when there isn't an IOMMU dma mapping to start with.

Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-01-29 15:22:44 +00:00
Michal Simek
3329659df0 ARM: zynq: Simplify SLCR initialization
Based on
"mfd: syscon: Decouple syscon interface from platform devices"
(sha1: bdb0066df9)
SLCR driver can use syscon/regmap drivers directly.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-01-29 15:38:17 +01:00
Moritz Fischer
bb9cac24d7 ARM: zynq: PM: Fixed simple typo.
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-01-29 15:38:09 +01:00
Michal Simek
6a4d8f36dd ARM: zynq: Setup default gpio number for Xilinx Zynq
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-01-29 15:37:38 +01:00
Rob Herring
61dc485b90 ARM: integrator: Convert PCI to use generic config accessors
Convert the integrator PCI driver to use the generic config access
functions.

This changes accesses from __raw_readX/__raw_writeX to readX/writeX
variants.  The spinlock is removed because it is unnecessary.  The config
read and write functions are already protected with a spinlock and no
access can occur during the .pre_init function.

[arnd: remove unused "flags"]
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
CC: Russell King <linux@arm.linux.org.uk>
CC: linux-arm-kernel@lists.infradead.org
2015-01-29 08:34:42 -06:00
Rob Herring
daeea28793 ARM: dts: versatile: add PCI controller binding
Add the PCI controller node for the Versatile/PB board.

Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
CC: Russell King <linux@arm.linux.org.uk>
2015-01-29 08:33:03 -06:00
Kai Huang
3b0f1d01e5 KVM: Rename kvm_arch_mmu_write_protect_pt_masked to be more generic for log dirty
We don't have to write protect guest memory for dirty logging if architecture
supports hardware dirty logging, such as PML on VMX, so rename it to be more
generic.

Signed-off-by: Kai Huang <kai.huang@linux.intel.com>
Reviewed-by: Xiao Guangrong <guangrong.xiao@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-01-29 15:30:38 +01:00
Rob Herring
35a8578e8b dts: versatile: Add sysregs node
The Versatile boards have the same sysregs as other ARM Ltd boards. Add
the nodes in order to enable support for 24MHz counter as sched_clock.

This is a minimal node definition as the existing sub node definition
used on VExpress has some issues raised by Linus W.

Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
2015-01-29 14:02:16 +01:00
Daniel Lezcano
468b8c4cf3 clockevents: rockchip: Add rockchip timer for rk3288
The rk3288 board uses the architected timers and these ones are shutdown when
the cpu is powered down. There is a need of a broadcast timer in this case to
ensure proper wakeup when the cpus are in sleep mode and a timer expires.

This driver provides the basic timer functionnality as a backup for the local
timers at sleep time.

The timer belongs to the alive subsystem. It includes two programmables 64 bits
timer channels but the driver only uses 32bits. It works with two operations
mode: free running and user defined count.

Programing sequence:

1. Timer initialization:
 * Disable the timer by writing '0' to the CONTROLREG register
 * Program the timer mode by writing the mode to the CONTROLREG register
 * Set the interrupt mask

2. Setting the count value:
 * Load the count value to the registers COUNT0 and COUNT1 (not used).

3. Enable the timer
 * Write '1' to the CONTROLREG register with the mode (free running or user)

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
2015-01-29 14:02:13 +01:00
Magnus Damm
77cf5166f2 ARM: shmobile: r8a7790: Instantiate GIC from C board code in legacy builds
As of commit 9a1091ef00 ("irqchip: gic: Support hierarchy irq
domain."), the Lager legacy board support is known to be broken.

The IRQ numbers of the GIC are now virtual, and no longer match the
hardcoded hardware IRQ numbers in the legacy platform board code.

To fix this issue specific to non-multiplatform r8a7790 and Lager:
 1) Instantiate the GIC from platform board code and also
 2) Skip over the DT arch timer as well as
 3) Force delay setup based on DT CPU frequency

With these 3 fixes in place interrupts on Lager are now unbroken.

Partially based on legacy GIC fix by Geert Uytterhoeven, thanks to
him for the initial work.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-01-29 17:52:38 +09:00
Magnus Damm
974b072f71 ARM: shmobile: r8a73a4: Instantiate GIC from C board code in legacy builds
As of commit 9a1091ef00 ("irqchip: gic: Support hierarchy irq
domain."), the APE6EVM legacy board support is known to be broken.

The IRQ numbers of the GIC are now virtual, and no longer match the
hardcoded hardware IRQ numbers in the legacy platform board code.

To fix this issue specific to non-muliplatform r8a73a4 and APE6EVM:
 1) Instantiate the GIC from platform board code and also
 2) Skip over the DT arch timer as well as
 3) Force delay setup based on DT CPU frequency

With these 3 fixes in place interrupts on APE6EVM are now unbroken.

Partially based on legacy GIC fix by Geert Uytterhoeven, thanks to
him for the initial work.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-01-29 09:34:51 +09:00
Javier Martinez Canillas
ea08de16eb ARM: dts: Add DISP1 power domain for exynos5420
The DISP1 power domain on Exynos5420 SoC includes the FIMD1, MIXER
and HDMI modules. Add a device node for this power domain and mark
these modules as consumer of the DISP1 power domain.

When a power domain is powered on and off, the input clocks of the
devices attached to it are reparented. So a reference to the input
and parent clocks of the devices are needed to manage that.

Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-01-29 08:52:23 +09:00
Olof Johansson
764e2c70ef The previous fix for Armada XP, disabling I/O coherency, broke Armada
375/38x.  Only switch the PL310 to I/O coherent mode if I/O coherency
 is enabled.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABCAAGBQJUyRueAAoJEOa/DcumaUyEvqAP/AuTbrPtd7LeiZBvCfEBBs+C
 bDT+TjksyMBMZEjQ4OFNQTj4NSLsL4RqfUrfTFkg6RJ0pjviD80saNkfKy8bByPR
 WduY4AhSgks07YI79Nu8cKGUO/iEuxztnCZQWi5b5wNideY9z+Ta3k46Z26VfRwc
 NCQsT2PLKpVmTnIlhi6ilLHsqRAwsV0An+swEyAZXVBAbfKpoWOHxrfR7wVO9oSa
 3dFmnxFcF3/pavtIbL5wIHkGSsjlSi8sdCvieWdf186p8ubuV5TNyuRme0msbaAf
 JBJCNorSepP9vNCb2cCaEOcq+/A/f3NZAX256zGHcyvg6B9Ntq324MVj0sZd+dSo
 nAeJYQvgwD10HvZGj4kCAL11Fc45chnGoo1iPGuxvzF6nKI5liINMnAmU8VPhnZX
 swL3M2k69T14QutS+FbEN/6RGOQAWHZoXQ5YxFwFqei2I7j7g0QJvemwrfFkTwQj
 bPyOE2op6fPpgJyGedM5icU8KesCkORNuu0lRWT9v5rU51epwdna3lcProtuBOA2
 fq/WXb0mC/poyToIEJJZHOLJU7jZy2D+WMKBpu3imiKYBv29qShT9Mah22msySfY
 YY9luHCQMWuT5zVVNFA/SMa8sQbpfxbNngen3iW79WK3LHVP9B6I/dfrn3F/BXXq
 qtYwwNYQqf9kuI0nyy1H
 =qzYQ
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-fixes-3.19-6' of git://git.infradead.org/linux-mvebu into fixes

Merge "mvebu-fixes-6" from Andrew Lunn:

The previous fix for Armada XP, disabling I/O coherency, broke Armada
375/38x.  Only switch the PL310 to I/O coherent mode if I/O coherency
is enabled.

* tag 'mvebu-fixes-3.19-6' of git://git.infradead.org/linux-mvebu:
  ARM: mvebu: don't set the PL310 in I/O coherency mode when I/O coherency is disabled

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-28 14:59:33 -08:00
Javier Martinez Canillas
49d3f3ccf4 ARM: multi_v7_defconfig: Enable Exynos5420 Multi-Cluster PM support
The Exynos5420 cluster power management support allowing Exynos
5420/5422/5800 machines to power up and down the secondary CPUs.

Without this option enabled, the secondary CPUs are not brought
up on boot and the following error is shown:

CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x40938e90 - 0x40938f28
ARM CCI driver probed
CPU1: failed to boot: -38
CPU2: failed to boot: -38
CPU3: failed to boot: -38
CPU4: failed to boot: -38
CPU5: failed to boot: -38
CPU6: failed to boot: -38
CPU7: failed to boot: -38
Brought up 1 CPUs

Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-01-28 14:58:25 -08:00
Thomas Petazzoni
dcad68876c ARM: mvebu: don't set the PL310 in I/O coherency mode when I/O coherency is disabled
Since commit f2c3c67f00 (merge commit that adds commit "ARM: mvebu:
completely disable hardware I/O coherency"), we disable I/O coherency
on Armada EBU platforms.

However, we continue to initialize the coherency fabric, because this
coherency fabric is needed on Armada XP for inter-CPU
coherency. Unfortunately, due to this, we also continued to execute
the coherency fabric initialization code for Armada 375/38x, which
switched the PL310 into I/O coherent mode. This has the effect of
disabling the outer cache sync operation: this is needed when I/O
coherency is enabled to work around a PCIe/L2 deadlock. But obviously,
when I/O coherency is disabled, having the outer cache sync operation
is crucial.

Therefore, this commit fixes the armada_375_380_coherency_init() so
that the PL310 is switched to I/O coherent mode only if I/O coherency
is enabled.

Without this fix, all devices using DMA are broken on Armada 375/38x.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Cc: <stable@vger.kernel.org> # v3.8+
2015-01-28 11:23:56 -06:00
Tony Lindgren
72d032266b ARM: dts: Fix dm816x pinctrl and syscon so they are children of SCM
Looks like I only got half done with moving pinctrl and syscon to
be children of the SCM. I've set up the FAPLL clocks that way already,
but did not complete the job as I copied the syscon values from
am33xx.dtsi.

To make sure the syscon mapping works, I've verfified that we can
set up davinci_emac mac address the same way as cpsw already does
with the syscon mapping. So let's add that too.

Cc: Brian Hutchinson <b.hutchman@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-01-28 09:06:18 -08:00
Michal Simek
ab216ac5a2 ARM: zynq: DT: Add aliases node
Add aliases node to DTs.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-01-28 15:18:32 +01:00
Michal Simek
8f63a0baee ARM: zynq: DT: Fix binding for cadence WDT
Based on:
"devicetree: Add Cadence WDT devicetree bindings documentation"
(sha1: 191891c037)

- compatible string is cdns,wdt-r1p2
- remove device_type property
- remove int reset property (reset-on-timeout is bool)

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Series-to: arm-soc
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-01-28 15:18:32 +01:00