45764 Commits

Author SHA1 Message Date
Arnd Bergmann
e061b5695a One fix for 4.6:
- error in the documentation led to wrongly add a new NAND Flash Controller
   type. Switch back to the previous compatible one.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJXMYtYAAoJEAf03oE53VmQfvoH/i2HahAo+hQUaCoTKUYy5rfo
 FOII0mpsLrzryiiVX9B+XV1d5cj5obprQfIrKU4nZomZr1iZdhbPtcrItv/uId5d
 N2RSdlax+a20nGvo4tKwqmJLOYDWwtcrIFATmGJ1N6VggEeqp7tDE7/QOOxVDpIo
 K/DPk49b9ZCRQarJpaYC+xbV6zqpyrONfE6Vna6YJ37iCiH5gVu3Kg/X9CNupyiL
 LUwdYoCkYF6yLRSMSe9A/eN49flVH+B8aUvIa1howqtLRLZlW0K4b8+c4P2reKmY
 gR/QulhQbcJ0gl4YEX+6ZY5xwnexpAQca9H8f2ivUC12xUjonr3f2mHXgIeQOPE=
 =d7Yr
 -----END PGP SIGNATURE-----

Merge tag 'at91-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into fixes

Merge "at91: fixes for 4.6 #1" from Nicolas Ferre:

Here is a late fix for AT91. Sorry to have figure it out so late in the
development cycle but we had to confirm it was an error with the documentation
of two products.
So, as the compatibility string is in since 4.6-rc1 and that the previous one
works okay, it's a good opportunity to switch back to the one that works without
introducing a intermediary bug.
The revert on driver code and the removal of the useless additional
compatibility string will be queued for 4.7 through NAND/MTD.

* tag 'at91-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91:
  ARM: dts: at91: sama5d2: use "atmel,sama5d3-nfc" compatible for nfc
2016-05-10 11:28:22 +02:00
Nicolas Ferre
f0d523668c ARM: at91/defconfig: sama5: add CONFIG_FHANDLE
CONFIG_FHANDLE is listed as a mandatory kernel option for systemd. So
explicitly enable it to allow easy use of systemd userspace.

Reported-by: Marek Vasut <marex@denx.de>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2016-05-10 09:57:44 +02:00
Wenyou Yang
b8453d4ee9 ARM: dts: at91: sama5d2: use "atmel,sama5d3-nfc" compatible for nfc
An error in documentation of the NAND Flash Controller (NFC) led to choose
another compatibility string for sama5d2 with an impact on the NAND flash
ready/busy information. It was producing the error message:

atmel_nand 80000000.nand: Time out to wait for interrupt: 0x08000000

and had an impact on performance.

So, switch back to the classical "atmel,sama5d3-nfc" compatibility string for
this SoC which gives the proper ready/busy bit information. The NAND flash
driver will be updated to remove the support for this different
implementation.

Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com>
Acked-by: Romain Izard <romain.izard.pro@gmail.com>
[nicolas.ferre@atmel.com: change commit message]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2016-05-10 09:09:47 +02:00
Catalin Marinas
0648505324 kvm: arm64: Enable hardware updates of the Access Flag for Stage 2 page tables
The ARMv8.1 architecture extensions introduce support for hardware
updates of the access and dirty information in page table entries. With
VTCR_EL2.HA enabled (bit 21), when the CPU accesses an IPA with the
PTE_AF bit cleared in the stage 2 page table, instead of raising an
Access Flag fault to EL2 the CPU sets the actual page table entry bit
(10). To ensure that kernel modifications to the page table do not
inadvertently revert a bit set by hardware updates, certain Stage 2
software pte/pmd operations must be performed atomically.

The main user of the AF bit is the kvm_age_hva() mechanism. The
kvm_age_hva_handler() function performs a "test and clear young" action
on the pte/pmd. This needs to be atomic in respect of automatic hardware
updates of the AF bit. Since the AF bit is in the same position for both
Stage 1 and Stage 2, the patch reuses the existing
ptep_test_and_clear_young() functionality if
__HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG is defined. Otherwise, the
existing pte_young/pte_mkold mechanism is preserved.

The kvm_set_s2pte_readonly() (and the corresponding pmd equivalent) have
to perform atomic modifications in order to avoid a race with updates of
the AF bit. The arm64 implementation has been re-written using
exclusives.

Currently, kvm_set_s2pte_writable() (and pmd equivalent) take a pointer
argument and modify the pte/pmd in place. However, these functions are
only used on local variables rather than actual page table entries, so
it makes more sense to follow the pte_mkwrite() approach for stage 1
attributes. The change to kvm_s2pte_mkwrite() makes it clear that these
functions do not modify the actual page table entries.

The (pte|pmd)_mkyoung() uses on Stage 2 entries (setting the AF bit
explicitly) do not need to be modified since hardware updates of the
dirty status are not supported by KVM, so there is no possibility of
losing such information.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2016-05-09 22:23:08 +02:00
David S. Miller
e800072c18 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
In netdevice.h we removed the structure in net-next that is being
changes in 'net'.  In macsec.c and rtnetlink.c we have overlaps
between fixes in 'net' and the u64 attribute changes in 'net-next'.

The mlx5 conflicts have to do with vxlan support dependencies.

Signed-off-by: David S. Miller <davem@davemloft.net>
2016-05-09 15:59:24 -04:00
Vivien Didelot
f81ec90fe9 net: dsa: mv88e6xxx: factorize the switch driver
Now that all drivers support the same set of functions and the same
setup code, drop every model-specific DSA switch driver and replace them
with a common mv88e6xxx driver.

This merges the info tables into one, removes the function exports, the
model-specific files, and update the defconfigs.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-05-09 14:26:13 -04:00
Arnd Bergmann
ff628a4dbd Device tree auxdata handling fix that allows a match based on the
compatible string if no exact match based on the IO address is found.
 
 This leaves out the need to patch auxdata for each driver when adding
 new SoCs. And it also reprotedly fixes the issue of passing auxdata
 to a child if the parent instantiates the child from DT as discussed
 in the "[PATCH] of/platform: Allow secondary compatible match in
 of_dev_lookup" mailing list thread.
 
 As a minimal use case, let's also convert omap pinctrl auxdatato
 use a generic match.
 
 There is no need to get this in to the v4.6-rc cycle and it can wait
 for v4.7 merge window. Note that these changes have now been sitting
 in Linux next for about two weeks so far as I wanted to make sure no
 new issues are popping up.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXKjVmAAoJEBvUPslcq6VzNaIQAKBW4SoVCpUnz8U7Vb6drVmk
 kNuXn317CJQIJSPYuncQkmnPPDqvRBB16offmWI2z31R2p8azuf4kTkroqGrIP2+
 ZuXyuxNc3IczxMiWjVN3SKA7/h4fRM+J8IN8AHHf/DAcFOc0Dz1muMhkEX3otT+/
 qFn85iBreeAaNnW9eViZ+lvz6wSYlhrHAPrW3jHJM1Q11OTi45vymS82iU4ztcXo
 zotDxSLaMcQJNAb6wF553JhzwL8G1bM9Ab1b5+vsOVQ/y/wWY+b/maGePUQCWiVX
 cggYoa/0gDmBGAUdLq1GvVTg4HHIEaO0ysrioMlHmOkTf7KXXiKITZTX98FE39rL
 xH/2nkechWV8yWPwhZktjASzcImqItcMdS3axFgdHnV7fpho2an/80Ekod401/Bh
 wIJ48gZxPAyshjr+e8xhyHRdEauVmUYvdiUS/Gv8dEvJJnBqVFYcLd/FNCp43j5X
 G7RQITG0pK7i0xwX+9vNOrD5CzfWCSLYw6iMnMnReMdnw9PUwbYLaiWTuoyC6Pmd
 B9zMkqOzdael6fFuQvRi9ZOEoSK5A3EpLWrvXzrS4nXy1dOa2eDpuxoRkAKACVMf
 wyANAn3YK1pQwtnoGRsdNk98zjMX2o8H1G0XKB0QewNa0zlNhGIUsAiZYX4H/drg
 taAbzAUSLloDcHnyQgis
 =T39l
 -----END PGP SIGNATURE-----

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

Merge "non urgent auxdata fix for v4.7 merge window" from Tony Lindgren:

Device tree auxdata handling fix that allows a match based on the
compatible string if no exact match based on the IO address is found.

This leaves out the need to patch auxdata for each driver when adding
new SoCs. And it also reprotedly fixes the issue of passing auxdata
to a child if the parent instantiates the child from DT as discussed
in the "[PATCH] of/platform: Allow secondary compatible match in
of_dev_lookup" mailing list thread.

As a minimal use case, let's also convert omap pinctrl auxdatato
use a generic match.

There is no need to get this in to the v4.6-rc cycle and it can wait
for v4.7 merge window. Note that these changes have now been sitting
in Linux next for about two weeks so far as I wanted to make sure no
new issues are popping up.

* tag 'omap-for-v4.7/auxdata-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Simplify auxdata by using the generic match
  of/platform: Allow secondary compatible match in of_dev_lookup
2016-05-09 16:42:14 +02:00
Arnd Bergmann
11c3aead82 Legacy booting vs device tree booting fixes for omaps for
v4.7 merge window. These are not considered urgent fixes enough
 for the v4.6-rc cycle, but we need them in v4.7 in order to drop
 the last remaining board-*.c files for omap3 for v4.8 merge window.
 
 On Nokia N900, we need to pass the MMC slot names for the legacy
 user space to work. Let's do that using auxdata as the driver is
 setting up things already with the pdata for legacy booting. Then
 we can later on discuss if we may want to have some generic binding
 describing where the MMC slots are on the device.
 
 N900 also has had the ir-rx51 device driver unusable with multiarch
 for a long time. Let's pass the dmtimer data in pdata for the driver
 to get it going again. Then once things are working, we can eventually
 change the driver to use just hrtimer and PWM framework. The driver
 changes will be queued separately.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXKi9zAAoJEBvUPslcq6VzfNcP+wRJTBKja7wxwxo8R2DKbYgw
 oJXcldqdqJZIaHnJUR7uFDHZu1Jt6ZUM6WZQAEQTozPtMPnufM3VNgREz/LUqcCa
 /vNQUBbvGwiaP3KOk3jNX1HuzSFhoAIQxTkE07FEBziZc0Soq7Cs//mUP1HZOrG2
 a2+5MRM1TsVqIf0vSHUSZ9ez6iJpbpq2brdFb0upJwV9DFUcDouBBjd1atOPBJqW
 mZ4myDqgbSSY7fL2cPEGnqVR0tqNTwrToWNxZFBP5T9IrI1oOe0MfI2vDgdHFf9h
 mrVVITSRvwte751Xheze069ktzI1qJoIUDcyXN1+kTAC7jp3q7Kjo8fzqMVPfcqE
 zn+Sj7C1l+1a0WjXjzhJhZgJBQkHwJubyJv3cGhb3HdkHbjIp7WURbcMF6gElEH7
 J9eA+aHHyd3PW0mfdjuLY0gI5XEoBvRLiboZIewjQ9hIMgD+bKC0FZ/h313xo6eG
 uPgobT9JBDmcv/EQw2eCH9kVvbf/gudNpCNgdoHcBf3V/EiSPl5PKxhgHtLM4WFj
 S4rVg5X3MPglQay436SwSwmFYxk3WDo03qLDhn7DWPxxeCVuJDscvgzPhRuVKH4A
 ox1a17UI1510M6bxoQLGFKK//Q2rNFEQb0YDImlwfsB7ZO/WV3mxn/KX4q2wDWhB
 WlvMCPGZPi4K38utIQuW
 =klmr
 -----END PGP SIGNATURE-----

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

Merge "omap legacy boot vs dt boot fixes for v4.7 merge window"
from Tony Lindgren:

Legacy booting vs device tree booting fixes for omaps for
v4.7 merge window. These are not considered urgent fixes enough
for the v4.6-rc cycle, but we need them in v4.7 in order to drop
the last remaining board-*.c files for omap3 for v4.8 merge window.

On Nokia N900, we need to pass the MMC slot names for the legacy
user space to work. Let's do that using auxdata as the driver is
setting up things already with the pdata for legacy booting. Then
we can later on discuss if we may want to have some generic binding
describing where the MMC slots are on the device.

N900 also has had the ir-rx51 device driver unusable with multiarch
for a long time. Let's pass the dmtimer data in pdata for the driver
to get it going again. Then once things are working, we can eventually
change the driver to use just hrtimer and PWM framework. The driver
changes will be queued separately.

* tag 'omap-for-v4.7/legacy-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: n900 needs MMC slot names for legacy user space
  ARM: OMAP2+: Add more functions to pwm pdata for ir-rx51
2016-05-09 16:39:14 +02:00
Arnd Bergmann
ea46a1f8d3 Samsung DTS non-critical fixes for v4.7:
1. Fix s5p-mfc driver probe on Exynos542x Peach boards (need to provide MFC
    memory banks). On these boards this was broken for long time but
    apparently no one enabled this driver till now.
 2. Fix creation of debugfs entries for one regulator on Exynos4210
    Trats board.
 3. Fix probing of max8997 MFD driver (and its children) because
    of missing interrupt. Actually the current version of the driver probes
    (just without interrupts) but after switching to regmap and regmap-irq,
    the interrupt will be mandatory.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXLcwaAAoJEME3ZuaGi4PXWfYP/REe1dyznGhMCvXFuv7EDQ2/
 c2xhWBD00zFqjSp8yA/q7Z2zP2YUIL/y882BlvCCkmFda5LdME3Wh/afA+8/GAAR
 4pJfnuxYC87ilNaWls1v7bAZc4O+F+SSU2EFI4LKbvxLv+KuwMx/TLeIJS6nEihk
 IalnICEO/BQRYSvz8CWMYx0GeHiiKjWaKkgZJnlqGzkRhQQZNUoccn8Z7By8mBeO
 ZGpBJCmg07+X1jWoc9e4YrY2of75IZMYkS2gbdck0mqj5VJn45wMJL/dJCwEPdjh
 f2Zv+d3851Uj6NqJEyn/9wfXPi6dQGLT/3Hu+TB4QVX3KlwCiDUBwouSU2f5YTgI
 b45AdrXlxakAybmQQnSSgKWbYClnJ6HaVVqB3RgolZZSZkJUmygtoYM72hUC7Z21
 K6hbqzgMVw+crhmymDdOyNHpYfb3OLSf16pomDTq585wYGOenEGcKnnDlgoJmoFe
 x4Ae6hRE/Hk4wQuWsh34KIKHzPkFaBJRQgFBBAOQR7Zqv7AN5FflQ2xxo32qYMvS
 hr9ObkW4DYmB6wDtvpm6va2cBSrnXXK3uA0vH3O1IkmOqoI6NeVFYjA387OVyRLj
 0MzrAgQLAiQPR2r2Xo3yhJGd6qZjlWq9R310jUJQonR0ZpVnQ5s52lNrt2qGtdmg
 LJC3Q+ahxhMVGw+RVsgf
 =l5HK
 -----END PGP SIGNATURE-----

Merge tag 'samsung-fixes-non-critical-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/fixes-non-critical

Merge "Samsung DTS non-critical fixes for v4.7":

1. Fix s5p-mfc driver probe on Exynos542x Peach boards (need to provide MFC
   memory banks). On these boards this was broken for long time but
   apparently no one enabled this driver till now.
2. Fix creation of debugfs entries for one regulator on Exynos4210
   Trats board.
3. Fix probing of max8997 MFD driver (and its children) because
   of missing interrupt. Actually the current version of the driver probes
   (just without interrupts) but after switching to regmap and regmap-irq,
   the interrupt will be mandatory.

* tag 'samsung-fixes-non-critical-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: exynos: Add interrupt line to MAX8997 PMIC on exynos4210-trats
  ARM: dts: exynos: Fix regulator name to avoid forbidden character on exynos4210-trats
  ARM: dts: exynos: Add MFC memory banks for Peach boards
  ARM: EXYNOS: Properly skip unitialized parent clock in power domain on
2016-05-09 16:38:04 +02:00
Arnd Bergmann
b54891be1a Add mt2701 support
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJXJzCHAAoJELQ5Ylss8dNDLBkP/RRLd6QnQRsgND7TBCJltctv
 ReJN4rQU/O9wQ1Wcx+6o3AoJwv4czhcAeU3u7HEnYy0ZbjTMxm7+CbGMaZIa9iw3
 ibtfxBhucbbjHMP6knMLTKKq7gl5GtzdqBv/cperDyOOcS28CUf1MHc1n/deMGcP
 focdFFxJwO9SR2jRbWs2BZLRoc4sGfIISvaclgw9+RfP+GC3/mcpFBeJvsQo33Zk
 PQLBobUqkso0x60v7zAQGuJnmcqvsc6q72dsmjS7BnOSu05zhYKico2uPmO+7Ggb
 tjKgnYF0amU8AFCmAnW718yCnKkDyhC8qojghpldWis2AAchlDoCuK207PJKKNWK
 FwliHX0PXPnUpRwj28idCpnvmWSR+tuB4RPYa0tsoMtf4PXx4T8QzneIP2ylAZsT
 uAzO1sIfDYfQSWx0NxIx5XmmLkN8+2nPEbpTjpYBycvsEPp6xz2hMxnqRHTBy9yg
 tmgSsItkTCU6FLavX0j6/QZQTdtgmFjl/Wjmhyp8scjYoRz2kKraTEdOZJwJZV74
 pBxxku/hJE9slUi7tAUyFfgWy5EPMljPGVCOJNq/Q4/3mDSQWhFwdTQP4Mj5WwN3
 jslN0tuBA4hMLlibJl6lgaeyRGFmPECqeYLPpJZXjj5lPyJzw0qT3YQSx9fCUdcU
 D8NWm5tt7yi4ilgdgMNS
 =DWCG
 -----END PGP SIGNATURE-----

Merge tag 'v4.6-next-kconfig' of https://github.com/mbgg/linux-mediatek into next/soc

Merge "ARM: mediatek: kconfig updates for v4.7" from Matthias Brugger:

Add mt2701 support

* tag 'v4.6-next-kconfig' of https://github.com/mbgg/linux-mediatek:
  ARM: mediatek: Add MT2701 config options for mediatek SoCs.
2016-05-09 16:31:16 +02:00
Arnd Bergmann
182e0842b0 - re-organize pmic wrapper code for easier and cleaner addiont of new SoCs and pmic wrappers
- add support for pmic wrapper mt6323
 - add support for SoC mt2701
 - enable gpt6 arch timer on mt7623
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJXJzFfAAoJELQ5Ylss8dND/vYP/igakCxTIYX0FsqSSgTY0btk
 OsFUxnFiAZ8r35P2QTaA8hlhP0Lv2CUA2vNA9DDmZgM6F5tKRhN9MVoQTBrdJs+2
 UYY/bIH+aNUBExbURamdSQVJamMioxOrG++FyNed5gMZ9miIgACOyWJOFw7cEm52
 w48qUeNdmxkPdh/mTXW1MB+JbyLBxO3vg8RJThx/a3q09DzBtHRgqKVFnpLDcILB
 XzUIH+Uj6pdHmft5ySF4Ke0oQWmW1gP3soej/GDJi5GiVE0eq27/RiO+/6Eyv6Qj
 l78LaM3IDvuZhR+zILE/C7gIoexLIB9Keq9QH/4FCN1wOLVKtZwts1WvdauqLpRc
 cBCnsCQQCdhJAbBrYsMB6pAc0S981jfcjQh6HnZexcpyN4VageKvndPXrVRXy/HS
 Ev6NXrkI19UBfH+LGLSGAkQFbKxCTpwoDMi1yCh/vBnYpp4tc8NcX17LbEsUIpAs
 3Z0bDW4iBWIwsCmkb+wb3T/MDZ40YZyfUkRJciFyrOvaiCnC1jpdRCq5e3PHWcqs
 kkJnSgitjrtxYb1r18GeLV1BYICqRyy62SM5HWfVFjOw6Ia0vdgmkM3mLFZb4sVw
 qVBniwSs4OtkfuLBzqfQtscxFojqhjmh0XLl/IzG7hmG78yTP4pIfuz7yFOpqM2Y
 MxhVBXYzX/txt0TP5HLQ
 =35R/
 -----END PGP SIGNATURE-----

Merge tag 'v4.6-next-soc' of https://github.com/mbgg/linux-mediatek into next/drivers

Merge "ARM: mediatek soc updates for v4.7" from Matthias Brugger:

- re-organize pmic wrapper code for easier and cleaner addiont of new SoCs and pmic wrappers
- add support for pmic wrapper mt6323
- add support for SoC mt2701
- enable gpt6 arch timer on mt7623

* tag 'v4.6-next-soc' of https://github.com/mbgg/linux-mediatek:
  ARM: mediatek: enable gpt6 on boot up to make arch timer work on mt7623
  soc: mediatek: PMIC wrap: add MT2701/7623 support
  soc: mediatek: PMIC wrap: add mt6323 slave support
  soc: mediatek: PMIC wrap: add a slave specific struct
  soc: mediatek: PMIC wrap: remove pwrap_is_mt8135() and pwrap_is_mt8173()
  soc: mediatek: PMIC wrap: move wdt_src into the pmic_wrapper_type struct
  soc: mediatek: PMIC wrap: SPI_WRITE needs a different bitmask for MT2701/7623
  soc: mediatek: PMIC wrap: WRAP_INT_EN needs a different bitmask for MT2701/7623
  soc: mediatek: PMIC wrap: split SoC specific init into callback
  soc: mediatek: PMIC wrap: add wrapper callbacks for init_reg_clock
  soc: mediatek: PMIC wrap: don't duplicate the wrapper data
2016-05-09 16:29:36 +02:00
Arnd Bergmann
0683e598a1 ARM: tegra: Enable the XUSB controller
These changes add support for the XUSB controller on Tegra124. It is an
 XHCI compatible controller that replaces the existing EHCI controllers.
 Support is enabled on Venice2, Jetson TK1 and Nyan-based Chromebooks.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJXI4aZAAoJEN0jrNd/PrOhlhEQAJsk8OhsyqMUpi+kUBPwvR+x
 V/WAoHsC2P41l0J8kltGyEW8hVt9jjq1xKoUjYQMycEVK3+uwHWSAmPxLvB4I+OM
 6sdZ7fzwbQbC6Om6XT0fdXoi9ryyWWW7N3yil53wJUCbgrDVehd3qG+k56yyvyc4
 MqEfGelAtIcj365Oq4aOmLe5cGXEQ1rAVdTVAG1jRhXe+4ItnZwbXJB3Tavp6SK6
 euxrrVf9KoW9fhH4Y4SL6l/9A5qDSYr3p1SitNgMTZmvPZa58EJ1Bu/y6OoefsD0
 Vi4MYbKyltuNjo6vHRYrUfLXwd9bRFVDgZmErxibI3RXUew8RKxmZzGItaqsxesc
 YzEcfZ7hZP5qIK3c8uvuw3XRIenHbg/Dk0mGQ4OSJx+jyf5V6BFPjfpESykE/M0b
 C71p2wEVRBWSwOpNY7+AOKobKnxK4lWEymd5RsneZKpZpjtYy67Mh/AFuUj64IiU
 AlQoPOIRX4qvf1T4RdYq/jqYp0tSxHVwxwqYg7tQu5fWo5KjZB/KBiqCgsM8RC5i
 2Pv7upI9feAwffydljLJvAgKiF2GzOpjj+eFdZZc/5OCvLaDULdI9VHcpMPuJrt/
 yI0ZVjnzkmTTBzNjoTPzglbwWCdJ2cA0iZeIgdtupLAMHvDALltAE1vGSu1TBGhF
 rGAOcNZ1yW3X5UxbXL5X
 =NYo3
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-4.7-xusb-no-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/late

Merge "ARM: tegra: Enable the XUSB controller" from Thierry Reding:

These changes add support for the XUSB controller on Tegra124. It is an
XHCI compatible controller that replaces the existing EHCI controllers.
Support is enabled on Venice2, Jetson TK1 and Nyan-based Chromebooks.

* tag 'tegra-for-4.7-xusb-no-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: Enable XUSB on Nyan
  ARM: tegra: Enable XUSB on Jetson TK1
  ARM: tegra: Enable XUSB on Venice2
  ARM: tegra: Add Tegra124 XUSB controller
  ARM: tegra: Move Tegra124 to the new XUSB pad controller binding
2016-05-09 16:26:08 +02:00
Arnd Bergmann
abb2c53a55 aspeed arch tag for 4.7
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABCAAGBQJXMICzAAoJEGt2WQeBR3CeCD4P/A5a3DwE7hBTx3USQUAA88uC
 YPEc5KbjbTqDCWNUfUy89IjrNfk8cbrdo9uJ7XgxEnIwc4Xcc7LKqYOrKCqteZ/j
 JUs29VMIugTwWq53VJilK26Tjq1J3QkjIheU+roRNN65D3tBIstXh/jj1R1mSzXb
 41BwUmzrVG4g1lhlwapCk8lVsZibWP/Z/jiL0yYnTkgG/Uye2J85qyO+aAt5zQyY
 BvdEH4e3lHX/ttOz4lru+ojGFeHusyF3iKlNzc4KOe8DnjR1TaYNzcZVPEDYY08M
 b3P252qFZflk8g5qmohjrQrdfxcnqPQjCDyxZRJsSeiLu+VELZBZeUXg146eMPUG
 szEQMURMXch/1X5ekiItPSk2K8W0UdVTgZ3R2Y9KwVBqi0AWoJ5+uIgTUYNV6VbQ
 4miYb9dc4yyi+JiS66mL9ax3jbTzhQt9txWAAqr+yZ48j8i1gbFxQiJB/qieuDjx
 KCZeFs5mlb5y/fbbEVTGqBPC9TYx7tFE7xA/apoC6WEYdJnHQ37u5szG8+HMyQiq
 N917Rcz98ya8yyCNebjmWI7g8ol6o/zz/8EdpsB+1oVgFW7rKSuUrnFbjU82nAIB
 R8v7dA6C0weEy0IUJs0n+Cwq1XXfWU0gxK7eMpsaCgjnsAz8mVefB/54RRqfSaMT
 ybASdWPtBM6Ab1Tv/AQ/
 =XUlQ
 -----END PGP SIGNATURE-----

Merge tag 'aspeed-for-4.7-arch' of https://github.com/shenki/linux into next/soc

Merge "aspeed arch tag for 4.7" from Joel Stanley <joel@jms.id.au>:

This is the initial pull request for the Aspeed BMC SoCs.

I put 4.7 in the subject for this and the subsequent requests but if it's a bit
late in the cycle then I understand.

Following review I got rid of the board file by pushing the functionality out
to a watchdog and clock driver, so it's just the Kconfig bits. I've also added
myself to maintainers for the Aspeed arch and drivers as I intend on looking
after them.

* tag 'aspeed-for-4.7-arch' of https://github.com/shenki/linux:
  arm: Add Aspeed machine
2016-05-09 16:13:53 +02:00
Arnd Bergmann
121711bbe4 The i.MX SoC updates for 4.7:
- Allow TWD to be used on UP kernel, as the PREEMPT-RT and cyclictest
    shows that TWD has a slightly better performance than i.MX timer.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJXKK+/AAoJEFBXWFqHsHzOJr4IAJzktSWFIAYlSPAfwh3Vpnf7
 6kW2fTGN6QzRBXR20iTCBDgdhWEKRztRlIEPFQ7nae4kLmdoQZ5WNxaNNUUq2oFB
 eePYpcogNebc38kfBq7Ou905UsLYloUn3TWELmhN95diMSkDctD5KfeRurRdGHsL
 yszvANaHo6P4RM55SWItgGxeCK7lDaMQyWou5yWiBUgozQ5oOO8AkNv4va/5jxhw
 sg8zSCRKPLEHdSowUAooQhOUrNkydbS4B9paXn5yPIbkkAu6csN8QKHynA1Vm8z/
 nHy5F0srnRzprmVWs0z2+YjiMdEZj/t9NMCNk47gNrauRYosVP98wX9qoBGq93Q=
 =5SG2
 -----END PGP SIGNATURE-----

Merge tag 'imx-soc-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc

Merge "The i.MX SoC updates for 4.7" from Shawn Guo":

 - Allow TWD to be used on UP kernel, as the PREEMPT-RT and cyclictest
   shows that TWD has a slightly better performance than i.MX timer.

* tag 'imx-soc-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: imx: always use TWD on IMX6Q
2016-05-09 16:08:46 +02:00
Arnd Bergmann
8946bdf7c7 mvebu soc for 4.7
- Clock framework cleanup with the "Remove CLK_IS_ROOT" series
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAlcjaYUACgkQCwYYjhRyO9UZBgCfancMYVmODhUbS2FsaeGQqsgX
 Q2EAoJuV6WkKlURVzGn3RMacRaNXwVRF
 =/d5p
 -----END PGP SIGNATURE-----

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

Merge "mvebu soc for 4.7" from Gregory CLEMENT:

- Clock framework cleanup with the "Remove CLK_IS_ROOT" series

* tag 'mvebu-soc-4.7-1' of git://git.infradead.org/linux-mvebu:
  ARM: dove: Remove CLK_IS_ROOT
  ARM: orion5x: Remove CLK_IS_ROOT
  ARM: mv78xx0: Remove CLK_IS_ROOT
2016-05-09 16:00:18 +02:00
Arnd Bergmann
eb07e08d54 These patches provide ability to add non-PSC
clocks to DaVinci clock framwork and are
 required to support USB PHY clock setting from
 USB PHY driver.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iQIcBAABAgAGBQJXIzJyAAoJEGFBu2jqvgRNGywQAJaq3OHDj1ANi2ywu2LRqFCT
 jwxDAMm5FOBueQWLyA0ZT9oKF6a0ZAAvaRPFioozx/eIHLBa2AAKUpbfbZ6DB3Hd
 bF04LbCV6tkKTtGF3bOyHr/Sb+61xxJMoYpZnvqz8PlpzMqtntIKfBWqNqd/R+lz
 XE7WiTHgN8nrgQLkrT3pcr3AXhygnsu6p5CyC6pqwhmfQfZLFVjgIZiwqmmTd614
 HYCwiBkYQvOp6+CTlbPXWLoekunu/87KBnQa8mHiOnDz4SzM3tokSvSvDxsxOkHj
 1cVYJIqP6GbxIQavqRY3BLHXnCnV+On2pkGT1H7xhnosQM5EldfJ1zRibDV75BeI
 ynNYoLzStu9W7K07XoZrPHOK4cp3qvWDpYhlBVuDYFN9o5qBGq75NYDmSU2fBS64
 3FaSdVEHtPlCnTSm699xoga91cwlfNqSs9gRhUzEokszrFxDONDSNgAiYs5UcI4k
 9YC0gEFC6/j7dBM4YSOLtoHsF8J//Gyx47sH4zD/0YwK20zt3GL6cZ/KOXe1Ielu
 6pxR0Zz3CEIlBTq59QxdSJ9lTcPMasfqJISFQyffLMLlU67gW6+b2NvGoXSIYC/u
 egGsgzhFp/g0VkineTy5K2PhAQ7c8cur/DgNyJX7ftvVxw14m/TMyrPxNNrGUVem
 59zpwKenUpueloJqeion
 =3dg+
 -----END PGP SIGNATURE-----

Merge tag 'davinci-for-v4.7/soc-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/soc

Merge "DaVinci SoC updates for v4.7 (part 2)" from Sekhar Nori:

These patches provide ability to add non-PSC
clocks to DaVinci clock framwork and are
required to support USB PHY clock setting from
USB PHY driver.

* tag 'davinci-for-v4.7/soc-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: davinci: da850: use clk->set_parent for async3
  ARM: davinci: Move clock init after ioremap.
2016-05-09 15:57:27 +02:00
Arnd Bergmann
b65b98d9ac NXP LPC32xx mach updates for v4.7
This includes a few nonfunctional clean-ups for NXP LPC32xx:
 * removed leftover from restart code migration to a watchdog driver
 * removed dead code leftovers from migration to CCF driver
 * fix double const qualifier
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABCAAGBQJXIo/gAAoJEKo94to8JTllBewP+gKeJmKR4DBWMyISqH/ZfqHm
 acpyL45BPcdmuhcUZhOyV4jxjpNDXvWkfshoAwDM87cy4qgA4UceGgdu8nfjvuF3
 1DUvU4g6qbQJIp8h/uLHE4CiLhqTwuuu2i4YMbR6E+hEuWx2D7MLJQP1zqbA6d5E
 rl6AX1Bf6ajN5lZq8V0KSlvgP6N0Wew1h36D5APy0MCrijS1D9cMBOue1CyDh4pP
 Vfwfr3e8dMchtTQvoozoOQN1LW9xcBNkFifdzKLp+P20s5hiB+uBDkQ9VBQr3hKp
 YztdKJsYcHgZqUkNM54jQ3i+xxM1Inq8IaEQbqjTJyEf4LIpTTpEn93nGG/Nx3+T
 4DKc+Ce2BI74qvqwt2seeNr722ftf6kCa37JpvfusaHotELMPB0GCrONgJPS9Udk
 g9zEAZrJ27zeFAfr7LA3Agywq3Lr1JhHndEodCcMxbBHY33HBFNlBqCWy8YqQyQv
 IsJGF1Z91xf8WXsEIzID3tCM7nb0c4/S2IEKamQAq98HG7dXOGsAgrJqqFiJEoN0
 maeLt7UPIqxORjZk0k6uYC4nE5eZSlID4jKNJF2BB2orJs00z2AC5/H4dsZ488DI
 gcJd9rfIFGrzhCiFAiUnOz5CY1ZyxtCTdxvfvwIioPxy6MvizBR4G52EgyFA7rN+
 d/8qYw5UCiLpf/ptDzkY
 =029c
 -----END PGP SIGNATURE-----

Merge tag 'lpc32xx-soc-4.7' of git://github.com/vzapolskiy/linux-lpc32xx into next/soc

Merge "NXP LPC32xx mach updates for v4.7" from Vladimir Zapolskiy:

This includes a few nonfunctional clean-ups for NXP LPC32xx:
* removed leftover from restart code migration to a watchdog driver
* removed dead code leftovers from migration to CCF driver
* fix double const qualifier

* tag 'lpc32xx-soc-4.7' of git://github.com/vzapolskiy/linux-lpc32xx:
  ARM: lpc32xx: remove duplicate const on lpc32xx_auxdata_lookup
  ARM: lpc32xx: remove leftovers of legacy clock source and provider drivers
  ARM: lpc32xx: remove reboot header file
2016-05-09 15:41:24 +02:00
Robin Murphy
53c92d7933 iommu: of: enforce const-ness of struct iommu_ops
As a set of driver-provided callbacks and static data, there is no
compelling reason for struct iommu_ops to be mutable in core code, so
enforce const-ness throughout.

Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2016-05-09 15:33:29 +02:00
Joel Stanley
d0bc3483da arm/configs: Add Aspeed defconfig
Signed-off-by: Joel Stanley <joel@jms.id.au>
2016-05-09 19:12:30 +09:30
Joel Stanley
0d0f88969d arm/configs/multi_v5: Add Aspeed ast2400
This adds the Aspeed ast2400 BMC SoC to the build.

The SoC has six UARTs so we need to enable the appropriate options for
SERIAL_8250

Signed-off-by: Joel Stanley <joel@jms.id.au>
2016-05-09 19:08:05 +09:30
Joel Stanley
0244062265 arm/dst: Add Aspeed ast2500 device tree
This adds a common device tree for all fifth generation Aspeed systems,
and a board specific device tree for the ast2500 evaluation board.

Signed-off-by: Joel Stanley <joel@jms.id.au>
2016-05-09 17:41:58 +09:30
Joel Stanley
d44a1138cd arm/dts: Add Aspeed ast2400 device tree
A common device tree for all forth gen/ast2400 systems and a board
specific dts for the Palmetto OpenPower developemnt machine which was
used for testing.

Signed-off-by: Joel Stanley <joel@jms.id.au>
2016-05-09 17:41:58 +09:30
Joel Stanley
8c2ed9bcfb arm: Add Aspeed machine
Aspeed devices are a common Baseboard Management Controller (BMC)
system on chip containing an ARM9 or ARM11 core, off-chip DDR RAM and
support for a large number of peripherals.

This patch adds basic support for the ast2400 and ast2500 machines,
capable of booting to a prompt in QEMU (-M palmetto-bmc), on an
Palmetto OpenPower development machine, and on the ast2500 EVB.

Signed-off-by: Joel Stanley <joel@jms.id.au>
2016-05-09 17:41:14 +09:30
Dave Airlie
bafb86f5bc Linux 4.6-rc7
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJXL7HfAAoJEHm+PkMAQRiGYe8IAJBGaPUq38EJh2YOV+AQf9v6
 t/alhwB3DUE1E0zjLy7I7JJ+xDXtKjZh9fS6OFuIS8Q3RIrBteIJ/oH8TPpt7yZ/
 SnP6rYPvYD6CImTyrh7+ORL/udEwJX8+YqFYAgUAq167gvpDjYj8r26VzdIaIN4/
 oBbL8NrQNWfODieywYyhUoitVhwMz09zmBfLtGVks4vd2jUJk2Fdd9cOtGV5tRfk
 DPndPgyQtbr8W0mKovV8sT9WkQeV5TsUr4MLgf7hjnAGYQ8+0KamkzzVVLBeBiiw
 uazyrOCFkddZp+N7KbmbOmazV/yULRuLGgDjVKazoCsOaKOvoGCzrCk7daOPy6Q=
 =CegX
 -----END PGP SIGNATURE-----

Merge tag 'v4.6-rc7' into drm-next

Merge this back as we've built up a fair few conflicts, and I have
some newer trees to pull in.
2016-05-09 13:49:56 +10:00
Priit Laes
068655dc9b ARM: sun7i: dt: Add pll3 and pll7 clocks
Enable pll3 and pll7 clocks that are needed by display clocks.

Signed-off-by: Priit Laes <plaes@plaes.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-05-08 21:09:29 +02:00
Olliver Schinagl
27dd9af6bc ARM: dts: sunxi: Add a olinuxino-lime2-emmc
There are 3 kinds of OLinuXino Lime2 boards.
One without any on board storage, one with NAND storage and one with
eMMC storage. This patch adds the eMMC variant of boards.

eMMC storage is different from a regular SD card in that it is soldered
on the board and cannot be changed. Additionally, it shares pins with
the NAND module and with the second SPI port.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
[Maxime: Removed the change log from the commit log]
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-05-08 20:07:55 +02:00
Linus Torvalds
9125aeb3e2 Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm
Pull ARM fixes from Russell King:
 "These are a number of updates to fix a few problems found in the ARM
  nommu code over the last couple of years, caused mostly by changes on
  the mmu side"

* 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm:
  ARM: 8573/1: domain: move {set,get}_domain under config guard
  ARM: 8572/1: nommu: change memory reserve for the vectors
  ARM: 8571/1: nommu: fix PMSAv7 setup
2016-05-07 08:27:35 -07:00
Linus Torvalds
35cd3f4563 Merge branch 'for-4.6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
Pull libata fixes from Tejun Heo:
 "An ahci driver addition and updates to ahci port enable handling for
  some platform devices"

* 'for-4.6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
  ata: add AMD Seattle platform driver
  ARM: dts: apq8064: add ahci ports-implemented mask
  ata: ahci-platform: Add ports-implemented DT bindings.
  libahci: save port map for forced port map
2016-05-07 08:13:42 -07:00
Ingo Molnar
35dc9ec107 Merge branch 'linus' into efi/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-05-07 07:00:07 +02:00
Rafael J. Wysocki
dab2e29402 Merge back new device properties material for v4.7. 2016-05-06 22:07:33 +02:00
Marek Szyprowski
330d12764e ARM: dts: exynos: Add interrupt line to MAX8997 PMIC on exynos4210-trats
MAX8997 PMIC requires interrupt and fails probing without it.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Fixes: d105f0b1215d ("ARM: dts: Add basic dts file for Samsung Trats board")
Cc: <stable@vger.kernel.org>
[k.kozlowski: Write commit message, add CC-stable]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-05-06 16:01:32 +02:00
Marek Szyprowski
44ad5e1fd1 ARM: dts: exynos: Fix regulator name to avoid forbidden character on exynos4210-trats
The usage of slash character causes failure when creating regulator
debugfs entry.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
[k.kozlowski: Write commit message]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-05-06 16:01:31 +02:00
Javier Martinez Canillas
7c44e9117f ARM: dts: exynos: Add MFC memory banks for Peach boards
The MFC nodes with the memory regions reserved for memory allocations
are missing in the Exynos5420 Peach Pit and Exynos5800 Peach Pi DTS.

This causes the s5p-mfc driver probe to fail with the following error:

[    4.140647] s5p_mfc_alloc_memdevs:1072: Failed to declare coherent memory for MFC device
[    4.216163] s5p-mfc: probe of 11000000.codec failed with error -12

Add the missing nodes so the driver probes and the {en,de}coder video
nodes are registered correctly:

[    4.096277] s5p-mfc 11000000.codec: decoder registered as /dev/video4
[    4.102282] s5p-mfc 11000000.codec: encoder registered as /dev/video5

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-05-06 16:00:58 +02:00
Marek Vasut
c047baadb0 ARM: at91: sama5: Update defconfig
Enable CGROUPS support, so we can boot userspace that uses systemd on
top of kernel configured using this defconfig. The systemd userspace
depends on cgroups and without them, it dies in mysterious ways.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Ludovic Desroches <ludovic.desroches@atmel.com>
Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2016-05-06 15:53:04 +02:00
Mike Williams
00bf4f78b5 ARM: dts: at91: sama5d4: add trng node
Add node to support SAMA5D4 hardware random number generator.

Signed-off-by: Mike Williams <mike@mikebwilliams.com>
[nicolas.ferre@atmel.com: reduce the register map size]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2016-05-06 15:42:53 +02:00
Mike Williams
206d6c5dfc ARM: dts: at91: sama5d3: add trng node
Add node to support SAMA5D3 hardware random number generator.

Signed-off-by: Mike Williams <mike@mikebwilliams.com>
[nicolas.ferre@atmel.com: reduce the register map size]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2016-05-06 15:41:52 +02:00
Mike Williams
02eb8d6827 ARM: dts: at91: sama5d2: add trng node
Add node to support SAMA5D2 hardware random number generator.

Signed-off-by: Mike Williams <mike@mikebwilliams.com>
[nicolas.ferre@atmel.com: reduce the register map size]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2016-05-06 15:35:28 +02:00
Nicolas Ferre
0e230593b8 ARM: dts: at91: at91sam9g45 family: reduce the trng register map size
No need to map 0x4000 bytes for the TRNG device: reduce it to 0x100.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2016-05-06 15:35:00 +02:00
Linus Torvalds
9caa7e7848 Merge branch 'akpm' (patches from Andrew)
Merge fixes from Andrew Morton:
 "14 fixes"

* emailed patches from Andrew Morton <akpm@linux-foundation.org>:
  byteswap: try to avoid __builtin_constant_p gcc bug
  lib/stackdepot: avoid to return 0 handle
  mm: fix kcompactd hang during memory offlining
  modpost: fix module autoloading for OF devices with generic compatible property
  proc: prevent accessing /proc/<PID>/environ until it's ready
  mm/zswap: provide unique zpool name
  mm: thp: kvm: fix memory corruption in KVM with THP enabled
  MAINTAINERS: fix Rajendra Nayak's address
  mm, cma: prevent nr_isolated_* counters from going negative
  mm: update min_free_kbytes from khugepaged after core initialization
  huge pagecache: mmap_sem is unlocked when truncation splits pmd
  rapidio/mport_cdev: fix uapi type definitions
  mm: memcontrol: let v2 cgroups follow changes in system swappiness
  mm: thp: correct split_huge_pages file permission
2016-05-05 20:48:35 -07:00
Andrea Arcangeli
127393fbe5 mm: thp: kvm: fix memory corruption in KVM with THP enabled
After the THP refcounting change, obtaining a compound pages from
get_user_pages() no longer allows us to assume the entire compound page
is immediately mappable from a secondary MMU.

A secondary MMU doesn't want to call get_user_pages() more than once for
each compound page, in order to know if it can map the whole compound
page.  So a secondary MMU needs to know from a single get_user_pages()
invocation when it can map immediately the entire compound page to avoid
a flood of unnecessary secondary MMU faults and spurious
atomic_inc()/atomic_dec() (pages don't have to be pinned by MMU notifier
users).

Ideally instead of the page->_mapcount < 1 check, get_user_pages()
should return the granularity of the "page" mapping in the "mm" passed
to get_user_pages().  However it's non trivial change to pass the "pmd"
status belonging to the "mm" walked by get_user_pages up the stack (up
to the caller of get_user_pages).  So the fix just checks if there is
not a single pte mapping on the page returned by get_user_pages, and in
turn if the caller can assume that the whole compound page is mapped in
the current "mm" (in a pmd_trans_huge()).  In such case the entire
compound page is safe to map into the secondary MMU without additional
get_user_pages() calls on the surrounding tail/head pages.  In addition
of being faster, not having to run other get_user_pages() calls also
reduces the memory footprint of the secondary MMU fault in case the pmd
split happened as result of memory pressure.

Without this fix after a MADV_DONTNEED (like invoked by QEMU during
postcopy live migration or balloning) or after generic swapping (with a
failure in split_huge_page() that would only result in pmd splitting and
not a physical page split), KVM would map the whole compound page into
the shadow pagetables, despite regular faults or userfaults (like
UFFDIO_COPY) may map regular pages into the primary MMU as result of the
pte faults, leading to the guest mode and userland mode going out of
sync and not working on the same memory at all times.

Any other secondary MMU notifier manager (KVM is just one of the many
MMU notifier users) will need the same information if it doesn't want to
run a flood of get_user_pages_fast and it can support multiple
granularity in the secondary MMU mappings, so I think it is justified to
be exposed not just to KVM.

The other option would be to move transparent_hugepage_adjust to
mm/huge_memory.c but that currently has all kind of KVM data structures
in it, so it's definitely not a cut-and-paste work, so I couldn't do a
fix as cleaner as this one for 4.6.

Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: "Li, Liang Z" <liang.z.li@intel.com>
Cc: Amit Shah <amit.shah@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-05-05 17:38:53 -07:00
Linus Torvalds
c4781a8df9 Here are a couple last-minute fixes for ARM SoCs. Most of them
are for the OMAP platforms, quoting Tony Lindgren:
 
     Fixes for omaps for v4.6-rc cycle. All dts fixes, mostly
     affecting voltages and pinctrl for various device drivers:
 
     - Regulator minimum voltage fixes for omap5
     - ISP syscon register offset fix for omap3
     - Fix regulator initial modes for n900
     - Fix omap5 pinctrl wkup instance size
 
 The rest are all for different platforms:
 
 - Allwinner:
    Remove incorrect constraints from a dcdc1 regulator
 
 - Alltera SoCFPGA:
   Fix compilation in thumb2 mode
 
 - Samsung exynos:
   Fix a potential oops in the pm-domain error handling
 
 - Davinci:
   Avoid a link error if NVMEM is disabled
 
 - Renesas:
   Do not mark an external uart clock as disabled, to allow
   probing the uarts
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIVAwUAVyud6WCrR//JCVInAQKhXBAAir8+FCYQGLzwFQrCHTRa6zJq0sGUOLss
 DBawxezSxtcz9LYn2s9EI5W7yqs/vtjILNTtV3bNNHZTrn/cE8Jpvo+kjNK096PP
 3m0LS20pbGV/629JXiuf55pWugoXUvQNP4kTcuW8dQzQWWuzv2QfJwtW776Q8rOQ
 ZRvh6uUsCgsc6JCCnZESVAnWQ7VA5YpTpZRhokhogdU0r6VTuHfOf8NPD10kiel+
 jpayjC852MPJtS+1JI/d9vIydsSPHbfS8lkVp0rX7oep/Xjp6C3HGSNH+KkLTjXf
 9q6uVm21Kko24wd3RAFYNFshNmD80j+BQJN+59gx7jUnQsVA+WZkNlKSPD1svf+R
 9Ym+fGVn+UgsU/rSW+hhTYft7ao6Tud+W80QARFgWX6B3E3xF/ExJ9TE07hg0sK7
 b+JZAFoSnEut6yTq5g99/YdvDLfqANPo3f3968bl18rKh15Iso/u177KR3cbMPBw
 rKFXg9fkmjd3g5mUUekYvaEKbb+bEeLaAT+2Cri3diSW7odTzsLQSXELS0UTOWfx
 TLTJSkmgxvABhdZZPQscHBvxwXPGQO8S479GGXG2xcI+tiT7ZDJPZeVm0P99B8WB
 Y2VjTjuc49ZALrzT93nY9nInyjhzI5NsnccG5Khw+qoxlZ3+H+N2tVkhwt6+FNcg
 vl8vcFbj9hM=
 =ymz3
 -----END PGP SIGNATURE-----

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

Pull ARM SoC fixes from Arnd Bergmann:
 "Here are a couple last-minute fixes for ARM SoCs.  Most of them are
  for the OMAP platforms, the rest are all for different platforms.

  OMAP:
     All dts fixes, mostly affecting voltages and pinctrl for various
     device drivers:

      - Regulator minimum voltage fixes for omap5
      - ISP syscon register offset fix for omap3
      - Fix regulator initial modes for n900
      - Fix omap5 pinctrl wkup instance size

  Allwinner:
     Remove incorrect constraints from a dcdc1 regulator

  Alltera SoCFPGA:
     Fix compilation in thumb2 mode

  Samsung exynos:
     Fix a potential oops in the pm-domain error handling

  Davinci:
     Avoid a link error if NVMEM is disabled

  Renesas:
     Do not mark an external uart clock as disabled, to allow probing
     the uarts"

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  ARM: davinci: only use NVMEM when available
  ARM: SoCFPGA: Fix secondary CPU startup in thumb2 kernel
  ARM: dts: omap5: fix range of permitted wakeup pinmux registers
  ARM: dts: omap3-n900: Specify peripherals LDO regulators initial mode
  ARM: dts: omap3: Fix ISP syscon register offset
  ARM: dts: omap5-cm-t54: fix ldo1_reg and ldo4_reg ranges
  ARM: dts: omap5-board-common: fix ldo1_reg and ldo4_reg ranges
  arm64: dts: r8a7795: Don't disable referenced optional scif clock
  ARM: EXYNOS: Properly skip unitialized parent clock in power domain on
  ARM: dts: sun8i-q8-common: Do not set constraints on dc1sw regulator
2016-05-05 15:31:35 -07:00
Boris Brezillon
e5b2d30e42 mtd: nand: sharpsl: switch to mtd_ooblayout_ops
Implementing the mtd_ooblayout_ops interface is the new way of exposing
ECC/OOB layout to MTD users.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
2016-05-05 23:51:36 +02:00
Masahiro Yamada
6427a840ff ARM: 8567/1: cache-uniphier: activate ways for secondary CPUs
This outer cache allows to control active ways independently for
each CPU, but currently nothing is done for secondary CPUs.  In
other words, all the ways are locked for secondary CPUs by default.
This commit fixes it to fully bring out the performance of this
outer cache.

There would be two possible ways to achieve this:

[1] Each CPU initializes active ways for itself.  This can be done
    via the SSCLPDAWCR register.  This is a banked register, so each
    CPU sees a different instance of the register for its own.

[2] The master CPU initializes active ways for all the CPUs.  This
    is available via SSCDAWCARMR(N) registers, where all instances
    of SSCLPDAWCR are mirrored.  They are mapped at the address
    SSCDAWCARMR + 4 * N, where N is the CPU number.

The outer cache frame work does not support a per-CPU init callback.
So this commit adopts [2]; the master CPU iterates over possible CPUs
setting up SSCDAWCARMR(N) registers.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-05-05 19:03:39 +01:00
Vladimir Murzin
ec953b70f3 ARM: 8573/1: domain: move {set,get}_domain under config guard
Recursive undefined instrcution falut is seen with R-class taking an
exception. The reson for that is __show_regs() tries to get domain
information, but domains is not available on !MMU cores, like R/M
class.

Fix it by puting {set,get}_domain functions under CONFIG_CPU_CP15_MMU
guard and providing stubs for the case where domains is not supported.

Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-05-05 19:03:02 +01:00
Jean-Philippe Brucker
5b526bd925 ARM: 8572/1: nommu: change memory reserve for the vectors
Commit 19accfd3 (ARM: move vector stubs) moved the vector stubs in an
additional page above the base vector one. This change wasn't taken into
account by the nommu memreserve.
This patch ensures that the kernel won't overwrite any vector stub on
nommu.

[changed the MPU side too]

Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-05-05 19:03:02 +01:00
Jean-Philippe Brucker
695665b0c5 ARM: 8571/1: nommu: fix PMSAv7 setup
Commit 1c2f87c (ARM: 8025/1: Get rid of meminfo) broke the support for
MPU on ARMv7-R. This patch adapts the code inside CONFIG_ARM_MPU to use
memblocks appropriately.

MPU initialisation only uses the first memory region, and removes all
subsequent ones. Because looping over all regions that need removal is
inefficient, and memblock_remove already handles memory ranges, we can
flatten the 'for_each_memblock' part.

Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-05-05 19:03:01 +01:00
Brad Mouring
204932dfc8 ARM: 8569/1: pl2x0: Add OF control of cache power management
Add ability to override power management bits of 310 controllers
(dynamic clock gating and standby mode) through OF entries. As the
saved register is only applied when working on a supported controller,
it is safe to save the settings.

In order to maintain existing behavior, if the settings are not found
in the DT, the corresponding feature will be enabled.

Signed-off-by: Brad Mouring <brad.mouring@ni.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-05-05 19:02:10 +01:00
Jisheng Zhang
953efb2b86 ARM: 8568/1: reboot: remove duplicated local_irq_disable()
Once entering machine_halt() and machine_restart(), local_irq_disable()
is called, and local irq is kept disabled, so the local_irq_disable()
at the end of these two functions are not necessary, remove it.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-05-05 19:02:09 +01:00
Ingo Molnar
1a618c2cfe Merge branch 'perf/urgent' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-05-05 10:12:37 +02:00
Ingo Molnar
64b7aad579 Merge branch 'sched/urgent' into sched/core, to pick up fixes before applying new changes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-05-05 09:01:49 +02:00